首頁
>
資源
>
知識科普

時序數據庫IoTDB的功能特性

IoTDB 是一款國產自研的物聯網原生時序數據庫,其技術發源于清華大學,目前已歷經 13 年的發展。主要是為了解決工業物聯網時序數據管理的實時性、壓縮比、分布式部署等多方面痛點。

IoTDB 的功能特性

IoTDB 能夠實現穩定、高效、易用的時序數據管理方案,在國際數據庫基準測試性能排行榜 benchANT 中,IoTDB 的讀、寫、壓縮指標均排名第一。其功能特性可簡單歸結為“管得好、接得住、存得下、處理強、實時性、智能性、協同性”七個詞。

一、管得好:基于業務,便捷建模

對于一款時序數據庫而言,在面對海量的時序數據時,首先需要在最底層,也就是數據建模層面,需要確保這些時序數據能夠被很好地管理。

從 OT 視角而言,物聯網場景中產線、設備產生的 BOM 數據是按照層級,彼此關聯起來的。比如集團下可能有很多工廠,工廠中有很多的產線,產線中有很多設備,最終這些設備再產生數據。

因此,IoTDB 實現了樹形時序數據模型,能夠直觀地與 BOM 數據進行對應。同時對需要新增或變更的設備,也能夠做到自動化同步,這使得時序數據管理與運維的成本得到有效降低。

同時,IoTDB 自研的元數據管理模型,可以實現億級的時間序列管理規模,并降低數據冗余,通過高效的元數據存儲來提高 IoTDB 管理的數據質量。

最后,在樹形模型基礎上,IoTDB 可以對序列級的權限進行更好的控制,比如可以為集團級、工廠級、產線級數據設置不同的權限范圍,進而達到多層級數據高效管理的目的。

 

二、接得?。焊哳l數據、亂序數據高寫入

底層數據建模在確定后,IoTDB 在物聯網時序數據生命周期的多個環節也都能夠解決一些常見的難題。

第一個環節自然是時序數據的寫入,該環節第一個難題是高頻數據的寫入。針對前面提到的振動場景 1kHz 的采集頻率,傳統時序數據庫一般因為采用行式數據寫入,所以只能支持到秒級數據接入。

而 IoTDB 可通過底層文件 TsFile 支持的列式數據寫入,能夠達到毫秒級的數據接入,相比競品有 10 倍的性能優勢。

第二個難題是亂序數據的寫入。亂序數據可以簡單理解為“早產生的數據后到了,晚產生的數據先到了”。在實際場景中,因為弱網環境出現的斷網、延遲等問題,數據無法保序到達,產生亂序數據的情況比較多。針對這一問題,IoTDB 首創了亂序分離存儲引擎,用獨有的順亂序判斷的機制,將順序數據與亂序數據分開,并通過多種空間合并的方法,可以去消除亂序數據。IoTDB 的亂序數據處理效率可以達到競品的 4 倍以上。

 

三、存得下:首創標準文件格式 TsFile

時序數據存儲方面一直面臨著海量數據導致的存儲成本高昂的問題,而 IoTDB 通過自研的時序數據標準文件格式 TsFile 解決了這一難題。

TsFile 結合列式存儲、編碼算法、分段摘要信息、文件級索引等架構,相比通用的文件格式,對時序數據的壓縮比可以提升 20% 以上,達到無損壓縮 10 倍以上、無損壓縮 100 倍以上的壓縮比。

另外,TsFile 架構針對時序數據特性的優化,也使得 IoTDB 有效提升了時序數據的寫入與查詢效率。相比競品,IoTDB 的寫入吞吐量提升了 2-3 倍,查詢吞吐量則提升了 2-10 倍。

值得一提的是,繼 IoTDB 之后,TsFile 已經被 Apache 基金會通過成為時序數據領域第二個 Top-Level 項目,這就意味著其不但能夠與 IoTDB 共同使用,還可以作為單獨文件格式進行使用。

四、處理強:支持時序特性查詢分析

解決了寫入、存儲問題,下一步就是運用數據。時序數據因為強時間屬性,在查詢時用戶很可能有一些特殊的、強關聯時間的需求。常見場景包括在數據密集情況下,想清晰地知道數據的走勢、最新值;想以時間為維度,查詢一段時間內的數據情況等等。

這些特性的交互式查詢 IoTDB 都是支持的,比如針對上述的場景,IoTDB 可提供降采樣查詢、最新點查詢和時間分段查詢。

降采樣查詢可以去掉原始高頻數據不必要的細節,還原數據的基本趨勢;最新點查詢通過緩存每個設備的最新值,實現毫秒級響應;時序分段查詢可以根據數據的變化閾值、中斷間隔等等維度進行多樣的分段查詢。

再進一步,IoTDB 還提供一套 UDF(用戶自定義函數)體系,提供超過 70 種內置函數,可滿足數據修復、數據圖像、異常檢測等時序數據計算需求。如果用戶還有在這套體系之外的計算需求,也可自行在 IoTDB 中編輯、保存常用的 UDF 函數。

查詢、計算雙管齊下,IoTDB 希望幫助用戶最大化地開發時序數據的價值。

 

五、智能化:AINode 擁抱機器學習

現在正迎來智能時代,IoTDB 自然要擁抱 AI。為了更好地讓 IoTDB 實現智能化分析,IoTDB 團隊在 2023 年為 IoTDB 集群引入了智能分析節點 AINode。

AINode 通過與集群管理節點(ConfigNode)、數據節點(DataNode)的交互,可以為用戶提供模型注冊、管理、推理的能力,結果可直接在 IoTDB 返回。同時也涵蓋了時序數據適用的多類算法和自研模型,能夠實現序列預測、異常預測等時序分析場景需要的深度學習功能。

IoTDB 支持讓時序數據與機器學習、模型分析領域的技術成果更好地結合,為用戶提供更深入、多樣的數據分析方法。

六、實時性:內置實時流處理功能

在時序數據的基礎場景之外,IoTDB 團隊在 2023 年加入了實時流處理功能,可不間斷地處理數據,并及時發現異?;蚍治鲒厔?。

IoTDB 中,一個流處理任務(Pipe)包含抽取(Extract)、處理(Process)、發送(Connect)三個子任務,三個子任務可由三種獨立插件進行實現,并允許用戶自定義配置三個子任務的處理邏輯和具體屬性,通過組合不同的子任務內核,實現靈活的數據 ETL 能力。

利用流處理框架,可以在 IoTDB 搭建完整、靈活的數據鏈路,實現毫秒級的低延遲響應,滿足端邊云數據同步、雙活集群部署、網閘穿透、實時告警、數據訂閱、異地災備、讀寫負載分庫等場景需求。

 

七、云邊協同:文件+引擎,全面數據協同

在工業物聯網應用場景中,產生數據的設備可能來自于多個廠站,數據經常需要匯總至省域或集團進行分析,所以時序數據庫需要多終端、多環境、多平臺部署。

IoTDB 的數據同步便解決了這一問題。該方案基于可插拔的 TsFile 文件,并支持操作級、文件級的多種傳輸模式,與跨網閘傳輸、加密傳輸。同一個文件類型可在端、邊、云側進行協同傳輸,同步方案的易用性得以保障;傳輸模式多樣則保障數據傳輸的實時性、吞吐量、安全性。

同時,IoTDB 的數據同步支持數據在邊側進行必要的數據清洗與計算操作,再向云側進行同步,能夠最大化地利用邊側的算力資源,同時節省云側算力資源。

此外,企業因為業務擴張,也需要擴展數據庫部署規模。IoTDB 的分布式架構具備高擴展性,可以達到秒級擴容、無需遷移數據、靈活調整。

 

在過去的 13 年里,IoTDB 打破了海量時序數據管理的瓶頸,將最初的技術思考轉化為一個成熟的項目,實現了多項自研技術突破,也將產品體系商業化。這期間,天謀科技扮演著不可或缺的的角色,讓 IoTDB 技術創新不止停留在科研、論文,而是真正在多個行業落地,幫助用戶挖掘時序數據的價值,并根據用戶反饋確定下一步的研發方向。