QuestDB Logo

 

QuestDB open source contributors

English | 简体中文 | 繁體中文 | العربية | Italiano | Українська | Español | Português | Français | Deutsch | 日本語 | 한국어 | עברית | Nederlands | Türkçe | हिंदी | Tiếng Việt | Bahasa Melayu

--- QuestDB 是一个高性能开源时序数据库,提供**低延迟、高吞吐的数据写入**和**低延迟 SQL 查询**服务。 在存储上,QuestDB 提供多层引擎架构(WAL → 原生 → 对象存储上的 Parquet)。核心引擎基于零 GC 的 Java 和 C++ 实现;企业版还包含采用 Rust 编写的高性能组件。 在查询上,QuestDB 通过列式存储模型、并行化向量执行、SIMD 指令及多种低延迟技术,实现了卓越地查询性能表现。此外,QuestDB 还具备出色的硬件效率,支持快速部署与高效运维。 > 准备好了吗?立即前往 > [快速开始](#快速开始) 部分。

 

QuestDB Web Console showing a SQL statement and query result

QuestDB Web 控制台 - 点击启动演示

 

## QuestDB 的优势 核心功能亮点: - 低延迟、高吞吐数据写入 — 支持从单条数据到每秒百万条的处理能力 - 具备时序扩展功能的高效 SQL 查询方言(ASOF JOIN、SAMPLE BY、LATEST ON) - SIMD 指令加速的并行执行引擎,在普通硬件上也能实现亚毫秒级查询响应时间 - 多层存储架构:WAL → 原生列式存储 → Parquet(支持时间分区与时间排序) - Postgres 协议(PGwire)和 REST API 接入 - 物化视图和 n 维数组(含适用于订单簿的二维数组) - 用于查询与数据管理的 Web 控制台 - Apache 2.0 开源协议与开放格式——杜绝供应商绑定 - 支持多种 [金融函数](https://questdb.com/docs/reference/function/finance/) 和 [订单簿分析](https://questdb.com/docs/guides/order-book/) QuestDB 尤其擅长处理: - 金融市场数据(Tick 数据、交易、订单簿、OHLC 数据) - 具有高基数特征的传感器/遥测数据 - 实时仪表盘与监控场景 为什么要使用时序数据库? 除了优秀的性能与效率之外,专业的时序数据库能让您无需担忧以下问题: - 乱序数据的写入处理 - 幂等与 exactly-once 保障 - 高并发查询下的持续流式数据写入 - 流式数据低延迟查询 - 高波动与突发型数据写入负载变化 - 动态添加新列——在数据持续写入时实时变更表结构 ## 体验 QuestDB 和仪表板 我们提供了 [实时公共演示](https://demo.questdb.com/), 该环境基于最新版 QuestDB 并预置了以下示例数据集: - 交易数据:实时加密货币交易记录,每月新增超3000万条(OKX交易所数据) - 外汇订单簿:带有外汇交易对订单簿的实时图表 - 出行数据:纽约市 10 年出租车行程记录,共 16 亿行数据 我们还通过 [原生 Grafana](https://questdb.com/docs/third-party-tools/grafana/) 插件构建了一些公开的实时演示看板: - [实时加密货币交易看板:](https://questdb.com/dashboards/crypto/)实时展示OKX交易所20余种资产的成交情况 - [外汇订单簿看板:](https://questdb.com/dashboards/FX-orderbook/)主流外汇交易对的实时深度/不平衡图表 ### QuestDB 与其他数据库的性能比较 在多项性能基准测试中,QuestDB 相比其他替代方案表现优异。 如需深入了解内部机制与性能表现,请参阅以下技术博客: - [QuestDB vs InfluxDB](https://questdb.com/blog/2024/02/26/questdb-versus-influxdb/) - [QuestDB vs Kdb+](https://questdb.com/compare/questdb-vs-kdb/) - [QuestDB vs TimescaleDB](https://questdb.com/blog/timescaledb-vs-questdb-comparison/) - [QuestDB vs MongoDB](https://questdb.com/blog/mongodb-time-series-benchmark-review/) 我们推荐您亲自运行基准测试以获得最直观的性能体验。
比较 QuestDB、InfluxDB 和 TimescaleDB 摄取速率的图表。
## 快速开始 使用 [Docker](https://www.docker.com/) 快速启动: ```bash docker run -p 9000:9000 -p 9009:9009 -p 8812:8812 questdb/questdb ``` macOS 用户可以使用 Homebrew: ```bash brew install questdb brew services start questdb ``` ```bash questdb start questdb stop ``` 若需完整入门指引,建议从我们的简洁版 [快速入门指南](https://questdb.com/docs/quick-start/)开始。 ### 原生数据写入客户端 支持通过 InfluxDB Line Protocol(以下简称 ILP 协议) 进行数据写入的 QuestDB 客户端: - [Python](https://questdb.com/docs/clients/ingest-python/) - [.NET](https://questdb.com/docs/clients/ingest-dotnet/) - [C/C++](https://questdb.com/docs/clients/ingest-c-and-cpp/) - [Go](https://questdb.com/docs/clients/ingest-go/) - [Java](https://questdb.com/docs/clients/java_ilp/) - [NodeJS](https://questdb.com/docs/clients/ingest-node/) - [Rust](https://questdb.com/docs/clients/ingest-rust/) ### 连接 QuestDB 提供多种方式与 QuestDB 交互: - [Web 控制台](https://questdb.com/docs/web-console/) 提供交互式 SQL 编辑器和 CSV 导入功能 - [InfluxDB Line Protocol](https://questdb.com/docs/reference/api/ilp/overview/) 支持 ILP 协议格式的流式数据写入 - [PostgreSQL Wire Protocol](https://questdb.com/docs/reference/api/postgres/) 兼容 PG 协议,可使用任意 PG 的客户端对 QuestDB 进行连接 - [REST API](https://questdb.com/docs/reference/api/rest/) 支持通过 HTTP(S) 进行 CSV 导入和运行 SQL 查询 ### 常用第三方工具 可与 QuestDB 集成的流行工具包括: - [Kafka](https://questdb.com/docs/third-party-tools/kafka/) - [Redpanda](https://questdb.com/docs/third-party-tools/redpanda/) - [Grafana](https://questdb.com/docs/third-party-tools/grafana/) - [Polars](https://questdb.com/docs/third-party-tools/polars/) - [Pandas](https://questdb.com/docs/third-party-tools/pandas/) - [PowerBI](https://questdb.com/docs/third-party-tools/powerbi/) - [Superset](https://questdb.com/docs/third-party-tools/superset/) - [Apache Flink](https://questdb.com/docs/third-party-tools/flink/) - [Telegraf](https://questdb.com/docs/third-party-tools/telegraf/) - [MindsDB](https://questdb.com/docs/third-party-tools/mindsdb/) ### 端到端代码示例 从流式数据写入到 Grafana 可视化,请从我们的 [快速入门代码](https://github.com/questdb/questdb-quickstart) 获取脚手架代码。 ### 生产环境配置指南 查阅我们的[容量规划推荐](https://questdb.com/docs/deployment/capacity-planning/) 针对生产环境负载优化 QuestDB 配置。 ### QuestDB 企业版 为大规模部署或大型组织生产环境提供安全增强版。 额外功能包括: - 高可用性与只读副本查询 - 多主节点数据写入 - 冷存储集成 - 基于角色的访问控制(RBAC) - TLS 加密 - 通过对象存储直接查询 Parquet 文件 - 服务等级协议(SLA)保障、监控增强等 访问[企业版页面](https://questdb.com/enterprise/)获取详细信息与联系方式。 ## 扩展资源 ### 📚 查阅文档 - [QuestDB 文档:](https://questdb.com/docs/)开始您的探索之旅 - [产品路线图:](https://github.com/orgs/questdb/projects/1/views/5)了解未来版本规划 - [教程:](https://questdb.com/tutorial/)通过步骤化教学掌握 QuestDB 的各种应用场景 ### ❓ 获取支持 - [社区论坛:](https://community.questdb.com/)参与技术讨论、提问交流、结识其他用户! - [公开 Slack:](https://slack.questdb.com/)与 QuestDB 团队和社区成员实时沟通 - [GitHub issues:](https://github.com/questdb/questdb/issues)报告 QuestDB 使用中遇到的问题 - [Stack Overflow:](https://stackoverflow.com/questions/tagged/questdb)查找常见问题解决方案 ### 🚢 部署 QuestDB - [AWS AMI 镜像](https://questdb.com/docs/guides/aws-official-ami) - [Google Cloud Platform](https://questdb.com/docs/guides/google-cloud-platform) - [官方 Docker 镜像](https://questdb.com/docs/get-started/docker) - [DigitalOcean 云服务器](https://questdb.com/docs/guides/digitalocean) - [Kubernetes Helm 图表](https://questdb.com/docs/guides/kubernetes) ## 参与贡献 欢迎贡献您的力量! 我们珍视以下形式的参与: - 源代码 - 文档优化(参见 [文档代码库](https://github.com/questdb/documentation)) - Issue 报告 - 功能建议或反馈 贡献指南: - 查看标有 "[Good first issue](https://github.com/questdb/questdb/issues?q=is%3Aissue+is%3Aopen+label%3A%22Good+first+issue%22)" 的 GitHub issues - Hacktoberfest 期间请关注 [标记 issues](https://github.com/questdb/questdb/issues?q=is%3Aissue+is%3Aopen+label%3Ahacktoberfest) - 阅读[贡献指南](https://github.com/questdb/questdb/blob/master/CONTRIBUTING.md) - 构建说明请参见 [构建说明](https://github.com/questdb/questdb/blob/master/core/README.md) - [Fork](https://docs.github.com/en/github/getting-started-with-github/fork-a-repo) QuestDB 并提交包含改进方案的 PR - 遇到困难?加入我们的[公开 Slack](https://slack.questdb.com/) 获取帮助 ✨ 为表谢意,我们将向贡献者赠送 QuestDB 专属纪念品! 特别感谢以下为 QuestDB 做出贡献的优秀人员 [emoji](https://allcontributors.org/docs/en/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

📖
该项目遵循 [all-contributors](https://github.com/all-contributors/all-contributors) 规范。欢迎任何形式的贡献!