代替 TimescaleDB,TDengine 接管數據量日增 40 億條的光伏日電系統


小 T 導讀:八五信息新能源電力物聯網平台采用TDengine,存儲和查詢分析物聯網設備的實時數據,以及光伏設備傳感器的遙測數據。需支撐至少50000台設備總計400萬測點的實時數據接入、處理及存儲,預計日增量40多億條。之前使用TimescaleDB,無論在讀寫性能,還是硬件資源上,都遇到了瓶頸,且沒有集群功能。隨后切換到了TDengine,讀寫性能提高了10倍,存儲成本降低到原來1/5左右。

使用場景簡介

當前業務場景

我們首先在新能源電力物聯網平台上使用了TDengine,主要用於光伏設備遙測實時數據的存儲、查詢和分析。

新能源物聯網生產運營平台通過物聯網及大數據技術將現有電站數據進行整合,實現園區設備的統一運行監視,數據集中管理。給不同人員等提供全面、便捷、差異化的數據和服務。

對運維人員提供設備的狀態信息、報警信息、遠程故障診斷信息、實時數據等數據應用服務;對管理人員和運營人員提供各類檢測數據的匯總、變化趨勢等應用服務。該平台系統整體的架構如下:

系統的總體架構按照分層實現的設計理念,在底層設計上實現各個軟件系統的職能分離,確保各部分高效運轉。

數據規模,查詢壓力等要求

規划設計數據存儲規模大概在16T左右,目前數據日增量為1億多條,全部測點接入后預計日增量為40多億條左右;系統需支撐至少50000台設備總計400萬測點(信號量和模擬量)的實時數據接入、處理及存儲。

應用系統的常規查詢在50QPS左右,高並發在100QPS左右。一次歷史數據查詢分析最大跨度為一年且支撐多測點多模式分析方式。時序數據分析界面如下:

工況實時展示界面:

目前總數據量以及日增量:

目前創建的超級表以及子表數:

數據模型簡介

目前根據不同的測點類型建立了不同的超級表。按照不同的測點ID以及測點號作為tag創建了不同的子表。這樣我們針對於測點可以直接進行單表分析,處理性能高、速度快。也可以針對多測點進行分析,直接操作超級表,業務實現簡單,同時兼顧了查詢性能。

查詢需求

· 簡單查詢

針對於單測點的歷史數據查詢分析以及時間間隔聚合分析。主要是對單測點的異常數據的排查和告警數據的排查確認。TDengine是把同類設備數據歸入一個超級表,但每個設備都會根據超級表的結構建立自己的一張子表,查詢單測點數據實際上只查詢一個子表,遍歷的數據量大大減少,查詢分析基本毫秒級響應。簡單查詢SQL圖例:

· 聚合查詢

多測點相同時間維度不同聚合類型的時間遷移對比分析。側重於對比,方便用戶更加有效的確認不同測點下的異常和差異情況。

· 大批量測點分組聚合查詢

數百測點的分組分時段聚合查詢;在一定時間段內,大批量測點的查詢仍然可以迅速響應。

查詢壓力

峰值並發為100qps,平均並發量為20qps,實際場景中並發查詢壓力較小,未達到TDengine的查詢瓶頸。

采用TDengine帶來的收益

系統功能

讀寫性能較原TimescaleDB數據庫提高10倍左右,在數據接入層不用再擔心數據庫的寫入性能瓶頸;數據分析查詢應用層也較原系統有較大提升,尤其是在時間跨度大的聚合類分析幾乎瞬間響應。

通過亂序插入功能,解決了邊緣側由於網絡問題導致的數據傳輸不及時造成的亂序寫入問題,保證了數據的完整性。

集群功能對比TimescaleDB優勢較大,TimescaleDB沒有集群功能但支持流復制方式的主備庫;TDengine集群容易搭建且無主從節點區分,對應用改造和支撐較友好,集群版讀寫性能提升較大。

數據存儲增加集群多副本功能,通過數據冗余提升了系統的安全和可靠性,降低了系統的運維成本。

軟硬件資源

節省了系統大量的計算資源以及存儲資源,降低了大約4倍左右的存儲成本。

對比未使用TDengine之前TimescaleDB時序庫開啟壓縮后對70億數據占用磁盤為165G,且一分鍾內無法查詢出一個月的歷史數據;而在使用TDengine之后磁盤占用空間為40G左右,毫秒級返回針對一個月的歷史數據的聚合查詢。相關查詢如下:

應用TDengine遇到的問題與解決思路

原有時序庫大數據量批量導入TDengine,在1.6版本進行批量導入非常麻煩,一次批量插入只有200條左右,后期在升級到了2.0版本以上后一次可以插入1M數據,大大提升了不同數據庫不同表結構之間的批量導入性能。

未來使用TDengine的考慮

經過一段時間的線上運行,TDengine有優異的性能表現,我們決定將在后續時間將我們所有的物聯網項目逐步都更新為TDengine。

TDengine功能方面的期望與建議

分析型函數增強,希望增加時序庫中實用的常用分析函數;

增強連續聚合查詢功能,目前連續聚合功能實用性不強;

產品生態,與Spark、Flink等開源分析工具的集成。

作者: 八五信息開發工程師李良政


免責聲明!

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



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