bg
Server – Getting Started – BangDB = NoSQL + AI + Stream

Server – Getting Started

chevron

Get started with BangDB Server

BangDB 2.0 Server is available for following;

1. Arch : x86 2. OS : Ubuntu16, Ubuntu18, Centos7 3. Language : 3.1 Server : C++ 3.2 Client : C++, Java, Python [ upcoming ] 4. License : 4.1 Community : BSD 3 4.2 Enterprise : Custom
Get the BangDB2.0 from github or bangdb download
If you take from GitHub then it downloads all the packages and files which my not be necessary for you, hence it’s preferable to download it from the website if you just want specific binary.
Go to download page and select Network, client server model tab.
Then pick the appropriate binary based on your OS (ubuntu16, ubuntu18 or Centos7)


Name of these server packages/binaries are;
ubuntu18-bangdb-server.tar.gz [ for ubuntu 18 ]
ubuntu16-bangdb-server.tar.gz [ for ubuntu 16 ]
centos7-bangdb-server.tar.gz  [ for Centos7 ]
If you extract these files, you will following dir structure
bangdb-server  [ script file to start | stop | status the server ]
bangdb_udf     [ folder that contains headers to write UDF that can be deployed at run time ]
bench          [ bench folder to run simple benchmark for BangDB ]
bin            [ folder that contains the bangdb-server-2.0 and bangdb.config file ]
cli            [ folder that contains bangdb-cli-2.0, a command line tool for the server ]
helpers        [ some of the helper files for the BangDB, esp related to IE/ML ]
install.sh     [ during install, this script should be run to set up various libs and links ]
jars           [ various jar files needed at runtime, esp for IE ]
lib            [ dlib and mitie libs needed by the server, for IE ]
README         [ some basic info and instructions ]          
Let's see some of the important things here.

1. install.sh: User should run this to get necessary libraries on the server and also to set the links to the libraries present in the lib folder. This required sudo to run. This should be run only once during install

2. bangdb-server: This is the script file for running BangDB server. This allows user to start | status | stop the server. It runs the server in the background.
bangdb-server script runs the BangDB in the background. It also doesn't take any command line arguments. See the command line args or the config important to run the server at bangdb.config page. You may see some logs being flushed to the terminal even when you run the server using this script in the background. To stop this you should change the config file as described in the bangdb.config page
3. bin: bin folder is where the bangdb-server-2.0 binary is present. BangDB needs bangdb.config to run, therefore the default config is also present there.
Note: Default location of bangdb.config is the location of bangdb-server-2.0. If you place bangdb.config somewhere else, then you need to tell BangDB using DBParam type, the location of the config file
4. lib: lib folder is where two libraries, namely dlib and mitie are placed. These are important due to IE (Information Extraction) features supported by BangDB. We can have BanGDB compiled for non IE feature support as well and in that case these libs are not required.

5. jars: jars folder contains the gson, reverb and bangdb-reverb jar files. There are also required for IE only

6. helpers: This folder contains helper files for IE. It has bangdb-reverb exe which is used by BangDB during Information extraction. It also has wordrep exe to generated knowledge base needed for IE. Finally it contains several python files during the IE processes required by the BangDB

7. cli: Cli is a command line tool for BangDB server. This allows users to interact to BangDB for DB, Stream, AI related features. It also allows server configurations, agent setting, configuration and maintenance remotely. It supports SQL like query for db interactions. It also allows users to draw charts in the terminal itself or save the graphs/charts as images on FS

8. bangdb_udf: This folder contains headers for writing user defined functions that could be ingested and installed/used by the server at run time or otherwise.

9. bench: This folder contains bench files that could be compiled and run by the user. See the server bench page for more details