A single datastore node accepts read/write/delete requests from multiple clients over network and persists data using leveldb or sqlite storage driver.
- cmake
- Linux build tool-chain (make, g++, ld etc.)
Development rpms from CentOS & EPEL repos
- thrift-devel
- boost-devel
- leveldb-devel
- vsqlitepp-devel
$ git clone https://github.com/pbera/PeerDB-SingleNode.git
$ mkdir build-PeerDB-SingleNode
$ cd build-PeerDB-SingleNode
$ cmake -DCMAKE_BUILD_TYPE=Debug ../PeerDB-SingleNode/CMakeLists.txt
$ make
$ ./datastore --help
Options:
-v [ --version ] display version string and exit
-h [ --help ] display this help message and exit
-p [ --port ] arg port number to listen on
--driver arg (=leveldb) storage driver (leveldb|sqlite|chord)
--sqlite-file arg (=./sqlite.db) path to sqlite database file
--leveldb-path arg (=./leveldb) path to leveldb database folder
--leveldb-sync [=arg(=1)] (=0) use leveldb in synchronous mode
--chord-port arg port number of the chord node
--chord-ip arg IP address of the chord node
$ ./client --help
Options:
-v [ --version ] display version string and exit
-h [ --help ] display this help message and exit
-p [ --port ] arg datastore server port
-i [ --ip ] arg datastore server IP address
- Common client-side API for data operations from SingleNode server and Overlay Broker nodes
- Logging and Benchmarking (IOPS & Latency) support in clients