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 BYLATEST ONASOF JOIN
  • QWP協定:基於WebSocket的二進位欄位協定,實現高效讀寫。
  • 開放格式:使用Apache Parquet、Iceberg與Arrow,確保資料可被其他工具存取。
  • 廣泛整合:支援PostgreSQL Wire Protocol、InfluxDB Line Protocol與REST API。

相關

  • 專案
  • 專案
  • 專案
  • 專案