bg
YCSB – BangDB = NoSQL + AI + Stream

YCSB Benchmark for BangDB

The Yahoo! Cloud Serving Benchmark (YCSB) is an open-source specification and program suite for evaluating retrieval and maintenance capabilities of computer programs. It is often used to compare relative performance of NoSQL database management systems.

YCSB provides a framework along with several workloads that could be run to evaluate the performance and throughput of the db in respective different scenarios. See https://github.com/brianfrankcooper/YCSB/wiki/Core-Workloads to know more about the workloads

Each of these workload test runs in two steps,
1. Load and
2. Run.
Load stage is to load the data and then run stage we run the test.

This section, we will go through how to set up YCSB test bench on your machine and then look into the results of the test as compared with other dbs (mongo and redis) vis a vis bangdb

How to set up and run ycsb test for BangDB

Step 1

Take BangDB 2.0 from https://bangdb.com/download or from github (https://github.com/sachin-sinha/BangDB/tree/master/v2.0/bangdb)
Checkout getting started section or github to install the BangDB

Step 2

Checkout YCSB code from https://github.com/brianfrankcooper/YCSB

Step 3

Create folder name "bangdb" under ycsb/ folder
Take the YCSB BangDB folder/code from https://github.com/sachin-sinha/BangDB/tree/master/ycsb
Copy the bangdb folder under ycsb base folder (along with other dbs)

> cd ycsb
> mkdir bangdb
> cp [BangDB_Folder]/ycsb/* bangdb/
Step 4

Edit YCSB pom.xml add following in respective sections; at the right place (sorted alphabetically)
<bangdb.version>2.0.0</bangdb.version>
<module>bangdb</module>
Edit bin/ycsb file and add [ at the right position in alphabetical order ] "bangdb" : "site.ycsb.db.BangdbClient", Step 5

build the binary
> mvn -pl site.ycsb:bangdb-binding -am clean package
That's it. Now we are ready to run the tests.

Load the data
> ./bin/ycsb load bangdb -threads 128 -s -P workloads/workloada

Run the workload
> ./bin/ycsb run bangdb -threads 128 -s -P workloads/workloada


See the README under bangdb folder to see more details.