English | [简体中文](./i18n/README.zh-cn.md) | [繁體中文](./i18n/README.zh-hk.md) | [العربية](./i18n/README.ar-dz.md) # QuestDB QuestDB is a high-performance, open-source SQL database for applications in financial services, IoT, machine learning, DevOps and observability. It includes endpoints for PostgreSQL wire protocol, high-throughput schema-agnostic ingestion using InfluxDB Line Protocol, and a REST API for queries, bulk imports, and exports. QuestDB implements ANSI SQL with native extensions for time-oriented language features. These extensions make it simple to correlate data from multiple sources using relational and time series joins. QuestDB achieves high performance from a column-oriented storage model, massively-parallelized vector execution, SIMD instructions, and various low-latency techniques. The entire codebase was built from the ground up in Java and C++, with no dependencies, and is 100% free from garbage collection. ## Try QuestDB We provide a [live demo](https://demo.questdb.io/) provisioned with the latest QuestDB release and sample datasets: - 10 years of NYC taxi trips with 1.6 billion rows - live trading data from a cryptocurrency exchange - geolocations of 250k unique ships over time ## Install QuestDB To run QuestDB, Docker can be used to get started quickly: ```bash docker run -p 9000:9000 -p 9009:9009 -p 8812:8812 questdb/questdb ``` macOS users can use Homebrew: ```bash brew install questdb brew services start questdb questdb start // To start questdb questdb stop // To stop questdb ``` The [QuestDB downloads page](https://questdb.io/get-questdb/) provides direct downloads for binaries and has details for other installation and deployment methods. ### Connect to QuestDB You can interact with QuestDB using the following interfaces: - [Web Console](https://questdb.io/docs/develop/web-console/) listening on port `9000` - [REST API](https://questdb.io/docs/reference/api/rest/) on port `9000` - [PostgreSQL](https://questdb.io/docs/reference/api/postgres/) wire protocol on port `8812` - [InfluxDB](https://questdb.io/docs/reference/api/influxdb/) line protocol for high-throughput ingestion on port `9009` ## How QuestDB compares to other open source TSDBs Here are high-cardinality [Time Series Benchmark Suite](https://questdb.io/blog/2021/06/16/high-cardinality-time-series-data-performance/) results using the `cpu-only` use case with 6 workers on an AMD Ryzen 3970X: The following table shows query execution time of a billion rows run on a `c5.metal` instance using 16 of the 96 threads available: | Query | Runtime | | ------------------------------------------------------------ | ---------- | | `SELECT sum(double) FROM 1bn` | 0.061 secs | | `SELECT tag, sum(double) FROM 1bn` | 0.179 secs | | `SELECT tag, sum(double) FROM 1bn WHERE timestamp in '2019'` | 0.05 secs | ## Resources ### 📚 Read the docs - [QuestDB documentation:](https://questdb.io/docs/introduction/) understand how to run and configure QuestDB. - [Tutorials:](https://questdb.io/tutorial/) learn what's possible with QuestDB step by step. - [Product roadmap:](https://github.com/questdb/questdb/projects) check out our plan for upcoming releases. ### ❓ Get support - [Community Slack:](https://slack.questdb.io) join technical discussions, ask questions, and meet other users! - [GitHub issues:](https://github.com/questdb/questdb/issues) report bugs or issues with QuestDB. - [GitHub discussions:](https://github.com/questdb/questdb/discussions) propose new features or show what you've built. - [Stack Overflow:](https://stackoverflow.com/questions/tagged/questdb) look for common troubleshooting solutions. ### 🚢 Deploy QuestDB - [AWS AMI](https://questdb.io/docs/guides/aws-official-ami) - [Google Cloud Platform](https://questdb.io/docs/guides/google-cloud-platform) - [Official Docker image](https://questdb.io/docs/get-started/docker) - [DigitalOcean droplets](https://questdb.io/docs/guides/digitalocean) - [Kubernetes Helm charts](https://questdb.io/docs/guides/kubernetes) ## Contribute We are always happy to have contributions to the project whether it is source code, documentation, bug reports, feature requests or feedback. To get started with contributing: - Have a look through GitHub issues labeled "[Good first issue](https://github.com/questdb/questdb/issues?q=is%3Aissue+is%3Aopen+label%3A%22Good+first+issue%22)". - Read the [contribution guide](https://github.com/questdb/questdb/blob/master/CONTRIBUTING.md). - For details on building QuestDB, see the [build instructions](https://github.com/questdb/questdb/blob/master/core/README.md). - [Create a fork](https://docs.github.com/en/github/getting-started-with-github/fork-a-repo) of QuestDB and submit a pull request with your proposed changes. ✨ As a sign of our gratitude, we also send **QuestDB swag** to our contributors. [Claim your swag here.](https://questdb.io/community) A big thanks goes to the following wonderful people who have contributed to QuestDB: ([emoji key](https://allcontributors.org/docs/en/emoji-key)):