Azure Stream Analytics は、ミリ秒未満の待機時間で大量のストリーミング データを分析および処理するように設計されたフル マネージド ストリーム処理エンジンです。 Stream Analytics を使用してストリーミング データ パイプラインを構築し、アプリケーション、デバイス、センサー、クリックストリーム、ソーシャル メディア フィードなど、さまざまな入力ソースからのデータのパターンとリレーションシップを識別できます。 その後、これらのパターンを使用してアクションを起動し、アラートの発生、レポート作成ツールへの情報のフィード、または後で使用するための変換されたデータの保存などのワークフローを開始できます。 Stream Analytics は Azure IoT Edge ランタイムでも使用できます。これにより、IoT デバイスからデータを直接処理できるようになります。
Stream Analytics を使用できるシナリオの例をいくつか次に示します。
- スパイク、急減、ゆっくりした増加と減少の変化を検出するセンサー データの異常検出
- フリート マネジメントや無人車両用の地理空間分析
- 高価な資産のリモート監視と予測メンテナンス
- 顧客の行動を判断するためのクリック ストリーム分析
- アプリケーションと IoT デバイスからのリアルタイム テレメトリ ストリームとログの分析
主要な機能と利点
フル マネージドのサービス
Stream Analytics は、Azure 上のフル マネージド (PaaS) オファリングです。 ハードウェアやインフラストラクチャをプロビジョニングしたり、OS やソフトウェアを更新したりする必要はありません。 Stream Analytics はジョブを完全に管理するため、インフラストラクチャではなくビジネス ロジックに集中できます。
使いやすさ
Stream Analytics は簡単に開始できます。 数回クリックするだけで、複数のソースとシンクに接続するエンドツーエンドのストリーミング データ パイプラインが作成されます。
ストリーミング データ インジェストのために Azure Event Hubs および Azure IoT Hub に接続したり、Azure Blob Storage または Azure Data Lake Storage Gen2 に接続して履歴データを取り込んだりできる Stream Analytics ジョブを作成できます。 Stream Analytics ジョブの入力には、Azure Blob Storage または SQL Database からの静的または緩やかに変化する参照データを含めることもできます。このデータは、ストリーミング データと結合して参照操作を実行できます。 Stream Analytics 入力の詳細については、「Stream Analytics に入力としてデータをストリーム配信する」を参照してください。
Stream Analytics ジョブからの出力は、Azure Blob Storage、Azure SQL Database、Azure Data Lake Store、Azure Cosmos DB などの多くのストレージ システムにルーティングできます。 さらに、Azure Synapse Analytics または HDInsight を使用してストリーム出力に対してバッチ分析を実行したり、別のサービスに出力を送信したりすることもできます。たとえば、Event Hubs に送信して利用したり、Power BI に送信してリアルタイムに視覚化したりすることができます。 Stream Analytics 出力の一覧については、「 Stream Analytics からの出力について」を参照してください。
Stream Analytics のコードなしのエディターでは、コードを記述しなくても、ドラッグ アンド ドロップ機能を使用して Stream Analytics ジョブを簡単に開発できるコードなしのエクスペリエンスが提供されます。 これにより、Stream Analytics ジョブ開発のエクスペリエンスがさらに簡素化されます。 コードなしのエディターの詳細については、 Stream Analytics でのコードなしのストリーム処理に関するページを参照してください。
プログラマの生産性
Stream Analytics では、強力なテンポラル制約で拡張された SQL クエリ言語を使用して、動いているデータを分析します。 Azure portal を使用して Stream Analytics ジョブを作成できます。 次のような開発者ツールを使用してジョブを作成することもできます。
開発者ツールを使用することで、変換クエリをオフラインで開発したり、CI/CD パイプラインを使用して Azure にジョブを送ったりすることができます。
Stream Analytics クエリ言語には、ストリーミング データを分析するための豊富な関数が用意されているため、CEP (Complex Event Procssing、複合イベント処理) を実行することができます。 このクエリ言語では、シンプルなデータ操作、集計および分析関数、地理空間機能、パターン マッチング、異常検出がサポートされています。 ポータルや開発ツールを使用してクエリを編集し、ライブ ストリームから抽出されたサンプル データを使用してそれをテストできます。
クエリ言語の機能は、別の関数を定義したり呼び出したりすることで拡張することができます。 Azure Machine Learning ソリューションを利用するために Azure 機械学習で関数呼び出しを定義したり、Stream Analytics クエリの一部として複雑な計算を実行するために JavaScript または C# のユーザー定義関数 (UDF) またはユーザー定義集計を統合したりすることができます。
クラウドまたはインテリジェント エッジ上で実行
Stream Analytics は、クラウドで実行したり、大規模な分析を行ったり、IoT Edge または Azure Stack で実行して待機時間を超える分析を行ったりすることができます。 Stream Analytics では、クラウドとエッジの両方で同じツールとクエリ言語が使用されるため、開発者はストリーム処理用の真のハイブリッド アーキテクチャを構築できます。
低い総保有コスト
クラウド サービスである Stream Analytics は、コストに最適化されています。 関連する初期費用はありません。消費するストリーミング ユニットに対して支払うだけです。 コミットメントやクラスターのプロビジョニングは必要ないため、ビジネス ニーズに基づいて、ジョブをスケールアップまたはスケールダウンできます。
ミッション クリティカル対応
Stream Analytics は世界中の複数のリージョンで利用でき、信頼性、セキュリティ、コンプライアンスの要件をサポートすることで、ミッション クリティカルなワークロードを実行するように設計されています。
[信頼性]
Stream Analytics では、1 回だけイベント処理と少なくとも 1 回のイベント配信が保証されるため、イベントは失われることはありません。 イベント配信保証の説明に従って、選択した出力で 1 回限りの処理が保証されます。
Stream Analytics には、イベントの配信が失敗した場合の復旧機能が組み込まれています。 Stream Analytics にはまた、ジョブの状態を保持するための組み込みのチェックポイントも用意されており、反復可能な結果が提供されます。
可用性 ゾーンが有効なリージョンの Stream Analytics は、信頼性を高める目的で、追加の構成やコストなしでジョブ リソースを複数のゾーンに自動的に分散します。 このゾーン冗長デプロイにより、可用性ゾーン全体が使用できなくなった場合でもストリーミング ジョブの処理が続行され、ゾーン レベルのインフラストラクチャ障害に対する保護が提供されます。
Stream Analytics が可用性ゾーンをサポートする方法と、複数リージョンのディザスター リカバリー オプションの詳細については、「 Stream Analytics の信頼性」を参照してください。
Stream Analytics は、マネージド サービスとして、分レベルの細分性で 99.9% の可用性のイベント処理が保証されます。
セキュリティ
セキュリティの面では、Stream Analytics では、すべての送受信通信が暗号化され、トランスポート層セキュリティ (TLS) 1.2 がサポートされます。 組み込みのチェックポイントも暗号化されます。 Stream Analytics では、すべての処理はメモリ内で実行されるため、受信データが格納されることはありません。 Stream Analytics クラスターでジョブを実行している場合、Stream Analytics は Azure Virtual Network もサポートします。
パフォーマンス
Stream Analytics は、1 秒間に何百万というイベントを処理できるため、きわめて短い待ち時間で結果を配信することができます。 これにより、ワークロードに合わせてスケールアウトすることができます。 Stream Analytics は、パーティション分割によってより高いパフォーマンスをサポートしているため、複雑なクエリを並列化し、複数のストリーミング ノードで実行できます。 Stream Analytics は、Microsoft Research と共同で開発された高パフォーマンスのメモリ内ストリーミング分析エンジン である Trill 上に構築されています。
次のステップ
無料の Azure サブスクリプションで Stream Analytics を試すことができます。
Stream Analytics の概要について説明します。 次はさらに踏み込んで、初めての Stream Analytics ジョブを作成してみましょう。