免費數據庫,用於儲存日內分時數據和查詢預算硬體上的柱(蠟燭)數據
我正在使用具有 512 RAM 的雲機將刻度數據儲存在 mysql 中,但在查詢蠟燭數據時遇到問題。我目前的解決方案是在一個時間間隔內選擇所有數據並在瀏覽器中進行刻度 -> 蠟燭轉換,但是對於長時間範圍而言,這種計算過於繁重。
我查看了類似的問題,對時間序列數據庫進行了一些研究,甚至將數據庫視為服務解決方案。(我仍在聯繫其中一位,看看他們是否會提供蠟燭的缺失數據)
問題是這樣的:
給定每秒大約 5 個刻度數據(這些屬於不同的資產),以及低預算硬體(512 RAM,1 核,15 GB 空磁碟),當我需要將數據聚合成任意週期的蠟燭時,現有的數據庫解決方案會更合適?
我目前的解決方案是儲存一個額外的索引列,時間四捨五入為 5 分鐘、10 分鐘、30 分鐘、1 小時、5 小時、1 天,我編寫了 mysql 查詢,它可以
asset/open/high/low/close/start_time/end_time
根據這些列生成行以試圖加快查詢。但是,無論我使用什麼索引,無論我如何優化查詢,它們最終都需要幾秒鐘(而不是幾毫秒),這是不可接受的。是否有任何數據庫可以解決我的問題?
編輯:tempodb 的人說他們只是在他們的 api 中添加
first
和last
聚合函式 :-) Min、max、first 和 last 是我創建條形數據所需的全部
我建議對數據進行反規範化或使用 NoSQL 或 MongoDB 等文件數據庫。這些在執行選擇語句時提供了速度優勢,因為不需要從其他表中查找或連接數據。使用文件數據庫的一個優點是它們以行業標準格式(例如 JSON 或 XML)儲存數據,因此應該很容易拉取所有數據客戶端並在那裡執行轉換,而不必依賴伺服器來執行計算。
就個人而言,我使用 HDF5/PyTables(因為它是免費的,所以很快)作為數據儲存組件,然後使用 pandas 對數據進行重新採樣。
與關係數據庫恕我直言,僅使用平面文件可能會更好。