隨著步入工業4.0時代,數位化和自動化的引入,生產環境變得更有效率。同時,人們開始關注智慧型裝置帶來的大量數據的潛在價值,但如何有效地儲存智慧型裝置產生的數據,以及如何更好地對大量數據進行分析成為了一個難題。傳統的資料庫模型和儲存方式已經無法滿足這些需求。因此,時序資料庫應運而生,旨在實現高效的資料儲存和查詢,幫助更好地挖掘資料的潛在價值
面對這樣的狀況,清華大學於2015 年啟動了IoTDB 的研發。 2020 年 9 月 23 日 Apache IoTDB 畢業成為 Apache 頂級項目 (Top-Level Project),是目前唯一由我國高校發起的 Apache 基金會頂級項目,也是 Apache 基金會旗下唯一物聯網資料管理領域開源專案。 2021 年 10 月,Apache IoTDB 核心團隊創立了天謀科技,繼續運作 IoTDB,幫助工業用戶解決資料 「存、查、用」 難題。
關於 Apache IoTDB 研發的核心技術,幾位參與者合作發表了一篇綜述論文,詳細而完整地闡述了 IoTDB 的設計。文章以一個需要管理上萬台挖土機的工業公司為例,描述了需求:「資料首先被打包到設備中,然後透過5G 行動網路傳送到伺服器。在伺服器中,資料被寫入時間序列資料庫,用於OLTP 查詢。最後,資料科學家可以將資料從資料庫載入到大數據平台,用於複雜的分析和預測,即OLAP 任務。」
- 論文網址:https://dl.acm.org/doi/abs/10.1145/3589775
- 專案網址:https://github.com/ apache/iotdb
論文的重點包含以下幾個部分:
1.資料模型的設計:時間序列在邏輯層次上的組織方式和在物理模式中的儲存;
##2. TsFile 文件格式:自研的列式儲存檔案格式,同時滿足寫入、查詢等的高效性;
3. IoTDB 引擎:主要包括儲存引擎、查詢引擎等;
#分散式解決方案是指將一個任務或問題分解成多個子任務,並將這些子任務指派給多個電腦或節點進行處理的方法。這種解決方案可以提高系統的可靠性、可擴展性和效能。透過將任務分佈到多個電腦上,可以減輕單一電腦的負載,提高系統的並發處理能力。同時,分散式解決方案還可以透過冗餘備份和故障轉移來增強系統的容錯性,即使某個節點發生故障,系統仍然可以繼續運作。在當今的大數據和雲端運算環境中,分散式解決方案已成為一種常見的架構模式,被廣泛應用於各種領域,如分散式資料庫、分散式儲存系統和分散式運算平台等
對於接下來的內容,我們將會對這幾個重點部分進行更詳細的解讀
詳細解讀
需要進行資料模型設計
如下圖所示,我們採用了樹的結構來滿足高強度的寫入操作,並且能夠有效處理物聯網場景中常見的延遲資料到達問題
在樹結構中,每個葉子節點都代表一個感測器,每個感測器都有對應的設備歸屬。就像圖中最底下的兩層所示,向上的層級同樣適用
#(2)在前文中已經闡述了邏輯結構,現在我們將來看物理結構的實現,主要包括時間序列(Time series)和序列簇(Series family)兩部分。下圖展示了每個時間序列由時間和值兩個屬性組成,透過根節點到葉子節點的完整路徑來定位時間序列。上圖展示了序列簇的概念,一個序列簇中可能包含多個設備,它們的資料將一起儲存在TsFile(一種檔案結構,在後文中會進行解釋)中#
需要重新寫的內容是:2. TsFile 檔案格式的設計
TsFile是Apache IoTDB自研的列式儲存檔案格式。其架構如下圖所示:
在設計TsFile時,研究團隊主要專注於解決的問題是:
- #節省空間,盡可能壓縮資料
- 減少檔案數量
- 會一起查詢的時間序列在物理位置上的接近
- 減少磁碟碎片
- 高效率存取
##主要提供的解決方案是:
- 列式儲存:消除了空值,節省了磁碟佔用;資料存取局部性 ##時間序列編碼:利用物聯網場景時間序列的獨特特徵
- 頻域編碼:訊號處理中廣泛進行時間序列的頻域分析
- 具體的結構解析:頁面( Page )是基本儲存單位,Chunk 中包含多個Page,一個chunk 中的page 屬於同一個時間序列,大小可變;Chunk Group 包含多個Chunk,一個群組中的多個chunk 屬於同一段時間內寫入的一個或多個系列的設備,將他們放在連續的磁碟空間,是因為他們經常會被一起查詢;Block 是在內存中的,寫入的塊組先在內存中進行緩衝,當內存達到閾值時,將所有塊組刷新到TsFile 中;索引(FileIndex)於文件末尾記錄信息,用於數據訪問。
需要被重寫的內容是:3. IoTDB 引擎
在這個部分,研究者主要關注了物聯網場景下的延遲到達、高效查詢處理和類似SQL 查詢的設計。 IoTDB 引擎的結構如下圖所示:
重寫後的內容:另一個重要的組成部分是查詢引擎,它負責將SQL查詢轉換為可以在資料庫中執行的操作符。同時,為了適應工業物聯網場景,Apache IoTDB 也設計了豐富的時間序列資料查詢功能
#需要重新寫入的內容是:4. 分散式的解決方案
TsFile可以在HDFS上進行分佈,並由Spark進行操作。此外,它還提供了原生的解決方案,用於更好地處理資料分佈和查詢處理,包括分區複製、NB-Raft複製和動態讀取一致性##對比結果
在論文中,我們對TsFile和IoTDB進行了比較,這兩者是工業界廣泛使用的最先進的文件格式和時序資料庫。透過下圖展示,我們展示了Apache IoTDB在多個方面的優勢
以上兩張圖展示了TsFile在寫入吞吐量、讀取時間成本和同步效能方面的優勢,這主要歸因於TsFile的物聯網感知結構設計,避免了儲存冗餘資訊如deviceId。儘管TsFile的磁碟佔用沒有明顯優勢,但這是因為建立了更精細的索引,導致佔用更多空間。然而,這種犧牲可以帶來非凡的查詢時間改善,如我們可以看到讀取時間成本的明顯優勢
在上述圖表中可以清楚地看到,IoTDB在幾乎所有測試中都展現出更出色的效能,包括更高的寫入吞吐量和更低的寫入延遲
在上述實驗中,我們觀察到當查詢資料規模較大時,IoTDB展現出更好的效能。特別是在大規模資料聚合方面,IoTDB的優勢特別明顯
總結
這篇論文介紹了一種名為Apache IoTDB的新型時序資料管理系統,該系統採用開放式架構,專門設計用於支援物聯網應用的即時查詢和大數據分析。該系統包括一種新的時序檔案格式,名為TsFile,它採用列儲存的方式來儲存時間和值,以避免空值並實現有效的壓縮。在TsFile的基礎上,IoTDB引擎採用類似LSM樹的策略來處理高強度的寫入,並且能夠處理物聯網場景中常見的延遲資料到達問題。豐富的可擴展查詢功能以及在TsFile中預先計算的統計信息,使得IoTDB能夠高效地處理OLTP和OLAP任務
IoTDB已經成為能夠更好應對工業物聯網場景的新型資料庫,這是基於上述技術的結果
以上是Apache IoTDB:解決工業物聯網場景下的儲存、查詢和使用難題的創新資料庫的詳細內容。更多資訊請關注PHP中文網其他相關文章!

數據挑戰:掌握SQL的案例聲明以進行準確的見解 當您擁有數據愛好者時,誰需要律師? 數據分析師,科學家和廣闊數據世界中的每個人都面臨著自己的複雜挑戰,確保系統功能FLA

利用AI中的知識鏈的力量:深入研究迅速工程 您是否知道人工智能(AI)不僅可以理解您的問題,而且還可以編織大量知識來提供有見地的答案?

介紹 Joanna Maciejewska最近在X上分享了一個有見地的觀察結果: AI推動最大的挑戰? 這是錯誤的。我希望AI處理洗衣和菜餚,以便我可以專注於藝術和寫作,而不是相反。 - 喬安娜·馬

Meta的Llama 3.1:深入研究開源LLM功能 Meta繼續以開源大語模型(LLM)領導該指控。 駱駝一家從駱駝變成駱駝2,駱駝3和現在的駱駝3.1,表明了對

介紹 統計過程控制(SPC)圖表是質量管理中的重要工具,使組織能夠監視,控制和改善其流程。 通過應用統計方法,SPC圖在視覺上表示數據變化

本指南通過涵蓋了跨越初學者,中級和高級級別的30個問題,為您的MySQL面試提供了更大的準備。 MySQL是數據管理和分析中的重要工具,通過理論概念和實際查詢示例探討了

選擇正確的數據庫:關係與非關係 想像一下管理繁華的咖啡館:無數的訂單,波動的庫存水平和苛刻的客戶。 有效的工具對於成功至關重要。 同樣,處理大數據集需要C

人形機器人:一瞥未來 幾個世紀以來,人形機器人的概念(從復雜的發條機製到複雜的AI驅動創造物)捕捉了我們的想像力。 早期示例,例如雅克·德·沃卡森(Jacques de Vaucanson)的技工


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

禪工作室 13.0.1
強大的PHP整合開發環境

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

Dreamweaver CS6
視覺化網頁開發工具

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境