- leo_backend_db is wrapper of local KVS and uses Basho bitcask, Basho eleveldb and Erlang ETS.
- leo_backend_db uses rebar build system. Makefile so that simply running "make" at the top level should work.
- leo_backend_db requires Erlang R16B03-1 or later.
$ git clone git@github.com:leo-project/leo_backend_db.git
$ cd leo_backend_db
$ make
$ mkdir test_db
$ erl -pa ebin deps/*/ebin
Erlang/OTP 17 [erts-6.4] [source] [64-bit] [smp:8:8] [async-threads:10] [kernel-poll:false] [dtrace]
Eshell V6.4 (abort with ^G)
1> leo_backend_db_api:new(test_leveldb, 2, leveldb, "test_db"). # third argument can be one of 'bitcask', 'leveldb', and 'ets'.
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).
...
leo_backend_db is used in leo_object_storage and leo_mq.
leo_backend_db works to handle the backend database of LeoFS. It manages the stored objects in LeoFS.
backend_db is also used to manage message queue among the LeoFS storage nodes.
leo_backend_db's license is "Apache License Version 2.0".
LeoProject/LeoFS is sponsored by Rakuten, Inc. and supported by Rakuten Institute of Technology.