Technology Stack

At a high level BlobCity accepts data in 17 different formats. It has one format interpretation engine for each format of data it interprets and stores. The query interface to the database, allows SQL queries over ODBC, REST & CLI. Advanced operations can be performed using Java or Scala based stored procedures and also using BlobCity's own query language called bQuery.

Data inserted is stored in its original form, along with storage of meta data in JSON format. The database internally stores the data and does intelligent query processing to allow for fast analytics and data retrieval. The data can be stored on the disk or in-memory, with in-memory storage being primarily designed to meet some of the most demanding real-time analytics requirements.


BTree Index: Is the most common form of indexing. It stores the columns data in a BTree for organised and fast searches. This is the default indexing type within the database.

Geospatial Index: Primarily used for GIS or GPS data that contains geographic coordinates. The index allows for complex geo queries such as computing distance between place A and place B.

Timeseries Index: Designed to handle timeseries data. It works on write ahead only columns, where data coming from IoT devices, or system logs is sequentially and incrementally timestamped. This special index allows for fast searches over timeseries data.

Hashed Index: Is a BTree index that stores hashed values instead of the actual value. This is suitable for indexing columns that have very large payloads, thereby making them unstable for BTree indexing.