搜尋
首頁科技週邊人工智慧Apache IoTDB:解決工業物聯網場景下的儲存、查詢和使用難題的創新資料庫

隨著步入工業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 任務。」

Apache IoTDB:解决工业物联网场景下的存储、查询和使用难题的创新数据库

  • 論文網址:https://dl.acm.org/doi/abs/10.1145/3589775
  • 專案網址:https://github.com/ apache/iotdb

論文的重點包含以下幾個部分:

1.資料模型的設計:時間序列在邏輯層次上的組織方式和在物理模式中的儲存;

##2. TsFile 文件格式:自研的列式儲存檔案格式,同時滿足寫入、查詢等的高效性;

3. IoTDB 引擎:主要包括儲存引擎、查詢引擎等;

#分散式解決方案是指將一個任務或問題分解成多個子任務,並將這些子任務指派給多個電腦或節點進行處理的方法。這種解決方案可以提高系統的可靠性、可擴展性和效能。透過將任務分佈到多個電腦上,可以減輕單一電腦的負載,提高系統的並發處理能力。同時,分散式解決方案還可以透過冗餘備份和故障轉移來增強系統的容錯性,即使某個節點發生故障,系統仍然可以繼續運作。在當今的大數據和雲端運算環境中,分散式解決方案已成為一種常見的架構模式,被廣泛應用於各種領域,如分散式資料庫、分散式儲存系統和分散式運算平台等

對於接下來的內容,我們將會對這幾個重點部分進行更詳細的解讀

詳細解讀

需要進行資料模型設計

如下圖所示,我們採用了樹的結構來滿足高強度的寫入操作,並且能夠有效處理物聯網場景中常見的延遲資料到達問題

在樹結構中,每個葉子節點都代表一個感測器,每個感測器都有對應的設備歸屬。就像圖中最底下的兩層所示,向上的層級同樣適用

Apache IoTDB:解决工业物联网场景下的存储、查询和使用难题的创新数据库

#(2)在前文中已經闡述了邏輯結構,現在我們將來看物理結構的實現,主要包括時間序列(Time series)和序列簇(Series family)兩部分。下圖展示了每個時間序列由時間和值兩個屬性組成,透過根節點到葉子節點的完整路徑來定位時間序列。上圖展示了序列簇的概念,一個序列簇中可能包含多個設備,它們的資料將一起儲存在TsFile(一種檔案結構,在後文中會進行解釋)中#

Apache IoTDB:解决工业物联网场景下的存储、查询和使用难题的创新数据库

需要重新寫的內容是:2. TsFile 檔案格式的設計

TsFile是Apache IoTDB自研的列式儲存檔案格式。其架構如下圖所示:

Apache IoTDB:解决工业物联网场景下的存储、查询和使用难题的创新数据库

在設計TsFile時,研究團隊主要專注於解決的問題是:

  • #節省空間,盡可能壓縮資料
  • 減少檔案數量
  • 會一起查詢的時間序列在物理位置上的接近
  • 減少磁碟碎片
  • 高效率存取

##主要提供的解決方案是:

  • 列式儲存:消除了空值,節省了磁碟佔用;資料存取局部性
  • ##時間序列編碼:利用物聯網場景時間序列的獨特特徵
  • 頻域編碼:訊號處理中廣泛進行時間序列的頻域分析
  • 具體的結構解析:頁面( Page )是基本儲存單位,Chunk 中包含多個Page,一個chunk 中的page 屬於同一個時間序列,大小可變;Chunk Group 包含多個Chunk,一個群組中的多個chunk 屬於同一段時間內寫入的一個或多個系列的設備,將他們放在連續的磁碟空間,是因為他們經常會被一起查詢;Block 是在內存中的,寫入的塊組先在內存中進行緩衝,當內存達到閾值時,將所有塊組刷新到TsFile 中;索引(FileIndex)於文件末尾記錄信息,用於數據訪問。

需要被重寫的內容是:3. IoTDB 引擎

在這個部分,研究者主要關注了物聯網場景下的延遲到達、高效查詢處理和類似SQL 查詢的設計。 IoTDB 引擎的結構如下圖所示:

Apache IoTDB:解决工业物联网场景下的存储、查询和使用难题的创新数据库

#在圖中,我們可以看到儲存引擎部分主要用於處理TsFile的寫入、讀取和管理。在這個部分中,採用了自動延遲分離技術(如下圖所示)

Apache IoTDB:解决工业物联网场景下的存储、查询和使用难题的创新数据库

#在大多數情況下,當TsFile中的時間範圍沒有重疊時,建議使用延遲資料分離。然而,對於大多數資料是無序的情況,不建議使用延遲資料分離

重寫後的內容:另一個重要的組成部分是查詢引擎,它負責將SQL查詢轉換為可以在資料庫中執行的操作符。同時,為了適應工業物聯網場景,Apache IoTDB 也設計了豐富的時間序列資料查詢功能

#需要重新寫入的內容是:4. 分散式的解決方案

TsFile可以在HDFS上進行分佈,並由Spark進行操作。此外,它還提供了原生的解決方案,用於更好地處理資料分佈和查詢處理,包括分區複製、NB-Raft複製和動態讀取一致性

##對比結果

在論文中,我們對TsFile和IoTDB進行了比較,這兩者是工業界廣泛使用的最先進的文件格式和時序資料庫。透過下圖展示,我們展示了Apache IoTDB在多個方面的優勢

Apache IoTDB:解决工业物联网场景下的存储、查询和使用难题的创新数据库

以上兩張圖展示了TsFile在寫入吞吐量、讀取時間成本和同步效能方面的優勢,這主要歸因於TsFile的物聯網感知結構設計,避免了儲存冗餘資訊如deviceId。儘管TsFile的磁碟佔用沒有明顯優勢,但這是因為建立了更精細的索引,導致佔用更多空間。然而,這種犧牲可以帶來非凡的查詢時間改善,如我們可以看到讀取時間成本的明顯優勢

Apache IoTDB:解决工业物联网场景下的存储、查询和使用难题的创新数据库

在上述圖表中可以清楚地看到,IoTDB在幾乎所有測試中都展現出更出色的效能,包括更高的寫入吞吐量和更低的寫入延遲

Apache IoTDB:解决工业物联网场景下的存储、查询和使用难题的创新数据库

在上述實驗中,我們觀察到當查詢資料規模較大時,IoTDB展現出更好的效能。特別是在大規模資料聚合方面,IoTDB的優勢特別明顯

總結

這篇論文介紹了一種名為Apache IoTDB的新型時序資料管理系統,該系統採用開放式架構,專門設計用於支援物聯網應用的即時查詢和大數據分析。該系統包括一種新的時序檔案格式,名為TsFile,它採用列儲存的方式來儲存時間和值,以避免空值並實現有效的壓縮。在TsFile的基礎上,IoTDB引擎採用類似LSM樹的策略來處理高強度的寫入,並且能夠處理物聯網場景中常見的延遲資料到達問題。豐富的可擴展查詢功能以及在TsFile中預先計算的統計信息,使得IoTDB能夠高效地處理OLTP和OLAP任務

IoTDB已經成為能夠更好應對工業物聯網場景的新型資料庫,這是基於上述技術的結果

以上是Apache IoTDB:解決工業物聯網場景下的儲存、查詢和使用難題的創新資料庫的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:51CTO.COM。如有侵權,請聯絡admin@php.cn刪除
如何在Excel中刪除重複項? - 分析Vidhya如何在Excel中刪除重複項? - 分析VidhyaApr 15, 2025 am 09:20 AM

數據完整性:刪除Excel中的重複項以進行準確分析 乾淨的數據對於有效的決策至關重要。 Excel電子表格中的重複條目可能會導致錯誤和不可靠的分析。本指南向您展示瞭如何輕鬆刪除DUP

十大電話面試技巧 - 分析Vidhya十大電話面試技巧 - 分析VidhyaApr 15, 2025 am 09:19 AM

掌握電話採訪的藝術:成功指南 成功的電話面試可以大大增加進入工作申請過程下一階段的機會。 這種至關重要的第一印象,通常是唯一的前fac

如何成為統計學家?如何成為統計學家?Apr 15, 2025 am 09:15 AM

介紹 想像一下,有能力在醫療保健,金融或體育等領域為自己和您的公司做出明智的決定。那就是統計學家的角色。 隨著組織中數據的越來越多,對統計學家的需求

AI如何工作? - 分析VidhyaAI如何工作? - 分析VidhyaApr 15, 2025 am 09:14 AM

人工智能:綜合指南 技術使我們能夠設想一個世界,即機器了解我們的偏好,預測我們的需求,並從過去的互動中學習以提供更好的結果。這不是科幻小說;它是

什麼是像形圖? - 分析Vidhya什麼是像形圖? - 分析VidhyaApr 15, 2025 am 09:09 AM

介紹 在數據分析的世界中,有效的溝通是關鍵。 象形圖提供了一個強大的解決方案,以視覺上吸引人且易於消化的格式提供信息。與復雜的圖表和數字不同,象形文字 - 也

Llama-3.1-STORM-8B:8B LLM優於元和愛馬仕Llama-3.1-STORM-8B:8B LLM優於元和愛馬仕Apr 15, 2025 am 09:08 AM

Llama 3.1風暴8b:有效語言模型的突破 追求高效,準確的語言模型導致了Llama 3.1 Storm 8b的發展,這是80億個參數模型類別的顯著進步。 這是完善的

如何安裝git? - 分析Vidhya如何安裝git? - 分析VidhyaApr 15, 2025 am 09:07 AM

git:您的版本控制與協作的基本指南 Git是開發人員的關鍵工具,簡化了項目協作和版本控制。 本指南提供了在Linux,MacOS和Wind上安裝GIT的直接說明

在LLMS中調用工具在LLMS中調用工具Apr 14, 2025 am 11:28 AM

大型語言模型(LLMS)的流行激增,工具稱呼功能極大地擴展了其功能,而不是簡單的文本生成。 現在,LLM可以處理複雜的自動化任務,例如Dynamic UI創建和自主a

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
4 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
4 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
4 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
1 個月前By尊渡假赌尊渡假赌尊渡假赌

熱工具

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具