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 控制台 - 點擊啟動演示
## 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/)
我們推薦您親自執行基準測試以獲得最直觀的效能體驗。
## 快速開始
使用 [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 問題:](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 droplets](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 期間請關注 [標記 issue](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 QuestDB 分支](https://docs.github.com/en/github/getting-started-with-github/fork-a-repo)並提交包含改進方案的 PR
- 遇到困難?加入我們的[公共 Slack](https://slack.questdb.com/)取得幫助
✨ 為表謝意,我們將向貢獻者贈送 QuestDB 專屬紀念品!
特別感謝以下為 QuestDB 做出貢獻的優秀人員[emoji](https://allcontributors.org/docs/en/emoji-key):
本項目遵循 [all-contributors](https://github.com/all-contributors/all-contributors) 規範。歡迎任何形式的貢獻!