To get started with BangDB, we need to create database and tables at the minimum. Basic operations, while developing with BangDB are around tables since we do all data modification, retrieval using table only. Therefore database and tables are two most important types to work with and most of the time developers will deal with these two types.

This is very convenient and simplifies the development process. Since it's very easy to develop, test, debug with embedded BangDB, it is always faster and easier to do so at the development level. Once it's build and tested, we can simply take the code and run it for server or distributed BangDB.

Another important thing would be to get familiar with following enums and types as they are used most of the places:


  • BangDBDatabase
  • BangDBTable
  • BangDBMLHelper
  • BangDBStreamManager
  • BangDBNotificationManager
  • DBParam
  • Table
  • Env
  • ScanFilter
  • DataQuery


  • OpenType
  • CloseType
  • TableType
  • KeyType
  • ScanOperator
  • JoinOperator

Please see the useful types & enums for more info on this.

Then BangDB Stream Manager is another type which abstracts all details and provide simple way to work with streaming data for time-series analysis. User will be working with this when it comes to the streaming use cases. There is no table concept here but with very few APIs, most of the task could be achieved in simple manner.

To work with ML and IE, user may use BangDBMLHelper. This again hides all complexity and provides very few simple API to do all the job.

To deal with deep learning, BangDB has BangDB DL Helper. Here as well it provides simple APIs to deal with to do complex stuff in the area of deep learning. BangDB Notification Manager can be used as well, explicitly or implicitly. When we deal with streaming and notifications for interesting patterns, we use notification manager implicitly (through stream manager).