Azure Service Bus と Azure Data Explorer によるデータのリアルタイム分析

Azure Service Bus
Azure Data Explorer
Azure App Service
Azure SQL データベース
Azure Cosmos DB

ソリューションのアイデア

このアーティクルはソリューションのアイデアです。 このコンテンツにさらに多くの情報 (想定されるユース ケース、代替サービス、実装に関する考慮事項、価格ガイダンスなど) の掲載をご希望の方は、GitHub のフィードバックでお知らせください。

この記事では、Azure Data Explorer と Azure Service Bus を使用して、凖リアルタイムの分析で既存のメッセージ ブローカー アーキテクチャを強化する方法について説明します。 これは、IT 管理者、クラウド アーキテクト、運用および監視チームを対象としています。

アーキテクチャ

Diagram that shows an architecture for implementing near real-time analytics.

このアーキテクチャの Visio ファイルをダウンロードします。

Grafana ロゴは、Raintank, Inc., dba Grafana Labs の商標です。 このマークを使用することは、保証を意味するものではありません。

この図は、2 つのデータ パスを示しています。 実線とボックス 1 から 5 で表されるメイン パスは、さまざまなソースからサービス バスへのデータの取り込みであり、データはストリーム分析ジョブによって処理され、SQL データベースに格納されます。 点線とボックスで表される 2 番目のパスは、サービス バスから Azure Data Explorer クラスターへのデータ フローを示しており、Kusto 照会言語 (KQL) を使用してデータのクエリと分析を行うことができます。

Service Bus は、トランザクション アプリケーションのキュー ベースの負荷平準化パターンを実装するために使用されます。

Azure Data Explorer は、凖リアルタイムで分析を実行し、API または直接クエリを介して、Power BI、Azure Managed Grafana、Azure Data Explorer のダッシュボードなどにデータを公開するために使用されます。

データフロー

アーキテクチャ内のデータ ソースは、既存のオンライン トランザクション処理 (OLTP) アプリケーションです。 Service Bus は、このアプリケーションを非同期にスケールアウトするために使用されます。

  1. Azure App Service でホストされる OLTP アプリケーション (データ ソース) は、データを Service Bus に送信します。

  2. データは、Service Bus から次の 2 つの方向に流れます。

    1. 既存の OLTP アプリケーション フローでは、関数アプリをトリガーして、Azure SQL Database、Azure Cosmos DB、または同様の運用データベースにデータを格納します。

    2. 凖リアルタイム分析フローでは、オーケストレーション フローがトリガーされます。

  3. オーケストレーション フローでは、凖リアルタイム分析のために、データが Azure Data Explorer に送信されます。 このフローでは、次のいずれかを使用できます。

    • SDK を使用してデータをマイクロ バッチで送信する関数アプリ、またはストリーミング インジェスト用に構成されている場合に Azure Data Explorer によって提供されるマネージド ストリーミング インジェスト サポートを使用する関数アプリ。
    • Azure Kubernetes Service (AKS) または Azure VM でホストされているアプリケーションなど、データをマイクロ バッチで Azure Data Explorer に送信するポーリング サービス。 このオプションでは、Azure Data Explorer ストリーミング インジェストを構成する必要はありません。
  4. Azure Data Explorer は、スキーマ マッピング更新ポリシーを使用してデータを処理し、API、SDK、またはコネクタを介してデータを対話型分析やレポート作成に使用できるようにします。 必要に応じて、Azure Data Explorer は、SQL Database や Azure Data Lake Storage などの他のデータ ソースからデータを取り込んだり、参照したりすることもできます。

  5. アプリケーション、カスタム サービス、またはレポート サービス (Azure Data Explorer ダッシュボード、Power BI、Azure Managed Grafana など) は、凖リアルタイムで Azure Data Explorer 内のデータに対してクエリを実行できます。

コンポーネント

  • App Service を使用すると、インフラストラクチャを管理することなく、任意のプログラミング言語で Web アプリ、モバイル バックエンド、および RESTful API を構築し、ホストできます。
  • Service Bus は、サービスとしての信頼性の高いクラウド メッセージングを提供します。
  • SQL Database は、クラウド用に構築されたフル マネージド SQL データベースです。 自動更新、プロビジョニング、スケーリング、バックアップが提供されます。
  • Azure Cosmos DB は、あらゆるスケールのアプリケーションに対応する、グローバル分散型のマルチモデル データベースです。
  • Azure Functions は、イベント駆動のサーバーレス コンピューティング プラットフォームです。 Functions を使用すると、クラウド内で大規模にデプロイおよび運用し、トリガーとバインドを使ってサービスを統合できます。
  • AKS は、アプリケーションおよびマイクロサービスのワークロードに対応した、可用性と安全性が非常に高いフル マネージド Kubernetes サービスです。
  • Azure Data Explorer は、アプリケーション、Web サイト、IoT デバイスなどからの大量のデータ ストリーミングをリアルタイムで分析するための高速でスケーラビリティに優れたフル マネージドのデータ分析サービスです。
  • Data Lake Storage は、Azure Blob Storage 上に構築された、非常にスケーラブルなデータ レイク機能を提供します。
  • Power BI はデータを、視覚に訴える、理路整然とした対話型の分析情報に変換します。
  • Azure Managed Grafana は、構成に時間を費やすことなく Grafana をデプロイできるフル マネージド サービスです。

シナリオの詳細

リアルタイム分析は、データが生成されるとすぐに分析して、システムの現在の状態に関する分析情報を取得するプロセスです。 競争優位性を獲得するために、リアルタイム分析を採用する組織がますます増えています。 凖リアルタイム分析はリアルタイム分析の一種で、データ生成から数秒または数分以内に分析情報を提供します。

これらのプロセスにより、組織はより迅速に分析情報を取得し、より適切な意思決定を行い、変化する状況により効果的に対応することができます。 凖リアルタイム分析は、eコマース、医療、製造、金融などのさまざまな分野に適用できます。 たとえば、eコマース企業は、凖リアルタイム分析を使用して、顧客の行動を監視し、価格を最適化し、推奨事項をカスタマイズできます。

多くの組織は、既存のソリューションに凖リアルタイム分析を実装しています。 このソリューションのアイデアは、メッセージ ブローカーに基づいており、運用 OLTP アプリケーションの一部である既存のアーキテクチャに、凖リアルタイム分析を追加する方法を示しています。

OLTP はオンライン トランザクション処理の略です。 これは、トランザクション指向のアプリケーションを管理するデータ処理の一種であり、通常はリアルタイム環境でのデータ入力および取得トランザクションに使用されます。 OLTP システムは、銀行取引やクレジット カードでの購入など、金融的な性質を持つことが多い小規模の高速トランザクションを処理する目的で設計されています。

考えられるユース ケース

凖リアルタイム分析の利点を示すいくつかのユース ケースを次に示します。

  • 医療機関は、患者の転帰を追跡し、異常を検出して治療の質を向上することができます。
  • 製造会社は、生産を最適化し、無駄を減らし、ダウンタイムを防ぐことができます。
  • 金融機関は、取引の監視、不正の検出、リスクの管理を行い、規制へのコンプライアンスを確保できます。
  • コマース企業は、キャンペーンを監視し、プロモーションをサポートするための分析情報を取得できます。
  • 企業は、サプライ チェーンの監視、最適化、分析、予測を行うことができます。

共同作成者

この記事は、Microsoft によって保守されています。 当初の寄稿者は以下のとおりです。

プリンシパル作成者:

その他の共同作成者:

パブリックでない LinkedIn プロファイルを表示するには、LinkedIn にサインインします。

次のステップ