# questdb **Repository Path**: mao_cheng_lin/questdb ## Basic Information - **Project Name**: questdb - **Description**: QuestDB 是用于时间序列数据的高性能开源 SQL 数据库 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: https://www.oschina.net/p/questdb - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 10 - **Created**: 2021-07-25 - **Last Updated**: 2021-07-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README
English | [简体中文](./i18n/README.zh-cn.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 a 1.6 billion row dataset with 10 years of NYC taxi trips to query. 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 ``` The [QuestDB downloads page](https://questdb.io/get-questdb/) provides direct downloads for binaries and has details for other installation and deployment methods. ### Connecting to QuestDB You can interact with QuestDB using the following interfaces: - [Web Console](https://questdb.io/docs/reference/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 | ## Documentation & resources - The [QuestDB documentation](https://questdb.io/docs/introduction/) describes how to run and configure QuestDB with technical references. - [Our Slack workspace](https://slack.questdb.io) is a great place for technical discussions and to meet other users. :wave: - [GitHub discussions](https://github.com/questdb/questdb/discussions) is where our users share ideas for features, ask questions, and show what they've built. - [GitHub issues](https://github.com/questdb/questdb/issues) are for bug reports. - [The project milestones](https://github.com/questdb/questdb/milestones) lists the tasks and features we're working on for upcoming releases. - [Tutorials](https://questdb.io/tutorial/) written by our community members show what's possible with QuestDB. - [QuestDB on Stack Overflow](https://stackoverflow.com/questions/tagged/questdb) has common troubleshooting solutions. ## 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'll send contributors some of our QuestDB swag such as stickers and t-shirts! :star2: A big thanks goes to the following wonderful people who have contributed to QuestDB: ([emoji key](https://allcontributors.org/docs/en/emoji-key)):