# QuestDB

> Time-series database with SQL and millisecond query latency

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.

Website: https://questdb.com

## Use it when

- High-rate time-series ingest (market data, sensors, metrics) must stay queryable at millisecond latency.
- SQL is the requirement, but with time-series done properly: SAMPLE BY, LATEST ON, and ASOF and WINDOW joins.
- Predictable tail latency matters more than peak throughput.
- PostgreSQL wire compatibility should keep existing drivers working.

## Think twice when

- Row deletes and TTLs are needed; individual rows cannot be deleted, only partitions dropped.
- Scale-out is the plan; the open-source server is single-node, with replication and tiering reserved for Enterprise.
- Queries filter heavily on columns that are neither symbols nor time; only SYMBOL columns carry an index, so those queries scan.
- The wider job is general analytics; ClickHouse and TimescaleDB cover broader ground.

## How it runs

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.

## Details

### General

| Attribute | Value |
| --- | --- |
| License | Open source (permissive) |
| SPDX identifier | Apache-2.0 |
| Deployment | Self-hosted, Managed, Hybrid |
| Workload | Interactive, Streaming |
| Operational complexity | Low |
| Pricing | Free, Subscription |
| Language | Java, C++, Rust |
| Repository | https://github.com/questdb/questdb |
| Documentation | https://questdb.com/docs/ |
| Stars | 17.3k |

### OLAP Engines

| Attribute | Value |
| --- | --- |
| 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 |
| Concurrent users | Moderate: one node's worker pools; Enterprise adds read replicas |

## Capabilities

- [OLAP Engines](https://matca.io/capabilities/olap-engine)

---

Source: https://matca.io/questdb
Last updated: 2026-08-31T11:40:49.176Z
