Draft:QuestDB

QuestDB is an open-source column-oriented time series database written in Java and C++. Its querying language is SQL-like and adopts a relational model.

Columnar storage
QuestDB uses a column-based storage model and partitions data by time. Data is stored in tables with each column stored in its own file and its own native format. New data is appended to the bottom of each column to allow data to be organically retrieved in the same order that it was ingested.

Off-heap memory management and memory-mapped files
The QuestDB storage engine uses memory-mapped files and off-heap memory for the database to minimize overhead introduced by computer science.

SQL querying language
QuestDB queries are written in SQL. QuestDB attempts to implement standard ANSI SQL and to be compatible with PostgreSQL. QuestDB has built several SQL extensions for time-series data workloads.

Streaming ingestion protocol
The InfluxDB Line Protocol (ILP) is a text protocol introduced by InfluxDB to stream and ingest data. It allows concurrent ingestion from multiple sources into tables and dynamic schemas.

Queries execution
QuestDB’s query engine takes advantage of a columnar data layout, SIMD instructions, and multi-threaded processing.

Official client libraries
QuestDB maintains client libraries in the following programming languages: C/C++, JAVA, Golang, Nodejs, Python, Rust, .Net.