ホームページ >テクノロジー周辺機器 >AI >Apache IoTDB: 産業用 IoT シナリオにおけるストレージ、クエリ、使用法の問題を解決する革新的なデータベース

Apache IoTDB: 産業用 IoT シナリオにおけるストレージ、クエリ、使用法の問題を解決する革新的なデータベース

WBOY
WBOY転載
2023-09-15 17:25:011142ブラウズ

インダストリー 4.0 時代の到来により、デジタル化と自動化の導入により生産環境はより効率的になりました。一方で、スマートデバイスがもたらす膨大なデータの潜在的な価値に注目が集まり始めていますが、スマートデバイスが生成するデータをいかに効率的に保存し、どのように分析するかが課題となっています。従来のデータベース モデルとストレージ方法では、これらのニーズを満たすことができなくなりました。したがって、時系列データベースは時代の要求に応じて登場し、効率的なデータの保存とクエリを実現し、データの潜在的な価値をより適切に探索できるようにすることを目的としています。

このような状況に直面した清華大学2015年IoTDBの開発を開始。 2020 年 9 月 23 日に、Apache IoTDB は卒業し、Apache トップレベル プロジェクトになりました。これは現在、中国の大学によって開始された唯一の Apache Foundation トップレベル プロジェクトであり、IoT データ管理分野における唯一のオープンソース プロジェクトでもあります。アパッチ財団。 2021 年 10 月、Apache IoTDB コア チームは Tianmou Technology を設立し、産業ユーザー によるデータの「保存、検索、使用」の問題解決を支援するために IoTDB を運用し続けています。

Apache IoTDB によって開発されたコア テクノロジに関しては、数人の参加者が協力して、IoTDB の設計を詳細かつ完全に詳しく説明したレビュー ペーパーを出版しました。この記事では、数万台の掘削機を管理する必要がある産業会社を例に挙げ、要件について次のように説明しています。「データはまずデバイスにパッケージ化され、次に 5G モバイル ネットワークを通じてサーバーに送信されます。サーバーでは、データは、OLTP クエリの場合、時系列データベースに書き込まれます。最後に、データ サイエンティストは、複雑な分析と予測、つまり OLAP タスクのために、データベースからビッグ データ プラットフォームにデータをロードできます。"

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

  • 論文アドレス: https://dl.acm.org/doi/abs/10.1145/3589775
  • プロジェクト アドレス: https://dl.acm.org/doi/abs/10.1145/3589775 ://github.com/apache/iotdb

この論文の重要なポイントには次の部分が含まれます:

1. データ モデルの設計: 論理レベルでの時系列の編成と物理スキーマでのストレージ;

2. TsFile ファイル形式: 独自に開発したカラムナ型ストレージ ファイル形式で、書き込み、クエリなどの効率も満たします;

3. IoTDB エンジン : 主にストレージ エンジン、クエリ エンジンなどが含まれます;

分散ソリューションとはタスクの分解を指しますまたは問題を複数のサブタスクに分割し、これらのサブタスクを複数のコンピュータまたはノードに割り当てて処理します。このソリューションにより、システムの信頼性、拡張性、パフォーマンスが向上します。タスクを複数のコンピュータに分散することで、1 台のコンピュータの負荷が軽減され、システムの同時処理能力が向上します。同時に、分散ソリューションは冗長バックアップとフェイルオーバーを通じてシステムの耐障害性を強化することもでき、ノードに障害が発生した場合でもシステムは引き続き実行できます。今日のビッグ データとクラウド コンピューティング環境では、分散ソリューションが一般的なアーキテクチャ パターンとなり、分散データベース、分散ストレージ システム、分散コンピューティング プラットフォームなどのさまざまな分野で広く使用されています。

#次のコンテンツでは、これらの重要な部分をさらに詳しく説明します

## 詳細な解釈

#データ モデル設計が必要です

下の図に示すように、高強度の書き込み操作に対応するためにツリー構造が使用されます。 、IoT シナリオにおける一般的なデータ到着遅延問題を効果的に処理できます。

ツリー構造では、各リーフ ノードはセンサーを表し、各センサーには対応するデバイスがあります。図の下 2 階層に示すように、上位階層も同様です。

Apache IoTDB:解决工业物联网场景下的存储、查询和使用难题的创新数据库 (2) 論理構造は、図で説明しました。前回の記事では、主に時系列 (Time series) とシーケンス ファミリ (Series family) の 2 つの部分で構成される物理構造の実装について見ていきます。次の図は、各時系列が時間と値の 2 つの属性で構成されていることを示しています。時系列は、ルート ノードからリーフ ノードまでの完全なパスを通じて配置されます。上図はシーケンスクラスタの概念を示したもので、シーケンスクラスタには複数のデバイスが含まれており、それらのデータはTsFile(後述するファイル構造)にまとめて格納されます。

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

書き直す必要があるのは次のとおりです。 2. TsFile ファイル形式の設計

TsFile は Apache IoTDB の独自に開発されたカラムナ型ストレージ ファイル形式。その構造を以下の図に示します。

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

TsFile を設計するとき、研究チームは主に次の問題を解決することに重点を置きました。

    #スペースを節約し、可能な限りデータを圧縮します
  • ファイル数を削減します
  • クエリを実行します時系列を物理的な場所にまとめて保存
  • ディスクの断片化を削減
  • 効率的なアクセス
主に提供されるソリューション:

    列ストレージ: Null 値を排除し、ディスク使用量を節約、データ アクセスの局所性
  • # # time シーケンス エンコーディング: IoT シナリオで時系列の固有の特性を利用する
  • # 周波数ドメイン エンコーディング: 時系列の周波数ドメイン分析は信号処理で広く実行されます
  • 具体的な構造分析: ページ (ページ) は基本的な記憶単位です。チャンクには複数のページが含まれます。チャンク内のページは同じ時系列に属し、サイズが可変です。チャンク グループには複数のチャンクが含まれます。グループ内のページ。チャンクは、同じ期間内に書き込まれた 1 つ以上の一連のデバイスに属します。チャンクは、一緒にクエリされることが多いため、連続したディスク領域に配置されます。ブロックはメモリ内にあり、書き込まれたブロック グループはメモリ内の最初にあります。バッファリングは TsFile で実行され、メモリがしきい値に達すると、すべてのブロック グループが TsFile にフラッシュされ、インデックス (FileIndex) はファイルの最後にデータ アクセスのための情報を記録します。
  • #書き換える必要がある内容は次のとおりです。 3. IoTDB エンジン

# #このパートでは、研究者は主に、IoT シナリオにおける到着の遅延、効率的なクエリ処理、SQL のようなクエリの設計に焦点を当てています。 IoTDB エンジンの構造を次の図に示します。

#図では、ストレージ エンジン部分が主に次の目的で使用されることがわかります。 TsFileの書き込み処理、読み取り、管理を行います。この部分では、自動遅延分離テクノロジが採用されています (下図に示すように)

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

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

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

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

####################################################################################################################################################################################### ほとんどの場合、TsFile Lazy の時間範囲は、重複がない場合は、データを分離することをお勧めします。ただし、ほとんどのデータが順序付けされていない状況では、遅延データ分離は推奨されません。 ############書き換え後: もう 1 つの重要なコンポーネントは、SQL の変換を担当するクエリ エンジンです。クエリは演算子に変換されます。データベース内で実行できます。同時に、産業用 IoT シナリオに適応するために、Apache IoTDB は豊富な時系列データ クエリ関数も設計しました。###############書き換える必要がある内容は次のとおりです。 4. 分散型ソリューション #####################TsFile は HDFS 上に分散され、Spark によって操作できます。さらに、パーティション レプリケーション、NB-Raft レプリケーション、動的読み取り一貫性など、データ分散とクエリ処理をより適切に処理するためのネイティブ ソリューションも提供します############比較結果 ###### ######この論文では、業界で広く使用されている最先端のファイル形式およびタイミング データベースである TsFile と IoTDB を比較します。次の図を通して、さまざまな側面における Apache IoTDB の利点を示します########################

上の 2 つの図は、書き込みスループット、読み取り時間コスト、同期パフォーマンスにおける TsFile の利点を示しています。これは主に、deviceId などの冗長な情報の保存を回避する TsFile の IoT 対応構造設計によるものです。 TsFile のディスク使用量に明らかな利点はありませんが、より詳細なインデックスが構築され、より多くのスペースが使用されるためです。ただし、上記のグラフで読み取り時間コスト

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

に明らかな利点が見られるため、この犠牲はクエリ時間の大幅な改善につながる可能性があります。 IoTDB は、書き込みスループットの向上や書き込み遅延の短縮など、ほぼすべてのテストで優れたパフォーマンスを示していることがはっきりとわかります

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

上記の実験では、次のことが観察されました。 IoTDB は、クエリ データ サイズが大きいほどパフォーマンスが向上しました。特に大規模なデータ集約では、IoTDB の利点が特に顕著です

概要

このペーパーでは、Apache IoTDB A と呼ばれる新しいメソッドを紹介します。オープン アーキテクチャを採用し、IoT アプリケーションのリアルタイム クエリとビッグ データ分析をサポートするように特別に設計された新しい時系列データ管理システム。このシステムには、TsFile と呼ばれる新しい時系列ファイル形式が含まれています。これは、列ストレージを使用して時間と値を保存し、NULL 値を回避し、効果的な圧縮を実現します。 TsFile に基づいた IoTDB エンジンは、LSM ツリーのような戦略を使用して高強度の書き込みを処理し、IoT シナリオで一般的なデータ到着の遅延の問題を処理できます。 TsFile の豊富なスケーラブルなクエリ関数と事前計算された統計情報により、IoTDB は OLTP および OLAP タスクを効率的に処理できます

IoTDB は、産業用 IoT シナリオにさらに適切に対応できるようになりました。新しいタイプのデータベース、これは上記のテクノロジーの成果です。

以上がApache IoTDB: 産業用 IoT シナリオにおけるストレージ、クエリ、使用法の問題を解決する革新的なデータベースの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事は51cto.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。