我正在尋找用於大量指標的數據庫,但我感到困惑的是,沒有任何東西可以用來
- 在其中存儲大量(terrabyte)的指標數據形式:
- 鍵(字符串)
- 值(整數)
- 日期時間(時間戳)
- 來自從高度不可靠的來源(TCP錯誤)
- 執行數據子集(〜10Gb)的聚合:
- avg(值),max(值),min(值),計數(*)
- 其中value ==“ foo”
- 其中X <日期時間當子集為“當前”時,< Y
- 按日期時間/時間跨度
- 分組
-
- 能夠使子集“當前”,即加載到ram
- 未標記為“ hot”的舊數據上的查詢,沒有時間限制
到目前為止,我評估過:
postgres
- +從未丟失過數據
- -很難規模
- -特定績效沒有績效獎勵要求
- -我不了解如何將數據劃分為“當前”和“舊”
crate.io
- -太年輕,在擴展時出現許多錯誤
- +大分區語義允許基於時間戳進行分區
- -http。 1Gb流的大量開銷
influxdb
- +語義正是我所需要的
- -根本無法擴展
- 經常崩潰並且丟失數據
opentsdb
- +看起來它是為我的用例設計的
- -hbase的複雜性不值得
cassandra
- +擴展良好,與hbase不同,我了解它的工作原理
- + twitter將其用於度量標準(rainbird)
- -聚合應該在頂部完成hadoop
- -hadoop很難
石墨
- +用於度量目的的自定義數據庫
- -自定義數據庫...
- -似乎很慢,我不知道它應該如何縮放
prometheus.io
- +看起來它是為我的用例設計的
- -但事實並非如此。取而代之的是某種形式的“統計”統計。不能很好地擴展到不可靠的事件流。