Install and run BangDB server 2.0

Install

Step 1

You may get the BangDB using of one of these four ways:

  1. Pick and take the tar file from the download page
  2. Clone the BangDB public Github repo
  3. Simply use wget.
    wget https://bangdb.com/downloads/bangdb_2.0_<"os_name_version">.tar.gz
  4. Or, use the Docker Image

Option A, B & C

Eventually all these three options gives you a tar file and we can install using it.
Following are the names of the binary, you may directly download using wget

Ubuntu 16

wget https://bangdb.com/downloads/bangdb_2.0_ubuntu16.tar.gz

Ubuntu 18

wget https://bangdb.com/downloads/bangdb_2.0_ubuntu18.tar.gz

Ubuntu 20

wget https://bangdb.com/downloads/bangdb_2.0_ubuntu20.tar.gz

CentOS 7

wget https://bangdb.com/downloads/bangdb_2.0_centos7.tar.gz

CentOS 8

wget https://bangdb.com/downloads/bangdb_2.0_centos8.tar.gz

RHEL 8

wget https://bangdb.com/downloads/bangdb_2.0_rhel8.tar.gz

The downloaded tar file will be like this (for Ubuntu 18 bangdb_2.0_ubuntu18.tar.gz)
Untar this file

tar -xzvf bangdb_2.0_ubuntu18.tar.gz

Step 2

cd bangdb_2.0_ubuntu18

You will find README here, which has the steps to install and run the BangDB server, must follow the steps provided in the README.

Run the install.sh file (May run for few min and finally everything should be set up)

bash install.sh

Step 3

Run the server There are two ways to run the server, using the server binary directly OR using the helper script

Let's use helper script

./bangdb-server start

This will run the server in background You may check the status of BangDB server using

./bangdb-server status
Status 'bangdb-server-2.0' : Running

And you may stop the server by

./bangdb-server stop

That's it.

You can also directly run bangdb-server using the binary, it will allow you to provide command line argument as well. This allows user to have more control on how server may run by using command line arguments.

However, all of these arguments could be configured by editing the bangdb.config file and use above mentioned helper script. Hence if you use script then these should be set in bangdb.config. See bangdb.config for more details.

It is super important to learn this if you wish to have more control on how server is run To run the server using this option, you need to go to bin folder and run the server that's it.

cd bin
./bangdb-server-2.0

use -help command line arg to see all the options

./bangdb-server-2.0 -help

There are few parameters that should be set and please see bangdb config page to learn more.

This is default mode of running the server and kindly see bangdb config page to learn various configurations and also running servers with added features. Next you should run cli and the test benchmark and check all is fine. Use the cli

cd cli
./bangdb-cli-2.0

To see the tables

show tables

To see BangDB servertype

show servertype

To see BangDB help

help

To see help for BangDB Stream

help stream 
//so on...

BangDB cli is quite comprehensive and supports all activities that we can perform on BangDB, from DDL to DML to some admin tasks. See the bangdb cli page for lot more details.

Run test benchmark and test. Run bench to see all is good and also typical throughput for the server. Please note this gives bare minimum throughput data as single client runs, to check actual IOPS, pls see benchmark Make sure server is running or

Run the server

./bangdb-server start

Go to bench folder, let's go to cpp folder for now

cd bench/server_cpp

Build the test

bash build.sh

This will build a bench file, now run the bench

./bench

It will run simple put, get and scan and it's throughput Now run the java test, from main folder

cd bench/server_java

Compile

bash make-app.sh

Run

bash exapp.sh
//so on...

To do proper benchmark, we need to set up the config properly and also use a server which has minimum of 8GB RAM and 4 Cores. YCSB benchmark can also be set up and run. This would allow user to compare the number vis-a-vis other dbs.

You may use bangdb clients to write powerful application to enable some of the use cases. BangDB clients allows you to write highly efficient, high performance and scalable apps due to its own messaging framework, servers architecture and ability to handle high volume with speed at ease from tens of thousands of connections.