隨著制造業數字化的發展和物聯網應用的普及,越來越多的非互聯網和業務系統數據被收集、記錄和存儲。
許多系統開發人員熟悉Oracle、MySQL和其他鋼鋼地數據庫,以及redis等鍵值數據庫。因此,類似的數據庫選擇在物聯網應用程序和制造業數字應用程序中仍在繼續。
這樣做的好處非常直接,熟悉產品,技術難度可控,開發周期可控。然而,隨著系統運行時間的推移,該方案面臨的性能挑戰越來越大,在業務開發中需要實現許多類似的查詢和統計需求。
為什么?讓我們再看一看物聯網數據和制造業數據的特征。
首先,數據結構相對簡單,主要包括三列:時間、標簽和值;
第二,大多數數據生成有一個穩定的節奏,沒有像普通互聯網應用那樣的波峰和波谷;
第三,數據很少更新。多寫一次,多查詢;
第四,數據量極其巨大,對存儲成本非常敏感;
第五,數據分析和統計中最重要的維度之一是時間;
……
這些特性明顯不同于我們熟悉的事務數據。雖然它可以用鋼鋼地數據庫存儲和管理,但它并沒有很好地利用對數據的理解。
如果能夠針對這類數據的特點選擇一個專用數據庫,將會咋整許多技術難題,提高系統的穩定性。在數據庫行業,這種產品被稱為時間序列數據庫。
時間序列數據庫是廣泛應用于物聯網設備監控系統、企業能源管理系統(EMS)、生產安全監控系統、電力檢測系統等行業場景的專業數據庫產品。它提供數以百萬計的高效寫入、高壓縮比、低成本存儲、預降采樣、插值、多維聚合計算、查詢結果可視化等功能;咋整了設備采集點多,數據采集做晃常兒高,存儲成本高,寫入、查詢、分析效率低的問題。
這里有一些時間數據庫產品供您選擇。
Informix時間序列
Informixtimeseries是一個經典產品,就像Oracle在鋼鋼地數據庫中一樣。
它為后續的數據庫產品開發提供了良好的基準。其特殊的存儲結構、索引設計和時間序列數據的特殊計算功能都是創新設計。
它也是多模式數據的早期實踐者。它可以與鋼鋼地數據庫引擎共存,簡化了應用系統設計和部署的復雜性。
流入xDB
XDB版本的時間序列數據庫是專門處理高寫入和查詢負載的時間序列數據庫。它用于存儲大規模時間序列數據并進行實時分析,包括來自Devops監控、應用指示器和物聯網傳感器的數據。目前,它具有以下特點:
為時間序列數據量身定制的高性能數據存儲。TSM引擎提供高速數據讀寫和壓縮等功能。
簡單高效的HTTPAPI寫入和查詢接口。
對于時間序列數據,可使用類似SQL的定制查詢語言輕松查詢聚合數據。
允許標記索引,以實現快速有效的查詢。
數據保留策略可以有效地自動使舊數據無效。

OpenTSDB
Opentsdb是一個可擴展的分布式時間序列數據庫,底層依賴于HBase。作為基于通用存儲的時間序列數據庫的典型代表,它起步較早,在時間序列市場上具有較高的知名度。
Opentsdb的自我定位非常明確:可伸縮的時間序列數據庫。
如果應用程序場景非常重視可伸縮性,那么可以選擇opentsdb。否則,您需要考慮HBase是否應該包含在技術堆棧和系統中。
阿里云智能TSDB
在上述應用架構中,設備通過mqtt協議將原始數據發送到物聯網平臺,通過物聯網平臺將數據轉發給消息服務系統,通過流計算系統進行實時計算和處理后,將這些數據寫入TSDB存儲,或者直接將原始數據通過物聯網平臺寫入TSDB存儲。前端監控系統和大數據處理系統將利用TSDB的數據查詢、計算和分析能力進行業務監控和分析結果的實時顯示。
用于incluxdb的阿里云TSDB
阿里云TSDBforinfluxdb是influxdb的云版本。與XDB兼容良好,能夠成功將離線數據庫遷移到云端;同時,節省了部署、操作和維護管理的復雜性。