1. はじめに
IoTDB (Internet of Things Database) は、モノのインターネットの時系列データの収集、保存、管理、分析を統合するソフトウェア システムです。Apache IoTDB は、高性能かつ豊富な機能を備えた軽量アーキテクチャを採用しています。
IoTDB は、ストレージ、インデックス、チャンク ブロック ストレージから時系列を並べ替えるため、時系列データのクエリ パフォーマンスが大幅に向上します。データの一貫性は Raft プロトコルを通じて保証されます。時系列シナリオの場合、保存されたデータを事前計算して保存し、分析シナリオのパフォーマンスを向上させます。時系列データの特性に応じて、強力なデータ エンコードと圧縮機能を備え、独自のコピー メカニズムによりデータのセキュリティも確保され、Apache Hadoop や Flink などと緊密に統合されており、大量のデータ ストレージに対応できます。産業用モノのインターネット、高速データ読み取り、複雑なデータ分析要件の分野。
2. IoTDBの構造
IoTDB スイートはいくつかのコンポーネントで構成されており、これらが連携してデータ収集、データ書き込み、データ ストレージ、データ クエリ、データ視覚化、データ分析などの一連の機能を形成します。
次の図は、IoTDB スイートのすべてのコンポーネントを使用して形成された全体的なアプリケーション アーキテクチャを示しています。IoTDB は、特に時系列データベース コンポーネントを指します。
- ユーザーは、デバイスセンサーから収集した時系列データ、サーバー負荷、CPUメモリなどのシステムステータスデータ、メッセージキューの時系列データ、アプリケーションの時系列データ、または他のデータベースの時系列データを、JDBC/セッションを介してローカルまたはリモートにインポートできます。 IoTDB。ユーザーは、上記のデータをローカル (または HDFS 上の) TsFile ファイルに直接書き込むこともできます。
- ユーザーは TsFile ファイルを HDFS に書き込んで、Hadoop または Flink データ処理プラットフォームで異常検出や機械学習などのデータ処理タスクを実現できます。
- HDFS またはローカルに書き込まれる TsFile ファイルの場合、TsFile-Hadoop または TsFile-Flink コネクタを使用して、Hadoop または Flink がデータ処理を実行できるようにすることができます。
- 解析結果はTsFileファイルに書き戻すことができます。
- IoTDB と TsFile は、SQL 形式、スクリプト形式、グラフィカル形式でデータを表示および書き込みするためのユーザーのさまざまなニーズを満たす、対応するクライアント ツールも提供します。IoTDB サービスには、IoTDBServer (DataNode) と ConfigNode の 2 つのロールが含まれています。Community Edition のロール名 DataNode は HDFS ロールと同じ名前であるため、次の図に示すように、DataNode 名は IoTDBServer に変更されます。
- ConfigNode: DataNode データの断片化、負荷分散などを担当する管理役割。
- IoTDBServer (DataNode): ストレージの役割。データ ストレージ、クエリ、および書き込み機能を担当します。
3. IoTDBの原理
属性階層、属性範囲、データ間の所属関係に従って、IoTDB データ モデルは、下図に示す属性階層組織構造、つまり「電力グループ層 - 発電所層 - 機器層 - センサー層」として表現できます。 」。このうち、ROOTはルートノードであり、センサー層の各ノードはリーフノードである。IoTDB の構文では、ROOT ノードからリーフ ノードまでのパスを「.」で結ぶことが規定されており、この完全なパスが IoTDB の時系列に名前を付けるために使用されます。例えば、下図の一番左のパスに対応する時系列名は「ROOT.ln.wf01.wt01.status」となります。
4. まとめ
IoTDB はデータをローカルに保存するため、ストレージ用の他のコンポーネントに依存しません。