questdb

QuestDB is an open source time-series database for fast ingest and SQL queries

14626
1187
Java
QuestDB Logo

 

QuestDB open source contributors

English | 简体中文 | 繁體中文 | العربية | Italiano | Українська | Español | Português | 日本語 | Türkçe | हिंदी | Tiếng Việt


QuestDB is the fastest growing open-source time-series database offering blazingly fast, high
throughput ingestion
and dynamic, low-latency SQL queries. The entire high-performance
codebase is built from the ground up in Java, C++ and Rust with no dependencies
and zero garbage collection.

We achieve high performance via a column-oriented storage model, parallelized
vector execution, SIMD instructions, and low-latency techniques. In addition,
QuestDB is hardware efficient, with quick setup and operational efficiency.

QuestDB implements ANSI SQL with native time-series SQL extensions. These SQL
extensions make it simple to analyze, filter and downsample data, or to
correlate data from multiple sources using relational and time-series joins.

Ready to go? Jump to the
Get started section.

 

QuestDB Web Console showing a SQL statement and query result

QuestDB Web Console - click to launch demo

 

Benefits of QuestDB

QuestDB excels with:

  • financial market data
  • IoT sensors with high data cardinality
  • real-time dashboards

Feature highlights include:

  • SQL with powerful, SIMD-optimized time-series extensions
  • High-speed ingestion via the InfluxDB Line Protocol
  • Strong and efficient performance on limited hardware
  • Columnar storage format (native or
    Apache Parquet), partitioned
    and ordered by time
  • Responsive and intuitive Web Console for query and data management, with error
    handling
  • Excellent performance with
    high data cardinality - see
    benchmarks

And why use a time-series database?

Beyond performance and efficiency, with a specialized
time-series database, you
don’t need to worry about:

  • out-of-order data
  • duplicates
  • exactly one semantics
  • streaming data (low latency)
  • high volumes of concurrent requests
  • volatile and “bursty” data
  • adding new columns - change schema “on the fly” while streaming data

Try QuestDB, demo and dashboards

The live, public demo is provisioned with the latest
QuestDB release and sample datasets:

  • Trips: 10 years of NYC taxi trips with 1.6 billion rows
  • Trades: live crypto market data with 30M+ rows per month
  • Pos: geolocations of 250k unique ships over time

Use example queries or write your own!

The public demo queries over 1.6BN rows and uses a r6a.12xlarge 48 vCPU and 348GB RAM instance.

Query Execution time
SELECT sum(double) FROM trips 0.15 secs
SELECT sum(double), avg(double) FROM trips 0.5 secs
SELECT avg(double) FROM trips WHERE time in '2019' 0.02 secs
SELECT time, avg(double) FROM trips WHERE time in '2019-01-01' SAMPLE BY 1h 0.01 secs
SELECT * FROM trades LATEST ON timestamp PARTITION BY symbol 0.00025 secs

We also have some public, real-time demo dashboards using
our Grafana-native plugin:

QuestDB performance vs. other oss databases

QuestDB performs very well in performance benchmarks compared to alternatives.

For deep dives into internals and performance, see the following blog posts:

As always, we encourage you to run your own benchmarks.

A chart comparing the ingestion rate of QuestDB, InfluxDB and TimescaleDB.

Get started

Use Docker to start quickly:

docker run -p 9000:9000 -p 9009:9009 -p 8812:8812 questdb/questdb

Or macOS users can use Homebrew:

brew install questdb
brew services start questdb
questdb start
questdb stop

Alternatively, to kickoff the full onboarding journey, start with our concise
quick start guide.

First-party ingestion clients

QuestDB clients for ingesting data via the InfluxDB Line Protocol:

Connect to QuestDB

Interact with QuestDB and your data via the following interfaces:

Popular third-party tools

Popular tools that integrate with QuestDB include:

End-to-end code scaffolds

From streaming ingestion to visualization with Grafana, start with code
scaffolds in from our
quickstart repository.

Configure QuestDB for production workloads

Find our
capacity planning to
fine-tune QuestDB for production workloads.

QuestDB Enterprise

For secure operation at greater scale or within larger organizations.

Additional features include:

  • multi-primary ingestion
  • read replica(s)
  • cold storage integration
  • role-based access control
  • TLS encryption
  • native querying of Parquet files via object storage
  • support SLAs, enhanced monitoring and more

Visit the Enterprise page for further details
and contact information.

Additional resources

📚 Read the docs

❓ Get support

🚢 Deploy QuestDB

Contribute

Contributions welcome!

We appreciate:

To get started with contributing:

✨ As a sign of our gratitude, we send
QuestDB swag to our contributors!

A big thanks goes to the following wonderful people who have contributed to
QuestDB emoji key:


clickingbuttons

💻 🤔 📓

ideoma

💻 📓 ⚠️

tonytamwk

💻 📓

sirinath

🤔

igor-suhorukov

💻 🤔

mick2004

💻 📦

rawkode

💻 🚇

solidnerd

💻 🚇

solanav

💻 📖

shantanoo-desai

📝 💡

alexprut

💻 🚧

lbowman

💻 ⚠️

chankeypathak

📝

upsidedownsmile

💻

Nagriar

💻

piotrrzysko

💻 ⚠️

mpsq

💻

siddheshlatkar

💻

Yitaek

💡

gabor-boros

💡

kovid-r

💡

TimBo93

🐛 📓

zikani03

💻

jaugsburger

💻 🚧

TheTanc

📆 🖋 🤔

davidgs

🐛 🖋

kaishin

💻 💡

bluestreak01

💻 🚧 ⚠️

patrickSpaceSurfer

💻 🚧 ⚠️

chenrui333

🚇

bsmth

📖 🖋

Ugbot

💬 📓 📢

lepolac

💻 🔧

tiagostutz

📓 🐛 📆

Lyncee59

🤔 💻

rrjanbiah

🐛

sarunas-stasaitis

🐛

RiccardoGiro

🐛

duggar

🐛

postol

🐛

petrjahoda

🐛

t00

🐛

snenkov

📓 🐛 🤔

marregui

💻 🤔 🎨

bratseth

💻 🤔 📓

welly87

🤔

fuzzthink

🤔 📓

nexthack

💻

g-metan

🐛

tim2skew

🐛 📓

ospqsp

🐛

SuperFluffy

🐛

nu11ptr

🐛

comunidadio

🐛

mugendi

🤔 🐛 📖

paulwoods222

🐛

mingodad

🤔 🐛 📖

houarizegai

📖

jjsaunier

🐛

zanek

🤔 📆

Geekaylee

📓 🤔

lg31415

🐛 📆

null-dev

🐛 📆

ultd

🤔 📆

ericsun2

🤔 🐛 📆

giovannibonetti

📓 🐛 📆

wavded

📓 🐛

puzpuzpuz

📖 💻 📓

rstreics

💻 🚇 📖

mariusgheorghies

💻 🚇 📖

pswu11

🖋 🤔 🎨

insmac

💻 🤔 🎨

eugenels

💻 🤔 🚧

bziobrowski

💻 📆

Zapfmeister

💻 📓

mkaruza

💻

DylanDKnight

📓 🐛

enolal826

💻

glasstiger

💻

argshook

💻 🤔 🎨 🐛

amunra

💻 📖 🐛

GothamsJoker

💻

kocko

💻

jerrinot

💻 🤔 🐛

rberrelleza

💻

Cobalt-27

💻

eschultz

💻

XinyiQiao

💻

terasum

📖

PlamenHristov

💻

tris0laris

📝 🤔

HeZean

💻 🐛

iridess

💻 📖

selmanfarukyilmaz

🐛

donet5

🤔 🐛

Zahlii

🐛

salsasepp

🐛

EmmettM

🐛 ⚠️

robd003

🤔

AllenEdison

🐛

CSharpDummy

🐛

shimondoodkin

🐛 🤔

huuhait

🐛 🤔

alexey-milovidov

🐛

suconghou

🐛

allegraharris

💻

oliver-daniel

💻

kerimsenturk5734

📖

This project adheres to the
all-contributors
specification. Contributions of any kind are welcome!