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