QuestDB

QuestDB is an open-source, low-latency time-series database engineered from the ground up for high-throughput data ingestion and real-time analytics.

Reviewed by 7wData
API Available

On this page

Publisher review

QuestDB is an open-source, low-latency time-series database engineered from the ground up for high-throughput data ingestion and real-time analytics. Built with a zero-garbage-collection Java core and optimized C++ and Rust components, it addresses a specific problem: traditional databases struggle with the scale and speed required by financial trading, IoT telemetry, and operational monitoring. The database achieved 16+ million rows per second ingestion throughput and sub-10ms query latency on commodity hardware.

QuestDB extends standard SQL with time-series operators like ASOF JOIN, SAMPLE BY, and LATEST ON, eliminating the need to drop down to custom procedural logic. Its three-tier storage architecture automatically tiers data from write-ahead logs (hot) to native columnar storage (warm) to Apache Parquet on object storage (cold), balancing cost and query speed without manual intervention. The open-source version remains fully functional and production-ready, with the Enterprise edition adding high-availability replication, multi-AZ resilience, role-based access, and 24/7 support.

Critically, QuestDB avoids vendor lock-in by using standard formats—Parquet for cold storage means your historical data remains queryable via any tool that reads Parquet, even if you later switch databases. This matters for organizations that have had painful database migrations before.

Get the AI & data signal, daily.

335k+ subscribers read this every morning. One email, both newsletters. Unsubscribe anytime.

How it works

  1. Native time-series SQL operators

    ASOF JOIN, SAMPLE BY, LATEST ON, and WINDOW JOIN let you express time-series logic directly in SQL without procedural loops or post-processing.

  2. Multi-protocol ingestion

    Accepts data via InfluxDB line protocol, PostgreSQL wire protocol, REST API, and custom TCP socket, making it easier to drop in as a replacement.

  3. Three-tier auto-tiering storage

    Write-ahead logs feed into native columnar partitions, then automatically age into compressed Parquet on object storage, reducing operational overhead.

  4. High-cardinality support

    Handles millions of distinct time-series tags without performance degradation, unlike row-oriented competitors that face exponential slowdown.

  5. Materialized views and continuous aggregates

    Pre-compute rolling aggregations or downsampled data automatically, letting dashboards and reports query pre-baked summaries instead of raw data.

  6. Out-of-order ingestion tolerance

    Accepts data arriving late or out of sequence without requiring backfill logic or data rewrites.

  7. Parquet export and cold query

    Cold data is stored in standard Apache Parquet; query it in-place via QuestDB or bypass QuestDB entirely and read directly with Pandas, DuckDB, or any arrow-compatible tool.

Strengths and trade-offs

Strengths

  • 16–36x faster ingestion than InfluxDB 3.0; 6–13x faster than TimescaleDB on benchmarks published by independent sources.
  • Avoids vendor lock-in: cold data in standard Parquet means historical records remain readable without QuestDB.
  • Open-source and enterprise versions share the same codebase, so you're not adopting a hobbled OSS fork.

Trade-offs

  • Smaller ecosystem than PostgreSQL-based TimescaleDB; fewer third-party tools, integrations, and personnel with production experience.
  • Lacks advanced AI/vector features that TimescaleDB is rapidly adding (pgai, pgvector); not a drop-in replacement if you need embedding search.
  • Scaling still favors vertical (bigger nodes) over horizontal; distributed query engine is under development but not yet production-ready.

Pricing context

QuestDB open source is free under Apache 2.0. Enterprise pricing is not publicly listed and requires contacting sales; it covers high-availability replication, role-based access, encryption, distributed queries, and 24/7 support. No usage-based metering or per-row charges are advertised; pricing appears to be per-node or per-cluster annual/monthly licensing. Small teams and individual developers use the free open-source version in production without paying; paid support is optional.

Getting started with QuestDB

  1. Download and run QuestDB

    Download the latest QuestDB binary from the official website or pull the Docker image with `docker pull questdb/questdb`. Run the container or execute the binary; the web console opens at `http://localhost:9000` by default.

  2. Connect your data source

    Configure your application to send data using InfluxDB line protocol, PostgreSQL wire protocol, or the REST API. For example, set the InfluxDB endpoint to `http://localhost:9000/write` and specify your table and tags in the line protocol format.

  3. Define a table schema

    Create a table with a designated timestamp column using SQL: `CREATE TABLE trades (symbol SYMBOL, price DOUBLE, timestamp TIMESTAMP) TIMESTAMP(timestamp) PARTITION BY DAY;`. QuestDB automatically partitions and indexes the time column.

  4. Run a time-series query

    Execute a SAMPLE BY query to aggregate data over time intervals: `SELECT symbol, avg(price) FROM trades WHERE timestamp > now() - 1h SAMPLE BY 1m;`. This returns one-minute average prices without procedural code.

  5. Schedule automatic tiering

    Set the `cairo.partition.aging.seconds` property in the server configuration to automatically move old partitions from native storage to Parquet on object storage. For example, set it to 604800 to tier data older than one week.

Frequently Asked Questions

What is QuestDB and what is it used for?

QuestDB is an open-source, low-latency time-series database designed for high-throughput data ingestion and real-time analytics. It handles large volumes of time-stamped data from financial trading, IoT telemetry, and operational monitoring, offering sub-10ms query latency on commodity hardware.

How does QuestDB compare to InfluxDB and TimescaleDB?

Independent benchmarks show QuestDB is 16 to 36 times faster at ingestion than InfluxDB 3.0 and 6 to 13 times faster than TimescaleDB. It also handles high-cardinality data better than row-oriented competitors, though it has a smaller ecosystem than TimescaleDB.

What time-series SQL operators does QuestDB offer?

QuestDB extends standard SQL with native time-series operators like ASOF JOIN, SAMPLE BY, LATEST ON, and WINDOW JOIN. These let you express time-series logic directly in SQL without needing procedural loops or custom code, simplifying real-time analytics and data aggregation.

How does QuestDB's three-tier storage work?

QuestDB uses a three-tier auto-tiering storage system. Write-ahead logs hold hot data, native columnar partitions store warm data, and cold data automatically ages into compressed Apache Parquet on object storage. This balances cost and query speed without manual intervention.

Does QuestDB avoid vendor lock-in?

Yes, QuestDB stores cold data in standard Apache Parquet format. This means your historical records remain queryable via any tool that reads Parquet, like Pandas or DuckDB, even if you switch databases later. This avoids painful migrations common with proprietary formats.

What is QuestDB's pricing model?

QuestDB open source is free under Apache 2.0 and production-ready. Enterprise pricing requires contacting sales and covers high-availability replication, role-based access, encryption, and 24/7 support. There are no per-row charges, and small teams can use the free version in production.

Alternatives in this category

How QuestDB compares

Direct head-to-head against 2 competitors. Picked by 7wData.

This tool

QuestDB

Pricing
QuestDB open source is free under Apache 2.0. Enterprise pricing is not publicly listed and requires contacting sales; it covers high-availability replication, role-based access, encryption, distributed queries, and 24/7 support. No usage-based metering or per-row charges are advertised; pricing appears to be per-node or per-cluster annual/monthly licensing. Small teams and individual developers use the free open-source version in production without paying; paid support is optional.
Target
QuestDB is an open-source, low-latency time-series database engineered from the ground up for high-throughput data ingestion and real-time analytics.
Strength
16–36x faster ingestion than InfluxDB 3.0; 6–13x faster than TimescaleDB on benchmarks published by independent sources.
Watch for
Smaller ecosystem than PostgreSQL-based TimescaleDB; fewer third-party tools, integrations, and personnel with production experience.

InfluxDB

Pricing
InfluxDB Cloud starts at $0; self-hosted InfluxDB OSS free; Enterprise custom.
Target
Metrics, observability, IoT, and real-time analytics workloads.
Deployment
Cloud, self-hosted, hybrid.
Strength
Mature ecosystem with Telegraf, Chronograf, Kapacitor integrations.
Watch for
InfluxDB 3.0 rewrite; Flux deprecated; licensing history causes uncertainty.

TimescaleDB

Pricing
TimescaleDB Cloud starts at $30/month; self-hosted free; Enterprise custom.
Target
PostgreSQL users needing time-series with full SQL and relational joins.
Deployment
Cloud, self-hosted, managed.
Strength
Built on PostgreSQL, enabling standard SQL and existing Postgres tooling.
Watch for
Performance degrades at very high cardinality vs. purpose-built TSDBs.

User reviews

No user reviews yet. Be the first to write one.

Sources

Reporting on this tool draws on these publicly available sources.

  1. questdb.com — Product overview, features (ASOF JOIN, SAMPLE BY, LATEST ON), three-tier storage, deployment options (Docker, Kubernetes, AWS, Azure, GCP)
  2. github.com — Open source, Apache 2.0 license, community size (17,000+ stars, 1.6k forks), architecture (Java/C++/Rust core), ingestion protocols
  3. questdb.com — Performance benchmarks (6–13x faster ingestion, 16–20x faster on analytical queries), architectural differences, trade-offs (OLAP vs OLTP focus)
  4. questdb.com — Comparison with InfluxDB and TimescaleDB, strengths (high-cardinality, Parquet export, time-series operators), weaknesses (smaller ecosystem, limited AI features)
  5. news.ycombinator.com — Y Combinator S20 batch, HackerNews reception, demo performance (20,000+ unique IPs, sub-second responses)
  6. techcrunch.com — Founded 2019 (open-sourced November 2019), $2.3M seed round, co-founders Vlad Ilyushchenko (CTO), Tancrede Collard (CEO), Nicolas Hourcard (CPO)