時間序列

金融市場數據開源時間序列數據庫的性能

  • January 20, 2021

我們希望將金融報價數據儲存在數據庫中(可能有數十億行),然後從中創建聚合(開-高-低-收)柱數據(例如 1 分鐘或 5 分鐘柱)。

有人向我們提到,NoSQL 或時間序列數據庫可能是一個不錯的選擇。任何人都可以就哪種開源產品最適合此要求提供任何建議。

注意:查詢性能對我們來說非常重要。

在我們的研究中,我們遇到了以下產品(也許還有更多):

我們確實使用 InfluxDB 進行了大約 1000 萬次滴答的測試。不幸的是,創建 1 分鐘柱比使用關係數據庫(即 MySQL)慢 3-5。

我們知道 KDB 現在提供免費的 32 位版本,但不幸的是 32 位不足以滿足我們的案例。

任何建議表示讚賞。

編輯(2015 年 9 月):我們還使用 OpenTSDB 進行了測試,這似乎相當快。進口10米。價格大約需要一分鐘,聚合成 1 分鐘柱大約需要 5 秒。

編輯(2017 年 1 月):在最初的測試一年多之後,我們再次嘗試了 InfluxDB,結果證明他們在此期間取得了巨大的進步。寫入性能現在高達 2 mio。每秒數據點數(版本 1.2)!我們現在決定將 InfluxDB 集成到我們自己的產品AlgoTrader 中

你可以試試北極。您可能沒有考慮過的其他面向列的開源數據庫包括 LucidDB 和 C-Store。

(我在 Axibase 工作)

Axibase 時間序列數據庫不是開源的,但它在單節點上是免費的。

時間精度為微秒。

它支持 SQL 和 REST API 中的 OLCHV+VWAP 聚合器,具有用於按交易日曆、拍賣階段、指數等進行過濾的各種功能。

SELECT datetime, symbol, close(), vwap()
 FROM atsd_trade
WHERE in_index('<index-name>')
 AND in_session(DAY, CLOSING)
 AND datetime BETWEEN '2021-01-01' AND '2021-01-15' EXCL
GROUP BY exchange, class, symbol, PERIOD(1 DAY)

(我在 Axibase 工作)

引用自:https://quant.stackexchange.com/questions/20625