QuestDB is an open-source time-series database with a column-oriented, time-partitioned storage engine and SIMD-vectorized execution, extending SQL with time-series operators like SAMPLE BY and ASOF JOIN.
A single self-hosted node: ILP over HTTP or TCP ingests through a write-ahead log, PostgreSQL wire and REST serve queries, and storage is memory-mapped, time-partitioned columns. Materialized views refresh incrementally on insert. Enterprise adds replication via object-store WAL and Parquet tiering; QuestDB Cloud is managed.
How QuestDB answers the questions OLAP Engines turns on.
| How it works | |
| Specialization | Time-series database built for high-rate ingest and market data |
| SQL dialect | SQL with time-series extensions; PostgreSQL wire |
| Joins | Standard joins plus ASOF, LT, SPLICE and WINDOW time joins |
| Updates and deletes | UPDATE and dedup upserts; no row DELETE, drop partitions or TTL |
| Ingest to queryable | Sub-second: ILP writes commit through the WAL and become visible |
| Storage format | Own column files, time-partitioned; reads Parquet (beta) |
| Compute and storage | Single node; Enterprise replicates via object-store WAL, tiers Parquet |
| Indexes | SYMBOL columns only: bitmap or posting index; partitions prune by time |
| Pre-aggregation | Materialized views on SAMPLE BY, refreshed incrementally on insert |
| Running it | |
| Concurrent users | Moderate: one node's worker pools; Enterprise adds read replicas |
vs QuestDB: Operational complexity: Medium · Java, C++
vs QuestDB: Operational complexity: High · Java
vs QuestDB: Operational complexity: High · Java