幾個時序數據庫


================================
可用作時序的數據庫:
================================
[時序]TimescaleDB, 基於 PostgreSQL, 支持 SQL.
[時序]KairosDB, 基於 Cassandra, 不支持 SQL.
[通用]CrateDB, 基於 Elastic Search, 但支持ANSI SQL
[時序]InfluxDB, 是 db-engines 上排名第一的時序數據庫, 最新版中集群功能不開源了, 商業版支持, 另外並發查詢性能較差.
[通用]Kudu, 列式存儲(類parquet), 支持 java API 更新數據, 比較贊的是支持 upsert. 可以通過 impala 或 spark 來支持SQL 查詢.

  

簡單點評(基於底層技術做的點評, 未做個實際測試)
TimescaleDB 基於PostgreSQL, 可能適合數據量不太大的情形, 但提供豐富的SQL功能
KairosDB, 基於 Cassandra, 運維應該比較簡單, 擴展性也應該不錯, 寫入性能估計要比 CrateDB 差一些, 另外不支持SQL.
CrateDB 基於 Elastic Search, 寫入性能應該很好, 擴展性也應該不錯, 估計 SQL 支持度和讀取性能會差一些, 支持全文檢索.

db-engines 網站的對比:
https://db-engines.com/en/system/CrateDB%3BKairosDB%3BTimescaleDB

Crate 官方的比較:
http://go.cratedb.com/rs/832-QEZ-801/images/CrateDB-Cassandra-MongoDB-Comparison.pdf

 

================================
支持SQL的流處理框架
================================
多數流處理方案中, 數據一般都會暫存在 kafka中, 格式推薦使用 Json/Avro, schema 推薦使用 Oracle Goldgate(OGG)數據格式.

支持SQL的流處理框架有:
1. Spark Streaming: 可以寫很復雜的SQL, 比如和其他數據庫DB做 join.
2. Kafka 的 KSQL: 和Kafka公用集群, 不需要額外計算集群.
3. PipelineDB : 基於 PostgreSQL 的擴展, cluster版需要付費. 流數據既可以直接寫到 pipelinedb(以pipelinedb的FOREIGN TABLE形式暫存流數據), 然后通過 pipelinedb SQL來處理; 流數據也可以先打到kafka中, 然后再通過 pipelinedb extension來處理.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM