QuestDB is an open-source column-oriented time-series database written in Java and C++ with a SQL query interface. Data is stored in columnar files partitioned by time, which enables sequential I/O, vectorized execution, and SIMD-accelerated aggregations over large ranges of contiguous samples.
Tables in QuestDB have a designated timestamp column and are laid out on disk as one file per column per partition (by day, hour, or month). Writes are append-friendly and support out-of-order ingestion through a commit-time merge step, which matters for real-world telemetry where samples arrive late. The ingestion path accepts the InfluxDB Line Protocol over TCP/UDP/HTTP for high-throughput inserts, the PostgreSQL wire protocol for standard clients, and a REST API. Reads use a Postgres-compatible dialect with time-series extensions: SAMPLE BY for time bucketing, LATEST ON for last-value-per-series, and ASOF JOIN for aligning two series by nearest timestamp without exact-match joins.
QuestDB is commonly deployed for financial tick data, IoT telemetry, infrastructure metrics, and application observability, often as an alternative to InfluxDB, TimescaleDB, or ClickHouse when the workload is dominated by high-cardinality time-ordered writes and point-in-time analytical queries. It is Apache-2.0 licensed, with a Cloud offering for managed deployments and a community edition built as a single Java binary.