Fast SQL for time-series

Columnar open source time-series database with high performance ingestion and blazingly fast SQL analytics. Self-hosted or fully managed.

Get QuestDBChoose the right product

Performance

  • Ingest 2M rows/s per node
  • Up to 10x faster writes vs InfluxDB
  • Don’t worry about cardinality
  • Columnar storage
  • Data partitioned by time
  • SIMD-optimized queries
See Benchmarks

Developer experience

  • SQL time series extensions
  • Built-in SQL optimizer & REST API
  • PostgreSQL driver compatibility
  • InfluxDB Line Protocol API
  • SQL and time-series joins
  • Grafana integration
See live demo

Enterprise ready

  • TLS for all protocols
  • Hot & cold read replicas
  • Role-based access control
  • Multiple availability zones
  • Data compression
  • Enterprise support SLA
See Enterprise

Try the live demo

Query three large datasets and more than 2 billion rows in milliseconds with SQL

Try QuestDB demo in your browser

See query results  >

Augmented SQL for time series

QuestDB enhances ANSI SQL with time series extensions to manipulate time stamped data

Arrow up icon
SELECT timestamp, tempC
FROM sensors
WHERE timestamp IN '2021-05-14;1M';
-- Search time
SELECT timestamp, tempC
FROM sensors
WHERE timestamp IN '2021-05-14;1M';
SELECT timestamp, avg(tempC)
FROM sensors
SAMPLE BY 5m;
-- Slice time
SELECT timestamp, avg(tempC)
FROM sensors
SAMPLE BY 5m;
SELECT timestamp, sensorName, tempC
FROM sensors
LATEST ON timestamp PARTITION BY sensorName;
-- Navigate time
SELECT timestamp, sensorName, tempC
FROM sensors
LATEST ON timestamp PARTITION BY sensorName;
SELECT sensors.timestamp ts, rain1H
FROM sensors
ASOF JOIN weather;
-- Merge time
SELECT sensors.timestamp ts, rain1H
FROM sensors
ASOF JOIN weather;
Arrow up icon

Magnifying glass iconSearch Time

Filter and search for specific timestamps with “WHERE”

Knife iconSlice Time

Create time buckets and aggregate by intervals with “SAMPLE BY”

Indication arrow iconNavigate Time

Search time series from most recent values to oldest with “LATEST ON”

Two overlapping squaresMerge Time

Join two tables based on timestamp where timestamps do not exactly match with “ASOF JOIN”

Why time series?

Interactive Console

Interactive console to import data (drag and drop) and start querying right away.

Check our Web Console documentation to get started.

Artistic view of QuestDB's Web Console split in 3 components: the navigation tree, the SQL code editor and data displayed as a chart