Azure Stream Analytics のリソース モデル

Azure Stream Analytics は、ストリーム処理のためのフル マネージドの PaaS (サービスとしてのプラットフォーム) です。 この記事では、Stream Analytics クラスター、ジョブ、ジョブのコンポーネントの概念を紹介することで、Stream Analytics のリソース モデルについて説明します。

Stream Analytics ジョブ

Stream Analytics ジョブは、ストリーム処理ロジックを自分で定義して実行できる Stream Analytics の基本的な単位です。 ジョブは、次の 3 つの主要コンポーネントで構成されます。

  • 入力
  • 出力
  • クエリ

入力

ジョブには、継続的にデータを読み取るための入力を 1 つまたは複数設けることができます。 そうしたストリーミング入力データ ソースとしては、Azure Event Hubs、Azure IoT Hub、Azure Storage が考えられます。 Stream Analytics は、静的または変化の緩やかな入力データ (参照データ) の読み取りをサポートしており、そのようなデータは、多くの場合、ストリーミング データのエンリッチに使用されます。 それらの入力は、ゼロコードの操作でジョブに追加できます。

出力

ジョブには、継続的にデータを書き込むための出力を 1 つまたは複数設けることができます。 Stream Analytics は、Azure SQL Database、Azure Data Lake Storage、Azure Cosmos DB、Power BI を始めとする 12 の異なる出力シンクをサポートします。 これらの出力も、ゼロコードの操作でジョブに追加できます。

クエリ

ジョブで SQL クエリを記述することによりストリーム処理ロジックを実装できます。 充実した SQL 言語サポートにより、複雑な JSON の解析、値のフィルタリング、集計の計算、結合の実行といったシナリオのほか、地理空間分析や異常検出など、より高度なユース ケースに対応できます。 この SQL 言語は、JavaScript のユーザー定義関数 (UDF) やユーザー定義集計 (UDA) で拡張することもできます。 遅延イベントや順序が不適切なイベントも、Stream Analytics のジョブの設定で簡単な構成を行うことにより簡単に調整できます。 入力イベントが入力ソースに到着した時刻に基づいて、またはイベント ソースでイベントが生成されたタイミングでクエリを実行することもできます。

ジョブを実行する

入力、出力、クエリを構成してジョブを開発したら、ストリーミング ユニットの数を指定してジョブを開始できます。 ジョブは開始されると、実行中の状態になり、明示的に停止するか、回復不能なエラーが発生するまで、その状態のままになります。 ジョブが実行中の状態になると、入力ソースからデータが継続的にプルされ、クエリ ロジックが実行されて、そこで生成された結果が出力シンクに書き込まれます。エンド ツー エンドの待機時間は数ミリ秒です。

ジョブが開始されると、Stream Analytics サービスがクエリをコンパイルし、ジョブに構成されたストリーミング ユニット数に基づいて特定の量のコンピューティングとメモリを割り当てます。 クラスターのメンテナンス、セキュリティ パッチなど、基本的なインフラストラクチャはプラットフォームによって自動的に管理されるため、ユーザーが気にかける必要はありません。 Standard SKU でジョブを実行しているとき、ストリーミング ユニットに対して課金されるのは、ジョブの実行時のみとなります。

Stream Analytics クラスター

既定では、Stream Analytics のジョブが標準のマルチテナント環境で実行されます。これが Standard SKU となります。 Stream Analytics には、Stream Analytics クラスター全体をお客様専用でプロビジョニングできる Dedicated SKU も用意されています。 こちらは、クラスターで実行されるジョブをお客様が完全に制御できます。 Stream Analytics クラスターの最小サイズは 12 ストリーミング ユニットであり、クラスターがプロビジョニングされた時点からクラスター容量全体に対して課金が行われます。 詳細については、Stream Analytics クラスターの利点と使用すべき状況に関する記事を参照してください。

Diagram that shows Standard multi-tenant environment in Stream Analytics.

Diagram that shows Dedicated environment in Stream Analytics.

次のステップ

Azure Stream Analytics の管理方法とその他の概念を確認します。