bg
Developing with BangDB – Embedded – BangDB = NoSQL + AI + Stream

Developing with BangDB – Embedded

chevron

Developing with BangDB

Embedded

C++

Selected

Java

Selected

To get started with BangDB, we need to create database and table(s) 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.

Note: The client code or the user code is to large extent (~95% of code) is same across all different modes/flavours of BangDB. For ex; if we write our app in C++ for embedded, then we can run the same code for server or for distributed BangDB with less than 5% of code changes. The changes are only limited to the way we get database instance and close the instance. Everything else, more or less remains constant across different BangDB flavours.
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;
// types BangDBDatabase BangDBTable BangDBMLHelper BangDBStreamManager BangDBNotificationManager DBParam TableEnv ScanFilter DataQuery // enums OpenType CloseType TableType KeyType ScanOperator JoinOperator
Please see the useful types & enums for more info on this

Then BangDBStreamManager 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 BangDBDLHelper. Here as well it provides simple APIs to deal with to do complex stuff in the area of deep learning

BangDBNotificationManager can be used as well, explicitly or implicitly. When we deal with streaming and notifications for interesting patters, we use notification manager implicitly (through stream manager)

To get started with BangDB, we need to create database and table(s) 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.

Note: The client code or the user code is to large extent (~95% of code) is same across all different modes/flavors of BangDB. For ex; if we write our app in Java for embedded, then we can run the same code for server or for distributed BangDB with less than 5% of code changes. The changes are only limited to the way we get database instance and close the instance. Everything else, more or less remains constant across different BangDB flavours.
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;
// types DBParam TableEnv ScanFilter DataQuery // enums OpenType CloseType TableType KeyType ScanOperator JoinOperator
Please see the useful types & enums for more info on this

Then BangDBStreamManager is another type which abstracts all details and provide simple way to work with streaming data for timeseries 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 BangDBDLHelper. Here as well it provides simple APIs to deal with to do complex stuff in the area of deep learning

BangDBNotificationManager can be used as well, explicitly or implicitly. When we deal with streaming and notifications for interesting patters, we use notification manager implicitly (through stream manager)