leo_backend_db is a wrapper library for Basho bitcask, Basho eleveldb and Erlang ETS. They are used as local KVS in LeoFS.
Erlang Makefile Shell
Pull request Compare This branch is 3 commits behind develop.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
include
priv
src
test
.gitignore
.travis.yml
AUTHORS
LICENSE
Makefile
README.md
dialyzer.ignore-warnings
make_rst_doc.sh
rebar
rebar.config
replace_otp_vsn.sh

README.md

leo_backend_db

Build Status

Build Information

  • 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.

Usage

$ 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).
...

Usage in LeoFS

leo_backend_db is used in leo_object_storage and leo_mq.

leo_object_storage

leo_backend_db works to handle the backend database of LeoFS. It manages the stored objects in LeoFS.

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 is sponsored by Rakuten, Inc. and supported by Rakuten Institute of Technology.