English | 简体中文 | 繁體中文 | العربية | Italiano | Українська | Español | Português | 日本
QuestDB 是一个开源的時序数据库,支持高吞吐数据获取和快速 SQL 查询,操作简单。 应用场景包括金融市场数据、传感器数据、实时分析、数据仪表板和基础设施监控。它兼容 InfluxDB 行协议以提供不受数据库模式影响的高吞吐数据获取能力,也兼容 PostgreSQL 的线路协议,並提供 REST API 以便于批量导入和导出。
QuestDB 使用 ANSI SQL ,並包含时间导向的 SQL 语义。这些 SQL 语义能更简单的连接 (JOIN)不同来源的关联数据以及时间序列数据。QuestDB 通过列导向的存储模型、大规模 并行的矢量执行、SIMD 指令和各种低延迟技术实现了高性能。整个代码库是用 Java 和 C++从头开始构建的,没有任何外部依赖,并且 100% 不受垃圾回收的影响。
我们提供了一个在线演示,其中包括最新的 QuestDB 版本 和几个样本数据集:
- Trips: 近 10 年的纽约市出租车行程轨迹数据集,含 1.6 亿行的数据。
- Trades: 即时加密货币(比特币、以太币)交易数据集。
- Pos: 含有 25 万艘船的时序地理数据集。
查询 | 运行时间 |
---|---|
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 time PARTITION BY symbol |
0.00025 secs |
我们的在线演示运行在 c5.metal
上且仅使用 96 个线程中的 24 个线程。
你可以使用 Docker 来快速启动一个 QuestDB 实例:
docker run -p 9000:9000 -p 9009:9009 -p 8812:8812 questdb/questdb
macOS 用户可以使用 Homebrew 来启动:
brew install questdb
brew services start questdb
questdb start // To start questdb
questdb stop // To stop questdb
QuestDB 下载页面 提供二进制文件的直接下载,并 提供其他安装和部署方法的详细信息。
你可以使用以下接口与 QuestDB 进行交互。
- web 控制台: 将会启动一个 web
控制台,默认运行在
9000
端口 - InfluxDB line protocol: 支
持高性能、高吞吐量单向数据插入,默认运行在
9009
端口 - REST API : 使用 REST API 来进行
交互,默认需要使用
9000
端口进行访问 - PostgreSQL wire protocol:
默认运行在
8812
端口
以下是我們官方开发的 InfluxDB line protocol 客户端,支持多种编程语言:
参考我们的文章, 其中在功能、性能和成熟度上比较了 QuestDB 和其他的开源时序资料库。
以下是 时间序列基准测试套件 运行 cpu-only
用例的测试结果,基于 6 个 worker 的 AMD Ryzen 3970X 上测试对比得到:
- QuestDB documentation: 描述了如何运行 和配置 QuestDB 的技术参考。
- 由我们的社区成员编写的教程展示了 QuestDB 的可 能应用。
- 产品路线图列出了我们目前正在 进行的任务和功能。
- Community Slack: 是一个进行技术讨论和认识其他用户 的好地方。👋
- GitHub issues: 报告 QuestDB 缺陷 、功能建议或是反馈问题。
- Stack Overflow: 寻找常见 问题的解决方法。
我们总是乐于接受对项目的贡献,无论是源代码、文档、错误报告、功能请求还是反馈。如 果要开始贡献:
- 请看一下 GitHub 上标有 "Good first issue" 的问题。
- 阅 读贡献指南。
- 有关构建 QuestDB 的详细信息,请参 见构建说明。
- 创建 QuestDB 的一个分叉, 并提交一个 pull request,说明你的修改建议。
✨ 为了表示感谢,我们将向贡献者发送一些我们的 QuestDB 礼品,如贴纸和 T 恤衫 在这里申领
衷心感谢以下为 QuestDB 作出贡献的优秀人士: (表情符号键):
本项目遵循 all-contributors 标准. 欢迎任何形式的贡献!