BangDB as HTTP and TCP server

BangDB as HTTP and TCP server - BangDB

BangDB works as both TCP and HTTP server. Which means same BangDB process can take TCP calls on one port (10101) and HTTP(S) calls on other (18080) at the same time. This is quite powerful as there is no other server in between the client and DB, like in other cases, hence data copy is less, data network hops are less, system bloating is much less, performance is high, deployment is much simpler, and scaling is natural.

BangDB for developer & enterprise

Language

  • Written in C, C++
  • Clients in C/C++, Java, C#*, Python*
  • CLI in C/C++, on Linux and windows

Version - 2.0

  • REST API [ openAPI ]
  • BSD for Embedded and Server
  • Custom for Platform
  • SaaS with Ampere
  • Apps on AppStore

Platform

  • Servers - Linux, Windows*
  • Devices - Raspberry pi

Secure

  • SSL/TLS - secure channel
  • Data encryption - Binary format

Native clients

Native clients are the highest performance means to work with BangDB. It sends and receives data over TCP with BangDB message header and body protocol where the overhead is minimal as compared with even some of the other methods in the market. The connect pool is managed by the clients, with several configurable parameters for simplifying the process and enhancing the performance. The native clients ensure same interface across different libraries and ways, which makes the user's code portable.

BangDB server manages the concurrent tens of thousands of TCP connections, therefore, these clients don't have to worry or manage these things. The network error handling or retrying etc. are all built into these clients. The clients are available in C, C++, Java, C# as of now and we will be adding python in coming months.

CLI

Command line interface is another tool for connecting with the databases. In fact, CLI supports all the functionalities in the BangDB. Which means we can do possibly everything we can do with native clients or Ampere. CLI also offers workflows for certain activities where user inputs in a logical sequential manner would be appreciated, like UI. The CLI also can draw charts within the terminal, which is quite cool feature.

REST API

All actions and features are also supported by the REST API. Since BangDB works as the TCP and REST server at the same time, on two different ports for the same server process, therefore, it's quite efficient to use REST API and TCP based calls from different clients or interfaces as required. The REST API detail docs on Swagger and Postman is documented here and there is a separate doc on REST API details for reference.

Ampere

Ampere is UI based no-code platform for the BangDB. This is the simplest and most powerful interface for non-tech users to deal with BangDB. Ampere is SaaS platform on cloud built on top of BangDB. More information on Ampere is detailed out here.

License

BangDB community download - BSD III license

BangDB SaaS - Community, Basic and Enterprise

BangDB Platform - Enterprise

Apps - Basic