一、IoTDB的架構
IoTDB的架構主要分為三個部分:
-
?時序文件(Tsfile)?:
- 專為時序數據設計的文件存儲格式。
- 支持高效的壓縮和查詢性能。
- 可獨立使用,并可通過TsFileSync工具同步至HDFS進行大數據處理。
-
?數據庫引擎?:
- 負責數據的收集、寫入、存儲和查詢等核心功能。
-
?分析引擎?:
- 可選的分析組件,用于數據處理和分析。
二、IoTDB的安裝啟動方法
?1. 使用環境?:
- 需要具備JDK>=1.8的運行環境,并配置好JAVA_HOME環境變量。
?2. 下載指引?:
- ?Windows系統?:前往IoTDB官網下載頁面,選擇對應版本的“All-in-one”下載。
- ?Linux系統?:使用wget指令從官方下載地址下載。
?3. 配套指南?:
- Windows和Mac系統只需解壓下載包。
- Linux系統解壓后需設置最大打開文件數為65535以保證運行穩定。
?4. 啟動IoTDB Server與Cli工具?:
- ?啟動IoTDB Server?:
- Linux及Mac系統:使用
nohup sbin/start-server.sh
指令啟動。 - Windows系統:使用
sbin\start-server.bat
指令啟動。
- Linux及Mac系統:使用
- ?啟動Cli工具?:
- Linux及Mac系統:使用
sbin/start-cli.sh
指令啟動。 - Windows系統:在解壓文件夾下使用
sbin\start-cli.bat
指令啟動。
- Linux及Mac系統:使用
?5. 退出方法?:
- 退出Cli工具:輸入
quit
命令。 - 退出IoTDB Server:使用
sbin/stop-server.sh
(Linux及Mac)或sbin\stop-server.bat
(Windows)指令。
三、IoTDB的數據模式與建模方式
?1. 數據層級與命名格式?:
- IoTDB采用樹形結構定義數據模式,根節點為
root
。 - 數據命名格式為從根節點到葉子節點的路徑,如
root.BHSFC.Q1.W002.WROT_HubTmp
。
?2. 數據概念?:
- ?時間戳(Timestamp)?:數據采集的時間點。
- ?測點?:監測數據的物理量,一個測點的數據構成一條時間序列。
- ?時間序列?:以時間戳為索引的數據序列,由測點數據構成。
?3. 基于物聯網數據模型的IoTDB元數據建模?:
- 物聯網數據模型通常包括集團層、工廠層、設備層和測點層。
- IoTDB數據模型基于物聯網數據模型,以
root
為根節點,第二層及以下可設置為存儲組(storage group)。 - 存儲組可根據需要設置多個層級,至少為2層。
- 設備層為實體,測點層為物理量,即時間序列。
綜上所述,IoTDB具有高效的時序數據處理能力,其架構靈活、安裝啟動簡便,且數據模式貼合物聯網實際應用場景,為時序數據管理提供了強有力的支持。