このサンプル ワークロードは、Microsoft Fabric とレイクハウス設計パラダイムを使用してスケーラブルなデータ プラットフォームを作成するためのグリーンフィールド ソリューションを示しています。 Fabric は、データの保存、処理、分析を統合するプラットフォームです。 グリーンフィールド レイクハウスは、将来を見据えた効率的なデータ エコシステムを設計するための新しいスタートを提供します。
Architecture
このアーキテクチャの Visio ファイルをダウンロードします。
データフロー
この設計は、データ処理を 2 つのレイヤーに分離する Lambda アーキテクチャを反映しています。
- 履歴分析のために定期的に処理される大量バッチ処理レイヤー
- リアルタイム分析のための低遅延、高スループットのストリーム処理レイヤー
ストリーム処理パスは、ほぼリアルタイムでデータを取り込んで処理するため、ダッシュボードや異常検出に最適です。 バッチ処理パスは完全なデータセットを処理し、データの一貫性を確保し、複雑な履歴分析を可能にします。 この 2 つのアプローチにより、後で調査するための信頼性の高い記録を維持しながら、リアルタイムの分析情報を利用できます。
コールド パス: バッチ分析
リレーショナル SQL セマンティクスに依存するデータ ウェアハウスは、履歴データ分析の従来のアプローチです。 ただし、このパターンは時間の経過とともに進化しており、バッチ データ分析の現在の業界標準はレイクハウスです。 レイクハウスはは、オープンソースファイル形式に基づいて構築されます。従来のデータ ウェアハウスとは異なり、構造化、半構造化、非構造化のすべての種類のデータに対応します。 レイクハウスのコンピューティング レイヤーは通常、Apache Spark フレームワーク上に構築されます。Apache Spark フレームワークは、分散コンピューティング機能と高パフォーマンスにより、ビッグ データの処理に適したエンジンです。 Fabric は、オープン ソースの Delta Lake ファイル形式とマネージド Spark ランタイムに基づくネイティブのレイクハウス エクスペリエンスを提供します。
レイクハウスの実装では通常、メダリオン アーキテクチャが使用されます。 このアーキテクチャでは、ブロンズ レイヤーには生データ、シルバー レイヤーには検証済みで重複排除されたデータ、ゴールド レイヤーにはビジネス向けユース ケースのサポートに適した高度に精製されたデータが含まれます。 このアプローチは、あらゆる組織と業界で機能します。 これは一般的なアプローチですが、要件に合わせてカスタマイズできます。 このアーキテクチャは、ネイティブの Fabric コンポーネントを使用してレイクハウスを作成する方法を示しています。
Data Factory 経由のデータ インジェスト
(図のステップ 1 を参照してください。)
Fabric の Azure Data Factory 機能は、広く使用されているデータ統合サービスである Azure Data Factory サービスの機能を提供します。 Data Factory サービスは主にパイプラインを介してオーケストレーション機能を提供しますが、Fabric の機能ではパイプラインとデータフローの両方が提供されます。
- データ パイプラインを使用すると、すぐに使用できる豊富なデータ オーケストレーション機能を適用して、企業のニーズを満たす柔軟なデータ ワークフローを作成できます。
- データフローを使用すると、データフロー デザイナーで 300 を超える変換を使用できます。 これらの変換を使用して、Power Query に似たグラフィカル インターフェイスでデータを変換できます。 これらの変換には、スマート AI ベースのデータ変換が含まれます。 データフローでは、レイクハウス、ウェアハウス、Azure SQL、Kusto データベースなど、Fabric のネイティブ データ ストアにデータを書き込むこともできます。
要件に応じて、これらの機能のいずれかまたは両方を使用し、メタデータ駆動型の優れたインジェスト フレームワークを作成できます。 定義されたスケジュールまたはイベント トリガーを使用して、さまざまなソース システムからデータをオンボードできます。
データ変換
(図のステップ 2 を参照してください。)
データの準備と変換には 2 つのアプローチがあります。 コードファーストのエクスペリエンスを使用する場合は、Spark ノートブックを使用できます。 ローコードまたはノーコードのエクスペリエンスを使用する場合は、データフローを使用できます。
Fabric ノートブックは、Apache Spark ジョブを開発するための重要なツールです。 データ エンジニアがコードの記述に使用する Web ベースの対話型サーフェスを提供します。 また、優れた視覚化を提供し、Markdown テキストの使用を可能にします。 データ エンジニアは、データ インジェスト、データ準備、データ変換のためのコードを作成します。 データ サイエンティストは、ノートブックを使用して機械学習ソリューションを作成します。 たとえば、ノートブックを使用して実験やモデルを作成することも、モデルを追跡およびデプロイすることもできます。
Fabric のすべてのワークスペースには、既定の Spark ジョブに使用される Spark スターター プールが付属しています。 スターター プールを使用すると、手動でのセットアップを行うことなく、Apache Spark セッションを迅速に (通常は 5 秒から 10 秒以内に) 初期化できます。 また、データ エンジニアリングの要件に応じて Apache Spark プールを柔軟にカスタマイズすることもできます。 Spark ジョブの要件に基づいて、ノードのサイズ設定、オートスケール、Executor の動的割り当てを行うことができます。 Spark ランタイムのカスタマイズには、環境を使用できます。 環境では、コンピューティング プロパティを構成し、さまざまなランタイムを選択して、ワークロード要件に基づいてライブラリ パッケージの依存関係を設定できます。
データフローを使用すると、さまざまなソースからデータを抽出し、さまざまな操作によりデータを変換して、必要に応じて宛先に読み込むことができます。 従来、データ エンジニアは、データを抽出、変換、読み込んで、ダウンストリーム分析に使用可能な形式にするのにかなりの時間を費やしています。 Dataflow Gen2 は、Power Query Online の視覚的なヒントを使用して、抽出、変換、読み込み (ETL) タスクを実行する簡単で再利用可能な方法を提供します。 データフローでは、すべての変換手順が保持されます。 変換後に他のタスクを実行したり、別の変換先にデータを読み込んだりするには、データ パイプラインを作成し、Dataflow Gen2 アクティビティをパイプライン オーケストレーションに追加します。
ホット パス: リアルタイム分析
リアルタイムのデータ処理は、俊敏性を維持し、情報に基づいた意思決定を迅速に行い、直ちに分析情報を活用して業務とカスタマー エクスペリエンスを改善したい企業にとって不可欠です。 Fabric では、この機能はリアルタイム インテリジェンス サービス サービスによって提供されます。 リアルタイム ハブ経由でアクセスでき、一緒にバンドルされている複数の Fabric 機能で構成されています。 リアルタイム ハブは、組織全体で移動中のデータをストリーミングするための単一の場所として使用できます。
Fabric のリアルタイム インテリジェンスを使用すると、イベント駆動型のシナリオ、ストリーミング データ、およびデータ ログの分析とデータ視覚化が可能になります。 これにより、ノーコード コネクタのカタログを使用して、さまざまなソースからの時間ベースのデータを接続し、データ インジェスト、変換、保存、分析、視覚化、追跡、AI、リアルタイム アクションのためのエンドツーエンドのソリューションを提供できます。 サービス名には "リアルタイム" という語句が使用されていますが、データを高速かつ大量にストリーミングする必要はありません。 リアルタイム インテリジェンスは、スケジュール駆動型ではなくイベント駆動型のソリューションを提供します。
リアルタイムの取り込み
(図のステップ 3 を参照してください。)
イベント ストリームは、さまざまなソースからリアルタイム イベントを取り込み、さまざまな宛先に送信するノーコードの方法を可能にする Fabric 機能です。 これにより、コンテンツに基づいてデータのフィルタリング、変換、集計、ルーティングを行うことができます。 また、既存のストリームから新しいストリームを作成し、アルタイム ハブを使用して組織全体で共有することもできます。 イベントストリームは、複数のデータ ソースとデータ宛先をサポートします。 Apache Kafka クラスター、データベース変更データ キャプチャ フィード、AWS ストリーミング ソース (Kinesis)、Google (GCP Pub/Sub) などの外部ソースへの幅広いコネクタを使用できます。
イベント ストリームを作成してストリームにイベント データ ソースを追加し、必要に応じて変換を追加してイベント データを変換し、サポートされている宛先にデータをルーティングします。 Fabric レイクハウスは、サポートされている宛先の 1 つであるため、レイクハウスに取り込む前にリアルタイム イベントを変換できます。 リアルタイム イベントは Delta Lake 形式に変換され、指定したレイクハウス テーブルに格納されます。 このパターンにより、データ ウェアハウスのシナリオと、高速に移動するデータの履歴分析が可能になります。
リアルタイム分析
(図のステップ 4 を参照してください。)
Fabric でリアルタイム インテリジェンスを使用する場合、データのストリーミングには、ユース ケースに応じて、一般的に 2 つの経路 (Reflex アイテムとイベントハウス) があります。
リフレックスは、データ条件の発生時に対応するための Fabric アイテムです。 この対応としては、電子メールまたは Microsoft Teams 経由の単純なアラート メッセージを使用することも、Power Automate フローをトリガーしてカスタム アクションを呼び出すこともできます。 また、リフレックスから任意の Fabric アイテムをトリガーすることもできます。 多くの監視ユース ケースはリフレックスによってサポートされています。その 1 つに、イベント ストリームに到着したストリーミング データへの対応があります。
イベントハウスは、1 つ以上の Kusto 照会言語 (KQL) データベースのコレクションです。 KQL データベースは、構造化データ、半構造化データ、非構造化データの時間ベースのストリーミング イベント用に設計されています。 データは、取り込み時間に基づいて自動的にインデックス付けおよびパーティション分割されるため、データ ストリームの受信中も、高速で複雑な分析クエリ機能が提供されます。 イベントハウスに保存されたデータは、OneLake で、他の Fabric プロセスから使用できる状態にすることができます。 KQL クエリセットのネイティブ KQL や T-SQL など、Fabric のさまざまなコード、ローコード、ノーコード オプションを使用して、このデータを照会できます。
リアルタイム ダッシュボードは、イベントハウスにストリーミングされるデータからすぐに分析情報を提供するように設計されています。 チャートやグラフなど、さまざまな種類のビジュアルをダッシュボードに追加し、ニーズに合わせてカスタマイズできます。 リアルタイム ダッシュボードは、イベントハウスに到着する高速データの傾向と異常をすばやく特定するという特定の目的に役立ちます。 これらは、エンタープライズ BI レポート ワークロードに適した Power BI ダッシュボードとは異なります。
データ提供
(図のステップ 5 を参照してください。)
Fabric レイクハウスおよびイベントハウスからのデータを利用するには、ローコードまたはプロコードのさまざまなオプションがあります。
SQL 分析エンドポイント
SQL 分析エンドポイントは、Fabric内のすべてのレイクハウスに対して自動的に生成されます。 SQL 分析エンドポイントは読み取り専用です。 データを変更するには、レイクハウス モードに切り替えて Spark を使用する必要があります。 レイクハウス モードからレイクハウスの SQL モードに切り替えることで、Fabric ポータルで直接 SQL 分析エンドポイントを使用してデータを照会できます。 または、Power BI、Excel、SQL Server Management Studio などのクライアント ツールを使用して、レイクハウスの SQL 接続文字列によって接続することもできます。 このオプションは、データ チームのデータ アナリストやビジネス アナリストに適しています。
Spark ノートブック
ノートブックは、Lakehouse データを操作するための一般的な方法です。 Fabric は、データ ワーカーがコードを記述するために使用できる Web ベースの対話型サーフェスを提供します。 ワーカーは、豊富な視覚化機能と Markdown テキストを適用できます。 データ エンジニアは、データ インジェスト、データ準備、データ変換のためのコードを作成します。 データ サイエンティストは、データ探索、機械学習の実験とモデルの作成、モデルの追跡とデプロイにノートブックを使用します。 このオプションは、プロのデータ エンジニアやデータ サイエンティストに適しています。
Power BI
Fabric のすべてのレイクハウスには、事前構築済みの既定のセマンティック モデルが付属します。 レイクハウスを設定してデータを読み込むと、自動的に作成されます。 これらのモデルは、レイクハウス エクスペリエンス内から直接 Power BI レポートとダッシュボードを簡単に作成できるように、レイクハウスからビジネス ロジックを継承します。 レイクハウス テーブルでは、特定のビジネス要件に基づいてカスタム セマンティック モデルを作成することもできます。 レイクハウスで Power BI レポートを作成するときは、データを個別にインポートする必要のない Direct Lake モードを使用できます。 このモードでは、レイクハウスからデータを移動することなく、レポートでインメモリ パフォーマンスを活用できます。
カスタム API
Fabric は、Fabric アイテム全体に対して優れた API サーフェスを提供します。 OneLake を使用すると、Azure Data Lake Storage API および SDK を通じて、すべての Fabric アイテムへのオープン アクセスが可能になります。 OneLake のデータには、Data Lake Storage と互換性のある任意の API、SDK、またはツールを使用して、OneLake URI を使用するだけでアクセスできます。 Azure Storage Explorer を使用してレイクハウスにデータをアップロードすることも、Azure Databricks からショートカットを介してデルタ テーブルを読み取ることもできます。 OneLake では、Data Lake Storage と Azure Blob Storage との互換性を高める Azure Blob Filesystem (ABFS) ドライバー もサポートされています。 ダウンストリーム アプリでストリーミング データを使用するには、イベントストリーム データをカスタム API エンドポイントにプッシュします。 その後、Azure Event Hubs、AMQP、または Kafka プロトコルを使用して、Fabric からのストリーミング出力を使用できます。
Power Automate
Power Automate は、反復タスクの自動化や、データの操作のために使用できる、ローコード アプリケーション プラットフォームです。 Fabric のリフレックス アイテムでは、宛先として Power Automate フローがサポートされます。 この統合により、多くのユース ケースが実現し、Microsoft システムと Microsoft 以外のシステムの両方で、幅広いコネクタを使用してダウンストリーム アクションをトリガーできるようになります。
コンポーネント
このソリューションでは、次のコンポーネントを使用します。
Fabric: 企業向けに設計されたエンドツーエンドのクラウドベースのデータ分析プラットフォーム。 データ インジェスト、変換、分析、視覚化など、さまざまなデータタスクのための統合環境を提供します。
OneLake: Fabric 内のすべてのデータの中央ハブ。 オープン データ レイクとして設計されているため、構造に関係なく、ネイティブ形式でデータを保存できます。
Data Factory: データの移動と変換を自動化するクラウドベースの ETL およびオーケストレーション サービス。 これにより、さまざまなデータ ソース間で大規模なデータ移動と変換を自動化できます。
データ エンジニアリング: 大量のデータの収集、保存、処理、分析を可能にするツール。
Data Science: データ エンリッチメントのためのデータ サイエンス ワークフローをのエンド ツー エンドで行い、ビジネス分析情報を得るためのツール。
リアルタイム インテリジェンス: ストリーム インジェストと処理機能を提供するサービス。 これにより、常に流れているデータから分析情報を獲得し、リアルタイムの傾向や異常に基づいて迅速な意思決定を行うことができます。
Copilot: 自然言語を使用して、Fabric と Power BI でデータの分析、分析情報の生成、視覚化とレポート作成に使用できるツール。
Power BI: 対話型のダッシュボードおよびレポートを作成し、データを視覚化して分析情報を得るためのビジネス インテリジェンス ツール。
代替
Fabric には堅牢な一連のツールが用意されていますが、特定のニーズに応じて、Azure エコシステムの代替サービスで提供される強化された機能を利用することもできます。
Azure Databricks は、ネイティブの Fabric データ エンジニアリング機能の代わりまたは補完として使用できます。 Azure Databricks は、クラウドベースの Apache Spark 環境を提供することで、大規模なデータ処理の代替手段を提供します。 また、Azure Databricks は、データ資産全体と機能全体にわたる共通のガバナンスを提供し、データ サイエンス、データ エンジニアリング、機械学習、AI、SQL ベースの分析などの主要なユース ケースを可能にする機能も提供します。
Azure Machine Learning では、ネイティブの Fabric Data Science ツールの代わりまたは補完として使用できます。 Machine Learning では、オンライン推論ユース ケースのモデルのホスティング、モデルのドリフトの監視、カスタムの生成 AI アプリケーションの作成を可能にする機能が追加されており、Fabric のモデル実験と管理の機能を上回っています。
シナリオの詳細
このアーキテクチャは、次のシナリオに適用できます。
- レガシ システムの制約を受けずに新たに開始する組織。
- 0.5 TB ~ 1.5 TB のデータ量が予測される組織。
- コスト、複雑さ、パフォーマンスに関する考慮事項のバランスが取れた、シンプルで合理的なパターンを好む組織。
- レポート、分析、機械学習の要件に対応する、シンプルでコスト効率が高く、高パフォーマンスのデータ プラットフォームを必要とする組織。
- 複数のソースからのデータを、統一されたビューにまとめたいという要望がある組織。
このソリューションは、次の場合には推奨されません。
- SQL またはリレーショナル データベースのバックグラウンドがあり、Apache Spark のスキルが限られているチーム。
- レガシ システムまたはデータ ウェアハウスから最新のプラットフォームに移行中の組織。
考慮事項
以降の考慮事項には、ワークロードの品質向上に使用できる一連の基本原則である Azure "Well-Architected Framework" の要素が組み込まれています。 詳細については、「Microsoft Azure Well-Architected Framework」を参照してください。
[信頼性]
信頼性により、顧客に確約したことをアプリケーションで確実に満たせるようにします。 詳細については、「信頼性の設計レビュー チェックリスト」を参照してください。
Fabric は、構成を必要とせずに、可用性ゾーン間でリソースのレプリケートを自動的に行います。 たとえば、ゾーン全体の停止中に、ゾーンを回復するためのアクションは必要ありません。 サポートされているリージョンではファブリックは自動的に自己修復と再調整を行い、正常なゾーンを利用できます。
セキュリティ
セキュリティは、重要なデータやシステムの意図的な攻撃や悪用に対する保証を提供します。 詳細については、「セキュリティの設計レビュー チェックリスト」を参照してください。
Fabric を使用すると、変化するニーズや要求に応じてセキュリティ設定を管理、制御、監査できます。 Fabric を使用する際のセキュリティ推奨事項として主なものは次のとおりです。
[認証] 。 さまざまなデバイスや場所からアクセスできるように、Microsoft Entra ID でシングル サインオン (SSO) を構成します。
ロールベースのアクセス制御 (RBAC)。 ワークスペースベースのアクセス制御を実装して、どのユーザーが特定のデータセットにアクセスおよび操作できるかを管理します。
ネットワーク セキュリティ。 ネットワーク内外のデータやサービスに接続するときは、Fabric の受信および送信ネットワーク セキュリティ制御を使用します。 主な機能には、条件付きアクセス、プライベート リンク、信頼されたワークスペース アクセス、マネージド プライベート エンドポイントなどがあります。
監査ログ。 Fabric によって提供される詳細な監査ログを使用して、ユーザー アクティビティを追跡し、プラットフォーム全体のアカウンタビリティを確保します。
詳細については、「Microsoft Fabric のセキュリティ」を参照してください。
コストの最適化
コストの最適化とは、不要な費用を削減し、運用効率を向上させることです。 詳しくは、コスト最適化の柱の概要に関する記事をご覧ください。
Fabric では、指定された数の容量ユニット (CU) に対して容量予約が提供されます。 容量予約により、Fabric の容量使用量を 1 年間予約することでコストを節約できます。
Fabric の容量を最大限に活用するには、次の推奨事項を検討してください。
- F SKU を適切なサイズにします。 適切な容量サイズを決定するには、F SKU 予約インスタンスを購入する前に、トライアル容量または従量課金制の F SKU をプロビジョニングして、必要な実際の容量サイズを測定します。 代表的なワークロードを使用して限定的な概念実証を実行し、CU の使用状況を監視してから、推定によって運用環境での CU 使用量を見積もることをお勧めします。 Fabric はシームレスなスケーリングを提供します。 控えめな容量サイズから始めて、さらに容量が必要な場合はスケールアップできます。
- 使用パターンを監視します。 使用状況を定期的に追跡して分析し、ピーク時間とオフピーク時間を特定します。 そうすることで、リソースが最も使用される時間を把握し、重要でないタスクをオフピーク時間にスケジュールして、CU 使用量の急増を回避できます。
- クエリとワークロードを最適化します。 不要なコンピューティング使用量を減らすために、クエリとワークロードが最適化されていることを確認します。 DAX クエリ、Python コード、およびその他の操作を最適化します。
- バーストとスムージングを使用します。 Fabric のバースト機能とスムージング機能を使用して、上位の SKU を必要とせずに CPU を集中的に使用するアクティビティを処理します。 これにより、パフォーマンスを維持しながらコストを管理できます。 詳細については、「Microsoft Fabric 容量を評価して最適化する」を参照してください。
- アラートと通知をセットアップします。 高いコンピューティング使用量を容量管理者が監視および管理できるように、プロアクティブなラートを構成します。 これにより、タイムリーなアクションを実行してコスト超過を防止できます。
- ワークロード管理を実装します。 リソースの可用性とシステムの需要に基づき、時間をずらしてログ実行ジョブをスケジュールすることで、容量の使用を最適化します。 詳細については、「ワークロードの管理」を参照してください。
以下の考慮事項も念頭に置いてください。
- Data Lake Storage の価格は、格納するデータの量とデータの使用頻度によって異なります。 サンプル料金には、1 TB のデータの保存や、その他のトランザクションの想定が含まれています。 1 TB は、元のレガシ データベースのサイズではなく、データ レイクのサイズを意味します。
- Fabric の料金は、Fabric F SKU 容量の料金または Premium Per User の料金に基づいています。 サーバーレス容量では、購入した専用容量から CPU とメモリが消費されます。
- Event Hubs は、レベル、プロビジョニングされたスループット ユニット数、受信したイグレス トラフィックに基づいて課金されます。 例では、標準レベルの 1 つのスループット ユニットのイベント数が 1 か月に 100 万件を超えることを前提としています。
オペレーショナル エクセレンス
オペレーショナル エクセレンスは、アプリケーションをデプロイし、それを運用環境で実行し続ける運用プロセスをカバーします。 詳細については、「オペレーショナル エクセレンスのデザイン レビュー チェック一覧」を参照してください。
Fabric には、データ プラットフォームの管理に役立つ多くのコンポーネントが用意されています。 これらの各コンポーネントは、Microsoft Fabric Capacity Metrics app に表示される固有の操作をサポートしています。 Fabric Capacity Metrics app を使用して、容量の消費を監視し、容量リソースの使用方法について情報に基づいた決定を下すことができます。
パフォーマンス効率
パフォーマンス効率とは、ユーザーからの要求に合わせて効率的な方法でワークロードをスケーリングできることです。 詳細については、「パフォーマンス効率の設計レビュー チェックリスト」を参照してください。
Fabric には、コンポーネント全体のパフォーマンスを最適化するための機能がいくつか用意されています。 これらのツールとプラクティスは、コンピューティング リソースを効果的に管理し、過負荷を防ぎ、ワークロードのスケーリングと最適化について情報に基づいた決定を下すために役立ちます。
Fabric の主要なパフォーマンス効率機能には、次のようなものがあります。
バーストとスムージング: 上位の SKU を必要とせずに、CPU 負荷の高いアクティビティを迅速に完了させます。 これらのアクティビティは、1 日のどの時間帯にでもスケジュールできます。
調整: 容量に対して SKU 制限を超える CPU 需要が持続的に発生した場合に、操作を遅延または拒否します。
Fabric Capacity Metrics app: 容量の使用状況を視覚化し、成果物のパフォーマンスと高コンピューティング アイテムを最適化します。 このアプリは、ターゲットを絞った最適化のために、対話型操作 (DAX クエリなど) とバックグラウンド操作 (セマンティック モデルの更新など) を区別します。
共同作成者
この記事は、Microsoft によって保守されています。 当初の寄稿者は以下のとおりです。
プリンシパルの作成者:
- Amit Chandra | クラウド ソリューション アーキテクト
- Nicholas Moore | クラウド ソリューション アーキテクト
パブリックでない LinkedIn プロファイルを表示するには、LinkedIn にサインインします。
次のステップ
- OneLake とは
- Data Factory とは
- データ エンジニアリングとは
- Data Science とは
- リアルタイム インテリジェンスとは
- Power BI とは?
- Fabric での Copilot の紹介