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 還具備出色的硬體效率,支援快速部署與高效維運。
準備好了嗎?立即前往快速開始部分。
核心功能亮點:
- 低延遲、高吞吐數據寫入 — 支援從單條數據到每秒百萬條的處理能力
- 具備時序擴充功能的高效 SQL 查詢方言(ASOF JOIN、SAMPLE BY、LATEST ON)
- SIMD 指令加速的平行執行引擎,在普通硬體上也能實現亞毫秒級查詢響應時間
- 多層儲存架構:WAL → 原生列式儲存 → Parquet(支援時間分割區與時間排序)
- Postgres 協定(PGwire)和 REST API 接入
- 物化檢視和 n 維陣列(含適用於訂單簿的二維陣列)
- 用於查詢與資料管理的 Web 控制台
- Apache 2.0 開源協定與開放格式——杜絕供應商綁定
- 支援多種 金融函數 和訂單簿分析
QuestDB 尤其擅長處理:
- 金融市場數據(Tick 數據、交易、訂單簿、OHLC 數據)
- 具有高基數特徵的感測器/遙測數據
- 即時儀表板與監控場景
為什麼要使用時序數據庫?
除了優秀的效能與效率之外,專業的時序數據庫能讓您無需擔憂以下問題:
- 亂序數據的寫入處理
- 冪等與 exactly-once 保障
- 高並行查詢下的持續串流數據寫入
- 串流數據低延遲查詢
- 高波動與突發型數據寫入負載變化
- 動態添加新欄位——在數據持續寫入時即時變更表結構
我們提供了 即時公共演示,該環境基於最新版 QuestDB 並預置了以下範例數據集:
- 交易數據:即時加密貨幣交易記錄,每月新增超3000萬條(OKX交易所數據)
- 外匯訂單簿:帶有外匯交易對訂單簿的即時圖表
- 出行數據:紐約市 10 年計程車行程記錄,共 16 億行數據
我們還透過 Grafana 原生外掛程式建置了一些公開的即時演示看板:
- 即時加密貨幣交易看板:即時展示 OKX 交易所20餘種資產的成交情況
- 外匯訂單簿看板:主流外匯交易對的即時深度/不平衡圖表
在多項效能基準測試中,QuestDB 相比其他替代方案表現優異。
如需深入了解內部機制與效能表現,請參閱以下技術部落格:
我們推薦您親自執行基準測試以獲得最直觀的效能體驗。
使用 Docker 快速啟動:
docker run -p 9000:9000 -p 9009:9009 -p 8812:8812 questdb/questdbmacOS 用戶可以使用 Homebrew:
brew install questdb
brew services start questdbquestdb start
questdb stop若需完整入門指引,建議從我們的簡潔版 快速入門指南開始。
支援透過 InfluxDB Line Protocol(以下簡稱 ILP 協定) 進行數據寫入的 QuestDB 用戶端:
提供多種方式與 QuestDB 互動:
- Web 控制台,提供互動式 SQL 編輯器和 CSV 匯入功能
- InfluxDB Line Protocol,支援 ILP 協定格式的串流數據寫入
- PostgreSQL Wire Protocol,相容 PG 協定,可使用任意 PG 的用戶端對 QuestDB 進行連線
- REST API,支援透過 HTTP(S) 進行 CSV 匯入和執行 SQL 查詢
可與 QuestDB 整合的流行工具包括:
從串流數據寫入到 Grafana 視覺化,請從我們的快速入門程式碼取得支架程式碼。
查閱我們的容量規劃推薦針對生產環境負載最佳化 QuestDB 設定。
為大規模部署或大型組織生產環境提供安全增強版。
額外功能包括:
- 高可用性與唯讀副本查詢
- 多主節點數據寫入
- 冷儲存整合
- 基於角色的存取控制(RBAC)
- TLS 加密
- 透過物件儲存直接查詢 Parquet 檔案
- 服務等級協定(SLA)保障、監控增強等
存取企業版頁面取得詳細資訊與聯絡方式。
- QuestDB 文檔:開始您的探索之旅
- 產品路線圖:了解未來版本規劃
- 教程:透過步驟化教學掌握 QuestDB 的各種應用場景
- 社群論壇:參與技術討論、提問交流、結識其他使用者!
- 公共 Slack:與 QuestDB 團隊和社群成員即時溝通
- GitHub 問題:回報 QuestDB 使用中遇到的問題
- Stack Overflow:尋找常見問題解決方案
歡迎貢獻您的力量!
我們珍視以下形式的參與:
- 原始程式碼
- 文件最佳化(參見 文件程式碼庫)
- Issue 回報
- 功能建議或回饋
要開始貢獻:
- 查看標有「Good first issue」的 GitHub issues
- Hacktoberfest 期間請關注 標記 issue
- 閱讀貢獻指南
- 建置說明請參見 建置說明
- Fork QuestDB 分支並提交包含改進方案的 PR
- 遇到困難?加入我們的公共 Slack取得幫助
✨ 為表謝意,我們將向貢獻者贈送 QuestDB 專屬紀念品!
特別感謝以下為 QuestDB 做出貢獻的優秀人員emoji:
本項目遵循 all-contributors 規範。歡迎任何形式的貢獻!
