questdb/questdb
QuestDB is a high performance, open-source, time-series database
解決的問題
QuestDB 是一個低延遲、開源的時序資料庫,可處理每秒數百萬筆事件的龐大寫入量,同時保持多年歷史資料的可查詢性。它消除了預先聚合的需求,並提供內建工具用於去重與亂序資料修正。
工作原理
引擎基於零GC的Java建構,關鍵效能路徑使用C++與Rust。資料以記憶體映射、時間分區的欄位格式儲存。採用分層儲存架構:平行寫前日誌(WAL)、原生欄位分區,以及用於長期儲存的Apache Parquet。查詢透過SIMD與JIT編譯的過濾器在所有CPU核心上執行。
適用對象
專為需要高解析度遙測與即時分析的產業設計,包括:
- 資本市場:逐筆資料、訂單簿與交易後分析。
- 航太與機器人:飛行測試遙測與任務重播。
- 能源與基礎設施:電網與渦輪機遙測。
- AI程式碼代理:透過MCP伺服器與特定代理技能進行整合。
主要亮點
- 高效率:支援每秒高達1900萬筆的寫入,透過Apache Arrow流式輸出可達每秒2.2億筆。
- 時序SQL:在標準SQL基礎上擴展專用函數,如
SAMPLE BY、LATEST ON與ASOF JOIN。 - QWP協定:基於WebSocket的二進位欄位協定,實現高效讀寫。
- 開放格式:使用Apache Parquet、Iceberg與Arrow,確保資料可被其他工具存取。
- 廣泛整合:支援PostgreSQL Wire Protocol、InfluxDB Line Protocol與REST API。
相關
- 專案
- 專案
- 專案
- 專案