English | 简体中文 | 繁體中文 | العربية | Italiano | Українська | Español | Português | Français | Deutsch | 日本語 | 한국어 | עברית | Nederlands | Türkçe | हिंदी | Tiếng Việt | Bahasa Melayu
QuestDB is an open-source time-series database offering blazingly fast ingestion and dynamic, low-latency SQL queries.
QuestDB delivers a multi-tier storage engine (WAL → native → Parquet on object storage), and the core engine is implemented in zero-GC Java and C++; QuestDB Enterprise includes additional components in Rust.
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.
Ready to go? Jump to the Get started section.
Feature highlights include:
- Low-latency, high-throughput ingestion — from single events to millions/sec
- Low-latency SQL with time-series extensions (ASOF JOIN, SAMPLE BY, LATEST ON)
- SIMD-accelerated, parallel execution
- Multi-tier storage: WAL → native columnar → Parquet (time-partitioned and time-ordered)
- Postgres protocol (PGwire) and REST API
- Materialized views and n-dimensional arrays (incl. 2D arrays for order books)
- Web console for queries and data management
- Apache 2.0 open source and open formats — no vendor lock-in
- Finance functions and orderbook analytics
QuestDB excels with:
- financial market data (tick data, trades, order books, OHLC)
- Sensor/telemetry data with high data cardinality
- real-time dashboards and monitoring
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
- deduplication and exactly one semantics
- Continuous streaming ingest with many concurrent queries
- streaming data (low latency)
- volatile and "bursty" data
- adding new columns - change schema "on the fly" while streaming data
The live, public demo is provisioned with the latest QuestDB release and sample datasets:
- Trades: live crypto trades with 30M+ rows per month (OKX exchange)
- FX order book: live charts with orderbook FX pairs.
- Trips: 10 years of NYC taxi trips with 1.6 billion rows
We also have some public, real-time demo dashboards using our Grafana-native plugin:
- Real-time crypto trades: executed trades on OKX from more than 20 assets in real time
- FX order book: live depth/imbalance charts for major FX pairs
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.
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.
QuestDB clients for ingesting data via the InfluxDB Line Protocol:
Interact with QuestDB and your data via the following interfaces:
- Web Console for an interactive SQL
editor and CSV import on port
9000
- InfluxDB Line Protocol
for streaming ingestion on port
9000
- PostgreSQL Wire Protocol
for programmatic queries on port
8812
- REST API for CSV import and
cURL on port
9000
Popular tools that integrate with QuestDB include:
From streaming ingestion to visualization with Grafana, start with code scaffolds in from our quickstart repository.
Find our capacity planning to fine-tune QuestDB for production workloads.
For secure operation at greater scale or within larger organizations.
Additional features include:
- high Availablity and read replica(s)
- multi-primary ingestion
- 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.
- QuestDB documentation: begin the journey
- Product roadmap: check out our plan for upcoming releases
- Tutorials: learn what's possible with QuestDB, step by step
- Community Discourse forum: join technical discussions, ask questions, and meet other users!
- Public Slack: chat with the QuestDB team and community members
- GitHub issues: report bugs or issues with QuestDB
- Stack Overflow: look for common troubleshooting solutions
Contributions welcome!
We appreciate:
- source code
- documentation (see our documentation repository)
- bug reports
- feature requests or feedback.
To get started with contributing:
- Have a look through GitHub issues labelled "Good first issue"
- For Hacktoberfest, see the relevant labelled issues
- Read the contribution guide
- For details on building QuestDB, see the build instructions
- Create a fork of QuestDB and submit a pull request with your proposed changes
- Stuck? Join our public Slack for assistance
✨ As a sign of our gratitude, we send QuestDB swagto our contributors!
A big thanks goes to the following wonderful people who have contributed to QuestDB emoji key:
This project adheres to the all-contributors specification. Contributions of any kind are welcome!