Azure Stream Analytics と DocumentDB が IoT アプリに対応

このポストは、10 月 13 日に投稿された Azure Stream Analytics and DocumentDB for your IoT application の翻訳です。

 

高い信頼性を誇る Microsoft Azure クラウド プラットフォームは、世界中の企業で導入され、膨大なデータから価値ある情報を引き出すために利用されています。モノのインターネット (IoT) が企業の変革の切り札となりつつある今、適切なツールで IoT ソリューションを開発、デプロイできるようになることが強く求められています。

マイクロソフトは先日リリースした Azure IoT Suite (英語) に加え、Azure Stream AnalyticsAzure DocumentDB の統合強化を行いました。これにより迅速な構成が可能になり、製品の市場投入までの期間が短縮されます。Stream Analytics のジョブから DocumentDB に処理済みのデータを書き込めるようになったため、非構造化 JSON データに対するクエリのアーカイブとレイテンシの短縮が実現します。Stream Analytics のデータを DocumentDB に出力する機能は、Azure フィードバック フォーラムで最も要望の多かったアイデア (英語) です。

この記事では、ストリーミング データに対してこの 2 つのサービスを使用することのメリットと、これらのサービスの構成方法をご紹介します。

スケーラビリティとパフォーマンスを重視した設計

ストリーム処理ソリューションを使用しているお客様は、処理済みのデータに対して柔軟で低レイテンシのクエリを必要としています。たとえば、有料道路の料金所では常に膨大な数の車が料金所を通過しているため、残高や料金所の処理をほぼリアルタイムで記録する必要があります。複数の料金所の処理と保存が並列で実行されるため、このようなアプリケーションでは大規模なスケール アウトが必要とされます。

DocumentDB は、スキーマや変更なしでデータを JSON にネイティブに格納できるため、ネイティブかつシームレスに Azure Stream Analytics に統合することができます。DocumentDB のスケールごとの自動インデックス作成機能を使用すると、スキーマやセカンダリ インデックスを使用しなくても、急速に増大する IoT データに対してリレーショナル クエリ、階層クエリ、空間クエリを実行できます。DocumentDB のクエリ機能の詳細についてはこちらのページを参照してください。

Stream Analytics では、DocumentDB コレクションのリストを指定し、設定された PartitionKey の値に基づいて、格納するデータを自動的にパーティション分割することが可能です。この機能により、水平方向にスケーリングして大規模なデータを取得し、インデックスを作成することができます。さらに、個々の DocumentDB コレクションのパフォーマンス レベルを構成したり、パフォーマンスを細かく調整するために DocumentDB の一貫性レベルインデックス作成ポリシーを変更することができます。

複数の書き込みモード

Stream Analytics では DocumentDB への書き込みに upsert と append の 2 つのモードを使用できます。

データに “id” プロパティが存在する場合、Stream Analytics では DocumentDB に書き込むときにドキュメントに対して upsert (英語) 操作 (挿入または置換) を実行します。これは、料金所を通過する車の最新のアクティビティのデータを更新する場合に適しています。

データに “id” プロパティが存在しない場合や一意の識別子が設定されている場合、Stream Analytics はドキュメントを新規作成します。これは、料金所を通過する車のアクティビティ データの履歴全体をアーカイブする場合に適しています。

DocumentDB の出力の設定方法

1. Azure プレビュー ポータルまたは Azure 管理ポータルのいずれかから Stream Analytics のジョブの [Outputs] に移動し、[Add] をクリックします。

2. ソースの種類で [DocumentDB] を選択し、必要な接続情報と構成情報を入力します。各フィールドの詳細については「Stream Analytics 出力について」をお読みください。

 

3. [Create] ボタンをクリックすると入力情報の設定が完了します。

今後も Azure IoT Suite への機能の追加と更新に積極的に取り組んでいきます。Stream Analytics と DocumentDB の統合について、皆様のご意見を Stream Analytics フォーラム (英語) または Azure フィードバック フォーラム (英語) までお寄せください。