Azure Synapse を使用した分析のエンド ツー エンド

Azure Synapse Analytics
Azure Cosmos DB
Azure Data Factory
Azure Databricks
Azure Event Hubs

この記事で説明するソリューションでは、さまざまな Azure サービスを組み合わせて、さまざまなソース (構造化、半構造化、非構造化、ストリーミング) のデータと分析情報の取り込み、格納、処理、エンリッチ、提供を行います。

アーキテクチャ

Azure Data Services を使用した最新のデータ プラットフォームのアーキテクチャ ダイアグラム。

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

注意

  • このアーキテクチャの対象となるサービスは、大規模な Azure サービス ファミリのサブセットにすぎません。 この設計に含まれていない他のサービスや機能を使用しても、同様の結果を得ることができます。
  • 分析ユース ケースに固有のビジネス要件によっては、この設計では考慮されていないさまざまなサービスや機能を使用することが必要になる場合もあります。

データフロー

このアーキテクチャの対象となる分析のユース ケースは、ダイアグラムの左側にあるさまざまなデータ ソースによって示されています。 このソリューションでは、データは次のようにボトムアップで送られます。

注意

以降のセクションでは、データのライフサイクルのさまざまなステージを通じて Azure Data Lake をデータのホームとして使用します。 Azure Data Lake は、次のようなさまざまなレイヤーとコンテナーで構成されます。

  • 生レイヤーは、ソース システムからのデータのランディング領域です。 名前が示すように、このレイヤー内のデータは生の、フィルター処理もクリーンもされていないフォームです。
  • ライフサイクルの次のステージでは、データがエンリッチ レイヤーに移動します。このレイヤーでは、データがクリーンされ、フィルター処理され、場合によっては変換されます。
  • その後データはキュレーション レイヤーに移動します。このレイヤーでは、コンシューマー対応のデータが保守されます。

Azure Data Lake のレイヤーとコンテナーおよびそれらの用途の完全レビューについては、「データ レイクのゾーンとコンテナー」のドキュメントを参照してください。

Azure データ サービス、Azure Cosmos DB を使ったクラウド ネイティブな HTAP と Dataverse

Process
  1. Azure Synapse Link for Azure Cosmos DBAzure Synapse Link for Dataverse を使用すると、Azure Synapse ワークスペース (SQL サーバーレスSpark プール) から利用できる分析エンジンを使用して、オペレーショナルおよびビジネス アプリケーション データに対して凖リアルタイムの分析を実行できます。

  2. Azure Synapse Link for Azure Cosmos DB を使う場合は、SQL サーバーレス クエリSpark プール ノートブックのいずれかを使います。 Azure Cosmos DB 分析ストアにアクセスし、凖リアルタイムのオペレーショナル データのデータセットを、データ レイクやデータ ウェアハウスのデータと結合することができます。

  3. Azure Synapse Link for Dataverse を使用する場合は、SQL サーバーレス クエリ または Spark プール ノートブックのいずれかを使用します。 選択した Dataverse テーブルにアクセスし、凖リアルタイムのビジネス アプリケーション データのデータセットを、データ レイクまたはデータ ウェアハウスからのデータと結合することができます。

ストア
  1. SQL サーバーレス クエリから結果として得られるデータセットは、データ レイクに保持できます。 Spark ノートブックを使用している場合は、結果のデータセットをデータ レイクまたはデータ ウェアハウス (SQL プール) に保持できます。
Serve(サービス)
  1. データを視覚化し探索するために、関連データを Azure Synapse SQL プールまたはデータ レイクからPower BI データセットに読み込みます。 Power BI モデルではセマンティック モデルが実装され、ビジネス データとリレーションシップの分析が簡略化されます。 ビジネス アナリストが Power BI レポートとダッシュボードを使用してデータを分析し、ビジネスの分析情報を引き出します。

  2. データは、Azure Data Share を使用して、他の部署や信頼できる外部のパートナーと安全に共有することもできます。 データ コンシューマーは、使用するデータ形式と、共有データセットを処理するために最適なコンピューティング エンジンを自由に選択できます。

  3. Synapse ワークスペースに格納されている構造化データと非構造化データを使用して、ナレッジ マイニング ソリューションを構築し、AI を使用して、Office ドキュメント、PDF、画像、オーディオ、フォーム、Web ページなど、さまざまなドキュメントの種類と形式に関する貴重なビジネス分析情報を明らかにすることもできます。

リレーショナル データベース

取り込み
  1. Azure Synapse パイプラインを使用して、オンプレミスとクラウドの両方のさまざまなデータベースからデータをプルします。 パイプラインは、定義済みのスケジュールに基づいて、またはイベントに対する応答としてトリガーできます。あるいは、REST API を介して明示的に呼び出すこともできます。
ストア
  1. 生データ レイク レイヤーでは、作成するレイヤー、各レイヤーで使用するフォルダー構造体、分析シナリオごとに使用するファイル形式に関するベスト プラクティスに従って、データ レイクを整理します

  2. Azure Synapse パイプラインから、データ コピー アクティビティを使用して、リレーショナル データベースから Azure Data Lake Store Gen 2 データ レイクの生レイヤーにコピーされたデータをステージングします。 データは区切りテキスト形式で保存することも、Parquet ファイルとして圧縮して保存することもできます。

Process
  1. データ フローSQL サーバーレス クエリ、または Spark ノートブックのいずれかを使用して、データセットを検証し、変換し、データ レイク内で生レイヤーからエンリッチ レイヤーを経由してキュレーションレイヤーに移動します。

    1. データ変換の一部として、標準の T-SQL を使用して SQL プールから、または Spark ノートブックから、マシン トレーニング モデルを呼び出すことができます。 これらの ML モデルを使用して、データセットをエンリッチし、さらにビジネスの分析情報を生成することができます。 これらの機械学習モデルは、Azure Cognitive Services または Azure ML のカスタム ML モデルから使用することができます。
Serve(サービス)
  1. データ レイクのキュレーション レイヤーから最終的なデータセットを直接提供するか、データ コピー アクティビティを使用し、高速インジェスト用の COPY コマンドを使って最終的なデータセットを SQL プール テーブルに取り込むことができます。

  2. データを視覚化するために、関連データを Azure Synapse SQL プールまたはデータ レイクから Power BI データセットに読み込みます。 Power BI モデルではセマンティック モデルが実装され、ビジネス データとリレーションシップの分析が簡略化されます。 ビジネス アナリストが Power BI レポートとダッシュボードを使用してデータを分析し、ビジネスの分析情報を引き出します。

  3. データは、Azure Data Share を使用して、他の部署や信頼できる外部のパートナーと安全に共有することもできます。 データ コンシューマーは、使用するデータ形式と、共有データセットを処理するために最適なコンピューティング エンジンを自由に選択できます。

  4. Synapse ワークスペースに格納されている構造化データと非構造化データを使用して、ナレッジ マイニング ソリューションを構築し、AI を使用して、Office ドキュメント、PDF、画像、オーディオ、フォーム、Web ページなど、さまざまなドキュメントの種類と形式に関する貴重なビジネス分析情報を明らかにすることもできます。

半構造化データ ソース

取り込み
  1. Azure Synapse パイプラインを使用して、オンプレミスとクラウドの両方のさまざまな半構造化データ ソースからデータをプルします。 次に例を示します。

    • CSV ファイルや JSON ファイルを含むファイル ベースのソースからデータを取り込む。
    • Azure Cosmos DB や MongoDB などの SQL 以外のデータベースに接続する。
    • パイプラインのデータ ソースとして機能する SaaS アプリケーションによって提供される REST API を呼び出す。
ストア
  1. 生データ レイク レイヤーでは、作成するレイヤー、各レイヤーで使用するフォルダー構造体、分析シナリオごとに使用するファイル形式に関するベスト プラクティスに従って、データ レイクを整理します

  2. Azure Synapse パイプラインから、データ コピー アクティビティを使用して、半構造化データ ソースから Azure Data Lake Store Gen 2 データ レイクの生レイヤーにコピーされたデータをステージングします。 データ ソースから取得した元の形式を保持したままデータを保存します。

Process
  1. バッチ/マイクロ バッチ パイプラインの場合は、データ フローSQL サーバーレス クエリ、または Spark ノートブックのいずれかを使用して、データセットの検証、変換、ご自身のデータ レイク内のキュレーション レイヤーへの移動を行います。 SQL サーバーレス クエリでは、基になる CSVParquet、または JSON の各ファイルが外部テーブルとして公開されるので、それらに対して T-SQL を使用してクエリを実行できます。

    1. データ変換の一部として、標準の T-SQL を使用して SQL プールからまたは Spark ノートブックから機械学習モデルを呼び出すことができます。 これらの ML モデルを使用して、データセットをエンリッチし、さらにビジネスの分析情報を生成することができます。 これらの機械学習モデルは、Azure Cognitive Services または Azure ML のカスタム ML モデルから使用することができます。
  2. 凖リアルタイムのテレメトリと時系列分析のシナリオでは、データ エクスプローラー プールを使用して、複数のデータ ソース間でログと IoT イベント データを簡単に取り込み、統合、関連付けるることができます。 Data Explorer プールを使用して、Kusto クエリ (KQL) を使用して、時系列分析地理空間のクラスタリング、そして機械学習エンリッチメントを実行できます。

Serve(サービス)
  1. データ レイクのキュレーション レイヤーから最終的なデータセットを直接提供するか、データ コピー アクティビティを使用し、高速インジェスト用の COPY コマンドを使って最終的なデータセットを SQL プール テーブルに取り込むことができます。

  2. データを視覚化するために、関連データを Azure Synapse SQL プールデータ エクスプローラー プール、またはデータ レイクから Power BI データセットに読み込みます。 Power BI モデルではセマンティック モデルが実装され、ビジネス データとリレーションシップの分析が簡略化されます。 ビジネス アナリストが Power BI レポートとダッシュボードを使用してデータを分析し、ビジネスの分析情報を引き出します。

  3. データは、Azure Data Share を使用して、他の部署や信頼できる外部のパートナーと安全に共有することもできます。 データ コンシューマーは、使用するデータ形式と、共有データセットを処理するために最適なコンピューティング エンジンを自由に選択できます。

  4. Synapse ワークスペースに格納されている構造化データと非構造化データを使用して、ナレッジ マイニング ソリューションを構築し、AI を使用して、Office ドキュメント、PDF、画像、オーディオ、フォーム、Web ページなど、さまざまなドキュメントの種類と形式に関する貴重なビジネス分析情報を明らかにすることもできます。

非構造化データ ソース

取り込み
  1. Azure Synapse パイプラインを使用して、オンプレミスとクラウドの両方のさまざまな非構造化データ ソースからデータをプルします。 次に例を示します。

    • ソース ファイルを含むファイル ベースのソースから、ビデオ、画像、音声、またはフリー テキストを取り込みます。
    • パイプラインのデータ ソースとして機能する SaaS アプリケーションによって提供される REST API を呼び出す。
ストア
  1. 生データ レイク レイヤーでは、作成するレイヤー、各レイヤーで使用するフォルダー構造体、分析シナリオごとに使用するファイル形式に関するベスト プラクティスに従って、データ レイクを整理します

  2. Azure Synapse パイプラインから、データ コピー アクティビティを使用して、非構造化データ ソースから Azure Data Lake Store Gen 2 データ レイクの生レイヤーにコピーされたデータをステージングします。 データ ソースから取得した元の形式を保持したままデータを保存します。

Process
  1. Spark ノートブックを使用して、データセットを検証し、変換し、エンリッチし、データ レイク内で生レイヤーからエンリッチ レイヤーを経由してキュレーションレイヤーに移動します。

    1. データ変換の一部として、標準の T-SQL を使用して SQL プールからまたは Spark ノートブックから機械学習モデルを呼び出すことができます。 これらの ML モデルを使用して、データセットをエンリッチし、さらにビジネスの分析情報を生成することができます。 これらの機械学習モデルは、Azure Cognitive Services または Azure ML のカスタム ML モデルから使用することができます。
Serve(サービス)
  1. データ レイクのキュレーション レイヤーから最終的なデータセットを直接提供するか、データ コピー アクティビティを使用し、高速インジェスト用の COPY コマンドを使って最終的なデータセットをデータ ウェアハウス テーブルに取り込むことができます。

  2. データを視覚化するために、関連データを Azure Synapse SQL プールまたはデータ レイクから Power BI データセットに読み込みます。 Power BI モデルではセマンティック モデルが実装され、ビジネス データとリレーションシップの分析が簡略化されます。

  3. ビジネス アナリストが Power BI レポートとダッシュボードを使用してデータを分析し、ビジネスの分析情報を引き出します。

  4. データは、Azure Data Share を使用して、他の部署や信頼できる外部のパートナーと安全に共有することもできます。 データ コンシューマーは、使用するデータ形式と、共有データセットを処理するために最適なコンピューティング エンジンを自由に選択できます。

  5. Synapse ワークスペースに格納されている構造化データと非構造化データを使用して、ナレッジ マイニング ソリューションを構築し、AI を使用して、Office ドキュメント、PDF、画像、オーディオ、フォーム、Web ページなど、さまざまなドキュメントの種類と形式に関する貴重なビジネス分析情報を明らかにすることもできます。

ストリーム

取り込み
  1. Azure Event Hubs または Azure IoT Hubs を使用して、クライアント アプリケーションまたは IoT デバイスによって生成されるデータ ストリームを取り込みます。 その後、Event Hubs または IoT Hub によって、受信した一連のイベントを保持するストリーミング データが取り込まれ、保存されます。 そうすると、コンシューマーは Event Hubs または IoT Hub エンドポイントに接続し、処理するメッセージを取得できます。
ストア
  1. 生データ レイク レイヤーでは、作成するレイヤー、各レイヤーで使用するフォルダー構造体、分析シナリオごとに使用するファイル形式に関するベスト プラクティスに従って、データ レイクを整理します

  2. Azure Data Lake Store Gen 2 データ レイクの生レイヤーにイベントのコピーを保存するように、Event Hubs Capture または IoT Hub Storage Endpoints を構成します。 この機能では、ラムダ アーキテクチャ パターンの "コールド パス" が実装され、前述の半構造化データソースのパターンに従い、SQL サーバーレス クエリSpark ノートブックを使用して、データ レイクに保存されているストリーム データに対して履歴および傾向の分析を実行できます。

Process
  1. リアルタイムの分析情報の場合、Stream Analytics ジョブを使用して、Lambda アーキテクチャ パターンの "ホット パス" を実装し、転送中のストリーム データから分析情報を引き出します。 Event Hubs または IoT Hub から送信されるデータ ストリームに対する 1 つ以上の入力、その入力データ ストリームを処理する 1 つのクエリ、およびクエリ結果の送信先となる 1 つの Power BI 出力を定義します。

    1. Stream Analytics を使用したデータ処理の一部として、機械学習モデルを呼び出してストリーム データ セットをエンリッチし、生成された予測に基づいてビジネス上の意思決定を促進できます。 これらの機械学習モデルは、Azure Cognitive Services からでも Azure Machine Learning のカスタム ML モデルからでも使用できます。
  2. その他の Stream Analytics ジョブ出力を使用して、今後の分析ユース ケースのために処理済みのイベントを Azure Synapse SQL プールまたはデータ エクスプローラー プールに送信します。

  3. 凖リアルタイムのテレメトリと時系列の分析シナリオでは、データ エクスプローラー プールを使用して、Event Hubs または IoT Hubs から直接 IoT イベントを簡単に取り込みます。 Data Explorer プールを使用すると、Kusto クエリ (KQL) を使用して、時系列分析地理空間のクラスタリング、そして機械学習エンリッチメントを実行できます。

Serve(サービス)
  1. その後、ビジネス アナリストがPower BI のリアルタイム データセットとダッシュボード機能を使用して、Stream Analytics クエリによって生成された急速に変化する分析情報を視覚化します。

  2. データは、Azure Data Share を使用して、他の部署や信頼できる外部のパートナーと安全に共有することもできます。 データ コンシューマーは、使用するデータ形式と、共有データセットを処理するために最適なコンピューティング エンジンを自由に選択できます。

  3. Synapse ワークスペースに格納されている構造化データと非構造化データを使用して、ナレッジ マイニング ソリューションを構築し、AI を使用して、Office ドキュメント、PDF、画像、オーディオ、フォーム、Web ページなど、さまざまなドキュメントの種類や形式に関する貴重なビジネスの分析情報を明らかにすることもできます。

コンポーネント

アーキテクチャでは次の Azure サービスが使用されています。

代替

シナリオの詳細

このサンプル シナリオでは、Azure Synapse Analytics を Azure Data Services の広範なファミリと使用して、組織で最も一般的なデータの課題を処理できる最新のデータ プラットフォームを構築する方法を示します。

考えられるユース ケース

このアプローチは、以下の目的に使うこともできます。

  • データ製品 アーキテクチャを確立します。これは、構造化データ用のデータ ウェアハウスと、半構造化および非構造化データ用のデータ レイクで構成されます。 一元化された環境用に 1 つのデータ製品をデプロイするか、Data Mesh などの分散環境用に複数のデータ製品をデプロイするかを選択できます。 詳細については、「データ管理とデータ ランディング ゾーン」を参照してください。
  • ビッグ データ処理テクノロジを使用して、リレーショナル データ ソースを他の非構造化データセットと統合する。
  • セマンティック モデリングと強力な視覚化ツールを使用してデータ分析を簡単にする。
  • 組織内または信頼された外部パートナーとの間でデータセットを共有する。
  • ナレッジ マイニング ソリューションを実装して、画像、PDF、ドキュメントなどに隠されている貴重なビジネス情報を抽出します。

Recommendations

検出とガバナンス

データ ガバナンスは、大規模なエンタープライズ環境に共通の課題です。 ビジネス アナリストは、ビジネス上の問題を解決するのに役立つデータ資産を発見し、理解できる必要があります。 他方、最高データ責任者は、ビジネス データのプライバシーとセキュリティに関する分析情報を必要としています。

Microsoft Purview

  1. Microsoft Purview は、組織のデータ 全体の状況を対象とした、データ資産に対するデータ検出と 分析情報、データ分類、そして秘密度のために使用します。

  2. Microsoft Purview は、データセットの意味と、組織全体でそれらがどのように使用されるべきかに関するセマンティクスをユーザーが理解する上で必要となる特定のビジネス用語を載せたビジネス用語集を管理するのに役立ちます。

  3. すべてのデータソースを登録 し、それらをメタデータのセキュリティ境界としても機能するコレクションに整理することができます。

  4. 定期スキャンを設定して、組織内のデータ資産に関する関連メタデータを自動的にカタログ化し、更新することができます。 Microsoft Purview では、Azure Data Factory や Azure Synapse のパイプラインの情報に基づいて、データ系列情報を自動的に追加することもできます。

  5. データ分類データの秘密度ラベルは、定期スキャン時に適用される事前構成済みルールまたはカスタム ルールに基づいて、データ資産に自動的に追加できます。

  6. データ ガバナンスの専門家は、Microsoft Purview によって生成されるレポートや分析情報を使用して、データ全体を管理し、セキュリティやプライバシーの問題から組織を保護することができます。

プラットフォーム サービス

お客様の Azure ソリューションの質を向上するため、Azure Well-Architected Framework で優れたアーキテクチャの 5 つの柱 (コストの最適化、オペレーショナル エクセレンス、パフォーマンス効率、信頼性、およびセキュリティ) として定義されている推奨事項とガイドラインに従ってください。

これらの推奨事項に従うにあたり、以下のサービスを設計の一部として検討する必要があります。

  1. Microsoft Entra ID: Azure ワークロード全体に対する ID サービス、シングル サインオン、多要素認証を提供します。
  2. Azure Cost Management: Azure ワークロードに対する財務ガバナンス。
  3. Azure Key Vault: セキュリティで保護された資格情報と証明書の管理。 たとえば、Azure Synapse パイプラインAzure Synapse Spark プール、および Azure ML では、データ ストアに安全にアクセスするために使用する資格情報と証明書を Azure Key Vault から取得できます。
  4. Azure Monitor: Azure リソースのテレメトリ情報を収集、分析し、それに基づいて対応することにより、問題を事前に特定し、パフォーマンスと信頼性を最大化します。
  5. Microsoft Defender for Cloud: Azure ワークロードのセキュリティ体制を強化、監視します。
  6. Azure DevOpsGitHub: DevOps プラクティスを実装して、Azure Synapse と Azure ML のワークロード開発とデプロイ パイプラインに自動化とコンプライアンスを適用します。
  7. Azure Policy: リソースの整合性、規制コンプライアンス、セキュリティ、コスト、管理のための組織の標準とガバナンスを実装します。

考慮事項

以降の考慮事項には、ワークロードの品質向上に使用できる一連の基本原則である Azure "Well-Architected Framework" の要素が組み込まれています。 詳細については、「Microsoft Azure Well-Architected Framework」を参照してください。

このアーキテクチャのテクノロジが選ばれたのは、それぞれが、組織内で最も一般的なデータの課題に対処する上で必要な機能を提供しているためです。 これらのサービスはスケーラビリティと可用性の要件を満たしながら、コスト管理にも役立ちます。 このアーキテクチャの対象となるサービスは、大規模な Azure サービス ファミリのサブセットにすぎません。 同様の結果を得るには、この設計の対象になっていない他のサービスや機能を使用します。

お客様の分析ユース ケースに固有のビジネス要件によっては、この設計では考慮されていないさまざまなサービスや機能を使用することが必要になる場合もあります。

同様のアーキテクチャは、ワークロードの開発とテストを行うことができる運用前環境にも実装できます。 コスト効果の高い運用前環境を実現するため、お客様のワークロードに固有の要件と各サービスの機能をご検討ください。

コスト最適化

コストの最適化とは、不要な費用を削減し、運用効率を向上させる方法を検討することです。 詳しくは、コスト最適化の柱の概要に関する記事をご覧ください。

一般的に、コストを見積もるには、Azure 料金計算ツールを使用します。 アーキテクチャに含まれる各サービスの最適な価格レベルと全体的なコストの合計は、処理および格納されるデータの量と、期待される許容可能なパフォーマンス レベルによって異なります。 各サービスの価格の詳細については、以下のガイドを参照してください。

  • Azure Synapse Analytics のサーバーレス アーキテクチャを使用すると、コンピューティングおよびストレージのレベルを個別にスケーリングすることができます。 コンピューティング リソースは使用量に基づいて課金されるため、オンデマンドでそれらのリソースをスケーリングまたは一時停止できます。 ストレージ リソースはテラバイト単位で課金されるため、データを取り込んだ分だけコストが増加します。

  • Azure Data Lake Gen 2 は、格納データの量と、データの読み取りと書き込みを行うトランザクション数に基づいて課金されます。

  • Azure Event Hubs および Azure IoT Hubs は、メッセージ ストリームを処理するために必要なコンピューティング リソースの量に基づいて課金されます。

  • Azure Machine Learningは、機械学習モデルのトレーニングとデプロイに使用されるコンピューティング リソースの量に基づいて課金されます。

  • Cognitive Services は、そのサービス API に対して実行する呼び出しの数に基づいて課金されます。

  • Microsoft Purview は、カタログ内のデータ資産数と、それらをスキャンするために必要なコンピューティング能力の量に基づいて料金が決まります。

  • Azure Stream Analytics は、ストリーム クエリの処理に必要なコンピューティング能力の量に基づいて課金されます。

  • Power BI には、要件に応じたさまざまな製品オプションがあります。 Power BI Embedded では、Power BI の機能をアプリケーションに埋め込むための Azure ベースのオプションが提供されます。 Power BI Embedded インスタンスは上記の料金サンプルに含まれています。

  • Azure Cosmos DB は、使用するデータベースに必要なストレージおよびコンピューティング リソースの量に基づいて料金が決まります。

このシナリオのデプロイ

このデプロイ アクセラレータを使用すると、参照アーキテクチャ全体を実装するか、分析のユースケースに必要なワークロードを選択できます。 また、パブリック エンドポイント経由でサービスにアクセスできるのか、プライベート エンドポイント経由でのみアクセスできるのかを選択することもできます。

Azure portal を使用する参照をデプロイするには、次のボタンを使用します。

Azure へのデプロイ

詳細と追加のデプロイ オプションについては、このソリューションの定義に使用されるドキュメントとコードを含む「デプロイ アクセラレータ GitHub リポジトリ」を参照してください。

共同作成者

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

プリンシパル作成者:

  • Fabio Braga | プリンシパル MTC テクニカル アーキテクト

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

次のステップ