Azure Synapse を使用した分析のエンド ツー エンド
この記事で説明するソリューションでは、さまざまな Azure サービスを組み合わせて、さまざまなソース (構造化、半構造化、非構造化、ストリーミング) のデータと分析情報の取り込み、格納、処理、エンリッチ、提供を行います。
Architecture
このアーキテクチャの Visio ファイル をダウンロードします。
Note
- このアーキテクチャの対象となるサービスは、大規模な Azure サービス ファミリのサブセットにすぎません。 この設計に含まれていない他のサービスや機能を使用しても、同様の結果を得ることができます。
- 分析ユース ケースに固有のビジネス要件によっては、この設計では考慮されていないさまざまなサービスや機能を使用することが必要になる場合もあります。
Dataflow
このアーキテクチャの対象となる分析のユース ケースは、ダイアグラムの左側にあるさまざまなデータ ソースによって示されています。 このソリューションでは、データは次のようにボトムアップで送られます。
Note
以降のセクションでは、データのライフサイクルのさまざまなステージを通じて Azure Data Lake をデータのホームとして使用します。 Azure Data Lake は、次のようなさまざまなレイヤーとコンテナーで構成されます。
- 生レイヤーは、ソース システムからのデータのランディング領域です。 名前が示すように、このレイヤー内のデータは生の、フィルター処理もクリーンもされていないフォームです。
- ライフサイクルの次のステージでは、データがエンリッチ レイヤーに移動します。このレイヤーでは、データがクリーンされ、フィルター処理され、場合によっては変換されます。
- その後データはキュレーション レイヤーに移動します。このレイヤーでは、コンシューマー対応のデータが保守されます。
Azure Data Lake のレイヤーとコンテナーとその 使用方法の完全なレビューについては、Data Lake ゾーンとコンテナーのドキュメントを参照してください。
Azure データ サービス、Azure Cosmos DB を使ったクラウド ネイティブな HTAP と Dataverse
Process
Azure Synapse Link for Azure Cosmos DB と Azure Synapse Link for Dataverse を使用すると、Azure Synapse ワークスペースから利用できる分析エンジン ( SQL Server レス プールと Spark プール) を使用して、運用およびビジネス アプリケーション データに対してほぼリアルタイムの分析を実行できます。
Azure Synapse Link for Azure Cosmos DB を使用する場合は、 SQL Server レス クエリ または Spark プール ノートブックを使用します。 Azure Cosmos DB 分析ストアにアクセスし、ほぼリアルタイムの運用データのデータセットと、データ レイクまたはデータ ウェアハウスからのデータを組み合わせることができます。
Azure Synapse Link for Dataverse を使用する場合は、 SQL Server レス クエリ または Spark プール ノートブックを使用します。 選択した Dataverse テーブルにアクセスし、凖リアルタイムのビジネス アプリケーション データのデータセットを、データ レイクまたはデータ ウェアハウスからのデータと結合することができます。
Microsoft Store
- SQL Server レス クエリから得られたデータセットは、データ レイクに保持できます。 If you are using Spark notebooks, the resulting datasets can be persisted either in your data lake or data warehouse (SQL pool).
Serve
データの視覚化と探索のために、Azure Synapse SQL プールまたは Data Lake から Power BI データセット に関連するデータを読み込みます。 Power BI モデル は、ビジネス データとリレーションシップの分析を簡略化するセマンティック モデルを実装します。 Business analysts use Power BI reports and dashboards to analyze data and derive business insights.
また、 Azure Data Share を使用して、他の部署や外部の信頼できるパートナーとデータを安全に共有することもできます。 データ コンシューマーは、使用するデータ形式と、共有データセットを処理するために最適なコンピューティング エンジンを自由に選択できます。
Synapse ワークスペースに格納されている構造化データと非構造化データを使用して 、ナレッジ マイニング ソリューション を構築し、AI を使用して、Office ドキュメント、PDF、画像、オーディオ、フォーム、Web ページなど、さまざまなドキュメントの種類や形式にわたる重要なビジネス分析情報を明らかにすることもできます。
Relational databases
Ingest
- Azure Synapse パイプラインを使用して、オンプレミスとクラウドの両方で、さまざまなデータベースからデータをプルします。 パイプラインは、定義済みのスケジュールに基づいて、またはイベントに対する応答としてトリガーできます。あるいは、REST API を介して明示的に呼び出すこともできます。
Microsoft Store
生データ レイク レイヤー内で、作成するレイヤー、各レイヤーで使用するフォルダー構造、分析シナリオごとに使用するファイル形式に関するベスト プラクティスに従って、 データ レイクを整理 します。
Azure Synapse パイプラインから、データのコピー アクティビティを使用して、リレーショナル データベースからコピーしたデータを Azure Data Lake Store Gen 2 データ レイクの生レイヤーにステージングします。 データは区切りテキスト形式で保存することも、Parquet ファイルとして圧縮して保存することもできます。
Process
Use either data flows, SQL serverless queries, or Spark notebooks to validate, transform, and move the datasets from the Raw layer, through the Enriched layer and into your Curated layer in your data lake.
- データ変換の一環として、標準の T-SQL または Spark ノートブックを 使用して、SQL プール からマシン トレーニング モデルを呼び出すことができます。 これらの ML モデルを使用して、データセットをエンリッチし、さらにビジネスの分析情報を生成することができます。 これらの機械学習モデルは、 Azure AI サービス または Azure ML のカスタム ML モデルから使用できます。
Serve
You can serve your final dataset directly from the data lake Curated layer or you can use Copy Data activity to ingest the final dataset into your SQL pool tables using the COPY command for fast ingestion.
データを視覚化するために、Azure Synapse SQL プールまたはデータ レイクから Power BI データセット に関連するデータを読み込みます。 Power BI モデル は、ビジネス データとリレーションシップの分析を簡略化するセマンティック モデルを実装します。 Business analysts use Power BI reports and dashboards to analyze data and derive business insights.
また、 Azure Data Share を使用して、他の部署や外部の信頼できるパートナーとデータを安全に共有することもできます。 データ コンシューマーは、使用するデータ形式と、共有データセットを処理するために最適なコンピューティング エンジンを自由に選択できます。
Synapse ワークスペースに格納されている構造化データと非構造化データを使用して 、ナレッジ マイニング ソリューション を構築し、AI を使用して、Office ドキュメント、PDF、画像、オーディオ、フォーム、Web ページなど、さまざまなドキュメントの種類や形式にわたる重要なビジネス分析情報を明らかにすることもできます。
半構造化データ ソース
Ingest
Azure Synapse パイプラインを使用して、オンプレミスとクラウドの両方で、さまざまな半構造化データ ソースからデータをプルします。 For example:
- CSV ファイルや JSON ファイルを含むファイル ベースのソースからデータを取り込む。
- Azure Cosmos DB や MongoDB などの SQL 以外のデータベースに接続する。
- パイプラインのデータ ソースとして機能する SaaS アプリケーションによって提供される REST API を呼び出す。
Microsoft Store
生データ レイク レイヤー内で、作成するレイヤー、各レイヤーで使用するフォルダー構造、分析シナリオごとに使用するファイル形式に関するベスト プラクティスに従って、 データ レイクを整理 します。
Azure Synapse パイプラインから、データのコピー アクティビティを使用して、半構造化データ ソースから Azure Data Lake Store Gen 2 データ レイクの生レイヤーにコピーされたデータをステージングします。 データ ソースから取得した元の形式を保持したままデータを保存します。
Process
For batch/micro-batch pipelines, use either data flows, SQL serverless queries or Spark notebooks to validate, transform, and move your datasets into your Curated layer in your data lake. SQL Serverless queries expose underlying CSV, Parquet, or JSON files as external tables, so that they can be queried using T-SQL.
- データ変換の一環として、標準の T-SQL または Spark ノートブックを 使用して、SQL プール から機械学習モデルを呼び出すことができます。 これらの ML モデルを使用して、データセットをエンリッチし、さらにビジネスの分析情報を生成することができます。 これらの機械学習モデルは、 Azure AI サービス または Azure ML のカスタム ML モデルから使用できます。
ほぼリアルタイムのテレメトリと時系列分析のシナリオでは、 Data Explorer プール を使用して、複数のデータ ソース間でログと IoT イベント データを簡単に 取り込み、統合し、関連付けます。 Data Explorer プールを使用すると、 Kusto クエリ (KQL) を使用して 、時系列分析、 地理空間クラスタリング、機械学習エンリッチメントを実行できます。
Serve
You can serve your final dataset directly from the data lake Curated layer or you can use Copy Data activity to ingest the final dataset into your SQL pool tables using the COPY command for fast ingestion.
Load relevant data from the Azure Synapse SQL pools, Data Explorer pools, or a data lake into Power BI datasets for data visualization. Power BI モデル は、ビジネス データとリレーションシップの分析を簡略化するセマンティック モデルを実装します。 Business analysts use Power BI reports and dashboards to analyze data and derive business insights.
また、 Azure Data Share を使用して、他の部署や外部の信頼できるパートナーとデータを安全に共有することもできます。 データ コンシューマーは、使用するデータ形式と、共有データセットを処理するために最適なコンピューティング エンジンを自由に選択できます。
Synapse ワークスペースに格納されている構造化データと非構造化データを使用して 、ナレッジ マイニング ソリューション を構築し、AI を使用して、Office ドキュメント、PDF、画像、オーディオ、フォーム、Web ページなど、さまざまなドキュメントの種類や形式にわたる重要なビジネス分析情報を明らかにすることもできます。
非構造化データ ソース
Ingest
Azure Synapse パイプラインを使用して、オンプレミスとクラウドの両方で、さまざまな非構造化データ ソースからデータをプルします。 For example:
- ソース ファイルを含むファイル ベースのソースから、ビデオ、画像、音声、またはフリー テキストを取り込みます。
- パイプラインのデータ ソースとして機能する SaaS アプリケーションによって提供される REST API を呼び出す。
Microsoft Store
生データ レイク レイヤー内で、作成するレイヤー、各レイヤーで使用するフォルダー構造、各分析シナリオで使用するファイル形式に関するベスト プラクティスに従って、 データ レイクを整理 します。
Azure Synapse パイプラインから、データのコピー アクティビティを使用して、非構造化データ ソースからコピーしたデータを Azure Data Lake Store Gen 2 データ レイクの生レイヤーにステージングします。 データ ソースから取得した元の形式を保持したままデータを保存します。
Process
Use Spark notebooks to validate, transform, enrich, and move your datasets from the Raw layer, through the Enriched layer and into your Curated layer in your data lake.
- データ変換の一環として、標準の T-SQL または Spark ノートブックを 使用して、SQL プール から機械学習モデルを呼び出すことができます。 これらの ML モデルを使用して、データセットをエンリッチし、さらにビジネスの分析情報を生成することができます。 これらの機械学習モデルは、 Azure AI サービス または Azure ML のカスタム ML モデルから使用できます。
Serve
You can serve your final dataset directly from the data lake Curated layer or you can use Copy Data activity to ingest the final dataset into your data warehouse tables using the COPY command for fast ingestion.
データを視覚化するために、Azure Synapse SQL プールまたはデータ レイクから Power BI データセット に関連するデータを読み込みます。 Power BI モデル は、ビジネス データとリレーションシップの分析を簡略化するセマンティック モデルを実装します。
Business analysts use Power BI reports and dashboards to analyze data and derive business insights.
また、 Azure Data Share を使用して、他の部署や外部の信頼できるパートナーとデータを安全に共有することもできます。 データ コンシューマーは、使用するデータ形式と、共有データセットを処理するために最適なコンピューティング エンジンを自由に選択できます。
Synapse ワークスペースに格納されている構造化データと非構造化データを使用して 、ナレッジ マイニング ソリューション を構築し、AI を使用して、Office ドキュメント、PDF、画像、オーディオ、フォーム、Web ページなど、さまざまなドキュメントの種類や形式にわたる重要なビジネス分析情報を明らかにすることもできます。
Streaming
Ingest
- Azure Event Hubs または Azure IoT Hubs を使用して、クライアント アプリケーションまたは IoT デバイスによって生成されたデータ ストリームを取り込みます。 その後、Event Hubs または IoT Hub によって、受信した一連のイベントを保持するストリーミング データが取り込まれ、保存されます。 そうすると、コンシューマーは Event Hubs または IoT Hub エンドポイントに接続し、処理するメッセージを取得できます。
Microsoft Store
生データ レイク レイヤー内で、作成するレイヤー、各レイヤーで使用するフォルダー構造、分析シナリオごとに使用するファイル形式に関するベスト プラクティスに従って、 データ レイクを整理 します。
イベントのコピーを Azure Data Lake Store Gen 2 データ レイクの Raw レイヤーに保存するように Event Hubs Capture または IoT Hub ストレージ エンドポイントを構成します。 この機能は 、ラムダ アーキテクチャ パターン の "コールド パス" を実装し、上で説明した半構造化データ ソースのパターンに従って 、SQL Server レス クエリ または Spark ノートブック を使用して、データ レイクに保存されたストリーム データに関する履歴および傾向分析を実行できます。
Process
リアルタイムの分析情報を得るために、 Stream Analytics ジョブ を使用して ラムダ アーキテクチャ パターン の "ホット パス" を実装し、転送中のストリーム データから分析情報を導き出します。 Define at least one input for the data stream coming from your Event Hubs or IoT Hub, one query to process the input data stream and one Power BI output to where the query results will be sent to.
- Stream Analytics を使用したデータ処理の一部として、機械学習モデルを呼び出してストリーム データ セットをエンリッチし、生成された予測に基づいてビジネス上の意思決定を促進できます。 これらの機械学習モデルは、Azure AI サービスから、または Azure Machine Learning
カスタム ML モデルから使用できます。
- Stream Analytics を使用したデータ処理の一部として、機械学習モデルを呼び出してストリーム データ セットをエンリッチし、生成された予測に基づいてビジネス上の意思決定を促進できます。 これらの機械学習モデルは、Azure AI サービスから、または Azure Machine Learning
Use other Stream Analytics job outputs to send processed events to Azure Synapse SQL pools or Data Explorer pools for further analytics use cases.
ほぼリアルタイムのテレメトリと時系列分析のシナリオでは、 Data Explorer プール を使用して 、Event Hubs または IoT Hubs から IoT イベントを直接簡単に取り込みます。 Data Explorer プールを使用すると、 Kusto クエリ (KQL) を使用して 、時系列分析、 地理空間クラスタリング、機械学習エンリッチメントを実行できます。
Serve
ビジネス アナリストは、 Power BI のリアルタイム データセットとダッシュボード 機能を使用して、Stream Analytics クエリによって生成された変化の速い分析情報を視覚化します。
また、 Azure Data Share を使用して、他の部署や外部の信頼できるパートナーとデータを安全に共有することもできます。 データ コンシューマーは、使用するデータ形式と、共有データセットを処理するために最適なコンピューティング エンジンを自由に選択できます。
Synapse ワークスペースに格納されている構造化データと非構造化データを使用して 、ナレッジ マイニング ソリューション を構築し、AI を使用して、Office ドキュメント、PDF、画像、オーディオ、フォーム、Web ページなど、さまざまなドキュメントの種類と形式にわたる重要なビジネス分析情報を明らかにすることもできます。
Components
アーキテクチャでは次の Azure サービスが使用されています。
- Azure Synapse Analytics
- Azure Data Lake Gen2
- Azure Cosmos DB
- Azure AI サービス の
- Azure Machine Learning
- Azure Event Hubs
- Azure IoT Hub
- Azure Stream Analytics
- Microsoft Purview
- Azure データ共有
- Microsoft Power BI
- Microsoft Entra ID
- Microsoft Cost Management
- Azure Key Vault
- Azure Monitor
- Microsoft Defender for Cloud
- Azure DevOps
- Azure Policy
- GitHub
Alternatives
上述のアーキテクチャでは、Azure Synapse パイプラインがデータ パイプライン オーケストレーションを担当します。 Azure Data Factory パイプラインには、この記事で説明したのと同じ機能も用意されています。
Azure Databricks can also be used as the compute engine used to process structured and unstructured data directly on the data lake.
上記のアーキテクチャでは、Azure Stream Analytics はストリーミング データの処理を担当するサービスです。 Azure Synapse Spark プールと Azure Databricks を使用してノートブックを実行することにより、同じ役割を果たすこともできます。
Azure HDInsight Kafka クラスターを使用してストリーミング データを取り込み、大規模なストリーミング ワークロードに必要な適切なレベルのパフォーマンスとスケーラビリティを提供することもできます。
You also can make use of Azure Functions to invoke Azure AI services or Azure Machine Learning custom ML models from an Azure Synapse pipeline.
このアーキテクチャのテクノロジが選ばれたのは、それぞれが、組織内で最も一般的なデータの課題に対処する上で必要な機能を提供しているためです。 これらのサービスはスケーラビリティと可用性の要件を満たしながら、コスト管理にも役立ちます。 このアーキテクチャの対象となるサービスは、大規模な Azure サービス ファミリのサブセットにすぎません。 同様の結果を得るには、この設計の対象になっていない他のサービスや機能を使用します。
お客様の分析ユース ケースに固有のビジネス要件によっては、この設計では考慮されていないさまざまなサービスや機能を使用することが必要になる場合もあります。
他の代替手段の比較については、以下をご覧ください。
Scenario details
このサンプル シナリオでは、Azure Synapse Analytics を Azure Data Services の広範なファミリと使用して、組織で最も一般的なデータの課題を処理できる最新のデータ プラットフォームを構築する方法を示します。
考えられるユース ケース
このアプローチは、以下の目的に使うこともできます。
- Establish a data product architecture, which consists of a data warehouse for structured data and a data lake for semi-structured and unstructured data. 一元化された環境用に 1 つのデータ製品をデプロイするか、Data Mesh などの分散環境用に複数のデータ製品をデプロイするかを選択できます。 データ管理とデータ ランディング ゾーンの詳細を参照してください。
- ビッグ データ処理テクノロジを使用して、リレーショナル データ ソースを他の非構造化データセットと統合する。
- セマンティック モデリングと強力な視覚化ツールを使用してデータ分析を簡単にする。
- 組織内または信頼された外部パートナーとの間でデータセットを共有する。
- ナレッジ マイニング ソリューションを実装して、画像、PDF、ドキュメントなどに隠されている貴重なビジネス情報を抽出します。
Recommendations
検出とガバナンス
データ ガバナンスは、大規模なエンタープライズ環境に共通の課題です。 ビジネス アナリストは、ビジネス上の問題を解決するのに役立つデータ資産を発見し、理解できる必要があります。 他方、最高データ責任者は、ビジネス データのプライバシーとセキュリティに関する分析情報を必要としています。
Microsoft Purview
Use Microsoft Purview for data discovery and insights on your data assets, data classification, and sensitivity, which covers the entire organizational data landscape.
Microsoft Purview can help you maintain a business glossary with the specific business terminology required for users to understand the semantics of what datasets mean and how they are meant to be used across the organization.
すべてのデータ ソースを登録してコレクションに整理できます。コレクションは、メタデータのセキュリティ境界としても機能します。
Setup regular scans to automatically catalog and update relevant metadata about data assets in the organization. Microsoft Purview can also automatically add data lineage information based on information from Azure Data Factory or Azure Synapse pipelines.
Data classification and data sensitivity labels can be added automatically to your data assets based on pre-configured or customs rules applied during the regular scans.
Data governance professionals can use the reports and insights generated by Microsoft Purview to keep control over the entire data landscape and protect the organization against any security and privacy issues.
Platform services
Azure ソリューションの品質を向上させるには、Azure Well-Architected Framework のアーキテクチャ エクセレンスの 5 つの柱である、コストの最適化、オペレーショナル エクセレンス、パフォーマンス効率、信頼性、セキュリティの 5 つの柱で定義されている推奨事項とガイドラインに従ってください。
これらの推奨事項に従うにあたり、以下のサービスを設計の一部として検討する必要があります。
- Microsoft Entra ID: ID サービス、シングル サインオン、および Azure ワークロード全体の多要素認証。
- Microsoft Cost Management: Azure ワークロードに対する財務ガバナンス。
- Azure Key Vault: セキュリティで保護された資格情報と証明書の管理。 たとえば、 Azure Synapse Pipelines、 Azure Synapse Spark プール 、 Azure ML では、データ ストアに安全にアクセスするために使用される資格情報と証明書を Azure Key Vault から取得できます。
- Azure Monitor: collect, analyze, and act on telemetry information of your Azure resources to proactively identify problems and maximize performance and reliability.
- Microsoft Defender for Cloud: Azure ワークロードのセキュリティ体制を強化し、監視します。
- Azure DevOps & GitHub: implement DevOps practices to enforce automation and compliance to your workload development and deployment pipelines for Azure Synapse and Azure ML.
- Azure Policy: implement organizational standards and governance for resource consistency, regulatory compliance, security, cost, and management.
Considerations
これらの考慮事項では、Azure Well-Architected Framework の柱を実装します。これは、ワークロードの品質を向上させるために使用できる一連の基本原則です。 For more information, see Well-Architected Framework.
Cost Optimization
コストの最適化では、不要な経費を削減し、運用効率を向上させる方法に重点を置いています。 詳細については、「 コストの最適化」のデザイン レビュー チェックリストを参照してください。
一般に、 Azure 料金計算ツール を使用してコストを見積もります。 アーキテクチャに含まれる各サービスの最適な価格レベルと全体的なコストの合計は、処理および格納されるデータの量と、期待される許容可能なパフォーマンス レベルによって異なります。 各サービスの価格の詳細については、以下のガイドを参照してください。
Azure Synapse Analytics サーバーレス アーキテクチャを使用すると、コンピューティング レベルとストレージ レベルを個別にスケーリングできます。 コンピューティング リソースは使用量に基づいて課金されるため、オンデマンドでそれらのリソースをスケーリングまたは一時停止できます。 ストレージ リソースはテラバイト単位で課金されるため、データを取り込んだ分だけコストが増加します。
Azure Data Lake Gen 2 は、格納されたデータの量と、データの読み取りと書き込みのトランザクション数に基づいて課金されます。
Azure Event Hubs と Azure IoT Hubs は、メッセージ ストリームの処理に必要なコンピューティング リソースの量に基づいて課金されます。
Azure Machine Learning の料金は、機械学習モデルのトレーニングとデプロイに使用されるコンピューティング リソースの量から発生します。
AI services is charged based on the number of call you make to the service APIs.
Microsoft Purview is priced based on the number of data assets in the catalog and the amount of compute power required to scan them.
Azure Stream Analytics は、ストリーム クエリの処理に必要なコンピューティング能力に基づいて課金されます。
Power BI has different product options for different requirements. Power BI Embedded には、アプリケーション内に Power BI 機能を埋め込むための Azure ベースのオプションが用意されています。 Power BI Embedded インスタンスは上記の料金サンプルに含まれています。
Azure Cosmos DB は、データベースに必要なストレージとコンピューティング リソースの量に基づいて価格が設定されます。
同様のアーキテクチャは、ワークロードの開発とテストを行うことができる運用前環境にも実装できます。 コスト効果の高い運用前環境を実現するため、お客様のワークロードに固有の要件と各サービスの機能をご検討ください。
このシナリオのデプロイ
この記事には、このアーキテクチャで説明されているサービスのデプロイを自動化する方法を示す、GitHub で使用できるコンパニオン リポジトリがあります。 Azure Synapse デプロイ ガイドで Azure Analytics のエンド ツー エンドに従って、このアーキテクチャをサブスクリプションにデプロイします。 このデプロイ ガイドには、詳細な手順と複数のデプロイ オプションがあります。
Contributors
この記事は、Microsoft によって更新および保守されています。 当初の寄稿者は以下のとおりです。
Principal author:
- Fabio Braga | Principal MTC Technical Architect
パブリックでない LinkedIn プロファイルを表示するには、LinkedIn にサインインします。
Next steps
Azure のスケーラブルな分析環境の Azure データ管理と分析のシナリオ で定義されているガイドラインを確認します。
このリファレンス アーキテクチャに関連するサービスに関する詳細なトレーニング コンテンツとラボについては、 Microsoft Learn のデータ エンジニア ラーニング パス を参照してください。
GitHub で入手できるデプロイ ガイダンスを使用して、ドキュメントを確認し、参照アーキテクチャをデプロイします。