QuestDB is an open-source SQL database designed to process time-series dat. It uses a column-oriented approach, vectorized execution, SIMD instructions.
QuestDB implements SQL, and augments it for time-series. It supports the Postgres and InfluxDB wire protocols,as well as a a REST API. It supports both relational and time-series joins.
QuestDB started as a side project in 2013 by Vlad Ilyushchenko who applied principles from low latency techniques found in the financial services industry. QuestDB is backed by YCombinator.
QuestDB enhances ANSI SQL with time series extensions to manipulate time stamped data.
QuestDB uses a single writer model. The writer re-orders timestamps on the fly. Multi-publisher, single consumer queue provides concurrent write access.
QuestDB uses a column-based storage model. 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.
SIMD-based vector execution of queries.
Memory mapped files data access.
SIMD optimised analytics.
Multi threaded SQL execution.