どの履歴バックエンドを使用する必要がありますか?¶
IoT Platform は、リアルタイムで処理されるコンテキスト情報に関する履歴データセットを作成し、維持するいくつかのバックエンドを提供します。これらのバックエンドの中で見つけることができます :
- HDFS : Hadoop 分散ファイルシステム
- MicroStrategy : BI コンポーネントのプラットフォーム
- CKAN : オープンデータプラットフォーム
- STH Comet : MongoDB に構築された短期履歴データベース (Short-Term Historic database)
そのような多種多様なバックエンドを考えると、次の質問があります : 私のユースケースにどれが適していますか?これは通常、次の変数に依存します :
- データ量 : 短期および中期的なデータ量を見積もることができれば、それが最も重要な決定要因の1つになります
- プライバシに関する懸念 : データを公開データとして公開することができるか否か
- 必要な分析 : データを保存する主な最終目的は、付加価値の高い洞察を得るためにデータを分析することです
- 視覚化ツール : 非常に上記に関連して、大量のデータを扱うときは、グラフィカルなツールが常に歓迎されます
さらに、第5の変数は、永続性バックエンドが静的なデータロードを可能にする場合です。つまり、バックエンドは実際のコンテキストデータセットを動的に作成するために使用されるだけでなく、独自の静的データの他のソースもアップロードできます。
したがって、上記の変数の観点からすべての可能性を分析しましょう。
HDFS¶
実際のビッグデータを扱う場合、HDFS がデファクトスタンダードであるため、データの量を気にしたくない場合は、これが最良の選択です。 分散したマシンのクラスタに基づいて、HDFS のストレージ容量は、すべてのクラスタマシンの容量を集計したものです。
それにもかかわらず、HDFS は、フォルダや非常に大きなファイルの管理を担当する単なるファイルシステムです。したがって、分析や視覚化ツールを期待しないでください。これは、Hadoop エコシステムの他のツールが提供しなければならないものです。IoT Platofom の場合、以下のものを見つけることができます :
- MapReduce : Hadoopのネイティブ解析パラダイム。元の問題を多くのより小さな問題(マップ・フェーズ)に分割し、すべての部分的な結果を集約すること(リデュース・フェーズ)に基づいています
- クエリ・ツール : Apache HiveとApache Pig。HDFS内の構造化データ(CSVやJsonなど)に特化したクエリ・ツールです
- Apache Hue : MapReduceジョブを実行したり、HiveまたはPigを使用してデータをクエリしたり、ファイルブラウザを使用して HDFS 内の生データを表示する Web ベースのユーザインターフェイス
プライバシに関して、HDFS はユーザ指向のツールであり、Unixのような権限に基づいてデータが保護されています。これは、ユーザと同じグループのメンバが他の世界と同じようにアクセスを制限していた場合でも、データは少なくともユーザだけが利用できることを意味します。これは IoT Platform のケースです。
最後に、任意の静的データセットを HDFS にアップロードできるきます。次に、このデータは、プラットフォームによって作成されたコンテキストデータセットとは独立して分析することができます。たとえば、相関のために、これらのデータを一緒に使用することもできます。
MicroStrategy¶
これは、IoT Platform 用のビジネスインテリジェンス・システムです。MicroStrategy にはさまざまな機能が用意されているため、ビジネス指向のビジュアライゼーションと分析を目的としている場合は、この機能を使用する必要があります :
- 一般的なデータの視覚化
- 新しいデータの発見
- 地理空間の視覚化
- 高度なネイティブ解析機能
- エンタープライズ・レポート
- ダッシュボード
すべてのデータは、分析データベース(MySQL)に保存する必要があります。このデータベースは、FIWARE service、つまり、プラットフォームのテナントごとにプライベートデータベースを処理します。
CKAN¶
データを公開したいのであれば、間違いありません : CKANは、履歴データセットを作成する永続性バックエンドです。これは、世界で最も使用されているオープンデータ・プラットフォームの1つです。Open Knowledge Foundation によれば、データを公開するということは、誰でも自由に使用し、再利用し、再配布できることを意味します。しかし、CKANを使用しても、公開されたすべてのデータがパブリックでなければならず、データセットごとに構成可能である必要はありません。
ストレージ機能に関しては、FileStore、単純なファイルマネージャ、または PostgreSQL に基づく DataStore に、データをアップロードすることができます。
CKANのオープンデータ機能とは別に、ビューアの形で提供される視覚化ツールをハイライトする必要があります。他のビューアはリクエストに応じて追加できます :
- テキストビュー と イメージビュー : FileStore 内にそれぞれテキストとイメージファイルの内容を表示するだけです。XMLやJsonなどの特殊な形式では、構文がハイライトされます
- リクライニングビュー : データストアのプラットフォームによって作成されたコンテキスト・データセットに使用されるビジュアライゼーション拡張です。データは、グリッド、2軸グラフ、またはデータにジオロケーションデータが含まれている場合はジオロケーションマップとして表示できます
CKANは分析ツールを提供していません。CKAN では、HDFSと同じ方法で、データセットをアップロードすることができます(オープンにするかしないか)。
STH Comet¶
この MongoDB ベースのバックエンドは、その名前が示すように、短期間の履歴永続性に使用されます。短期的には、月、日、または日を理解する必要があります。
データ問合せ用の REST API を公開します。FIWARE serviceとFIWARE service pathは、認証トークンとともに Http ヘッダの形式で指定する必要があります。つまり、これはデータを個人的に消費するためのツールです。
STH Comet APIを選択する興味深い情報があります。生のレコードを取得できるだけでなく、レコードが集約され、それをある程度の分析と見なすことができます :
- サンプルのサブセットの合計
- サンプルのサブセットの二乗和
- サンプルのサブセットの最大サンプル
- サンプルのサブセットの最小サンプル
- サンプル数
サブセットは、特定の時間範囲と解像度でパラメータ化されます。
可視化ツールは STH Comet では提供されていません。それにもかかわらず、REST API は、熟練した開発者が Grafana などのツールと統合することができます。
MongoDB のプラットフォームによって格納されているものとは異なる他のデータは照会できません。
サマリ¶
バックエンド | 容量 | プライバシー | アナリティクス | 視覚化 | 静的アップロード |
---|---|---|---|---|---|
HDFS | 高い (1) | Unixユーザとグループ単位 (2) | Apache MapReduce (3) Apache Hive (3) Apache Pig (3) |
Apache Hue's FileBrowser (3) | はい |
MicroStrategy | 中 | データベースごと (4) | 多くのアルゴリズム | 多くのダッシュボード | いいえ |
CKAN | 中 | データセットごと (5) | - | CKAN text view CKAN image view CKAN recline view |
はい |
STH Comet | 中 | FIWARE service と FIWARE service path ごと | 未処理および集約クエリAPI | Grafana (6) | No |
(1) 初期容量を有し、コミットメントは顧客のニーズに合わせて調整することです
(2) 各 FIWARE service と FIWARE service path には、1人以上のUnixユーザがいるかもしれません
(3) HDFSによってネイティブに与えられるのではなく、Hadoopスタックによって与えられる
(4) データベースは各 FIWARE service ごとに処理されます
(5) データセットは CKAN 組織に属し、その名前はデータが属する FIWARE service に一致します。同様の類似は、FIWARE service と FIWARE service path を連結した名前のデータセット名で発生します
(6) STH Cometによってネイティブに与えられたものではなく、統合することができます