Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/leo-project/leo_backend_db
leo_backend_db is a wrapper library for Basho bitcask, Basho eleveldb and Erlang ETS. They are used as local KVS in LeoFS.
https://github.com/leo-project/leo_backend_db
erlang kvs leofs library
Last synced: about 2 months ago
JSON representation
leo_backend_db is a wrapper library for Basho bitcask, Basho eleveldb and Erlang ETS. They are used as local KVS in LeoFS.
- Host: GitHub
- URL: https://github.com/leo-project/leo_backend_db
- Owner: leo-project
- License: apache-2.0
- Created: 2012-06-06T15:23:53.000Z (over 12 years ago)
- Default Branch: v2
- Last Pushed: 2020-05-31T05:21:55.000Z (over 4 years ago)
- Last Synced: 2024-04-23T14:10:04.000Z (8 months ago)
- Topics: erlang, kvs, leofs, library
- Language: Erlang
- Homepage: http://leo-project.net/leofs
- Size: 1.44 MB
- Stars: 10
- Watchers: 5
- Forks: 8
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
leo_backend_db
==============[![Build Status](https://secure.travis-ci.org/leo-project/leo_backend_db.png?branch=v2)](http://travis-ci.org/leo-project/leo_backend_db)
* **leo_backend_db** is wrapper of local KVS and uses Basho bitcask, Basho eleveldb and Erlang ETS.
* [bitcask](https://github.com/basho/bitcask)
* [eleveldb](https://github.com/basho/eleveldb)
* [Erlang ETS](http://www.erlang.org/doc/man/ets.html)## Build Information
* **leo_backend_db** uses [rebar](https://github.com/basho/rebar) build system. Makefile so that simply running "make" at the top level should work.
* **leo_backend_db** requires Erlang/OTP 19.3 or later.## Usage
```
$ git clone [email protected]:leo-project/leo_backend_db.git
$ cd leo_backend_db
$ make
$ mkdir test_db
$ erl -pa ebin deps/*/ebin
Erlang/OTP 21 [erts-10.3] [source] [64-bit] [smp:12:12] [ds:12:12:10] [async-threads:1] [hipe]Eshell V10.3 (abort with ^G)
1> leo_backend_db_api:new(test_leveldb, 2, leveldb, "test_db").
ok
2> leo_backend_db_api:put(test_leveldb, <<"key1">>, <<"val1">>).
ok
3> leo_backend_db_api:get(test_leveldb, <<"key1">>).
{ok,<<"val1">>}
4> leo_backend_db_api:stop(test_leveldb).
...
```## Usage in LeoFS
**leo_backend_db** is used in [leo_object_storage](https://github.com/leo-project/leo_object_storage) and [leo_mq](https://github.com/leo-project/leo_mq).
### [leo_object_storage](https://github.com/leo-project/leo_object_storage)
**leo_backend_db** works to handle the backend database of LeoFS. It manages the stored objects in LeoFS.
### [leo_mq](https://github.com/leo-project/leo_mq)
**backend_db** is also used to manage message queue among the LeoFS storage nodes.
## Lincense
leo_backend_db's license is "Apache License Version 2.0".
## Sponsors
* LeoProject/LeoFS was sponsored by [Rakuten, Inc.](http://global.rakuten.com/corp/) from 2012 to Dec of 2018.
* LeoProject/LeoFS is sponsored by [Lions Data, Ltd](https://lions-data.com/) from Jan of 2019.