適用対象:✅Microsoft Fabric 内の SQL データベース
この記事では、Fabric ベースのデータ資産内で 逆 ETL ターゲットとして Fabric の SQL データベースを使用する方法について説明します。 アプリケーション、API、リアルタイム エクスペリエンスによる運用上の使用のために、分析ソース (Microsoft Fabric Data Warehouse や Fabric Lakehouse など) から Fabric の SQL データベースにキュレーションされたデータを移動するためのアーキテクチャ ガイダンス、運用パターン、実装に関する考慮事項を提供します。
Fabric の逆 ETL とは
多くのお客様は、生の運用データをビジネス レポートに使用できるより洗練された分析データに変換するために 、抽出、変換、読み込み (ETL) プロセスの作成に多大な時間と労力を費やしてきました。 ETL プロセスの最終的な結果は、通常、Power BI などのレポート レイヤーがアクセスする倉庫やレイクハウスなどの分析ストアです。 このアーキテクチャはビジネス ユーザーによく役立ちますが、レポートは比較的静的であり、分析情報は人間の介入によってのみ導き出すことができます。 逆 ETL を使用すると、変換されたデータを運用システムに戻し、アプリケーションとエージェントがこの分析データからリアルタイムで分析情報を得ることができます。 逆 ETL は、分析ストア内のファクトとディメンションからデータをサービス レイヤーにプッシュします。このレイヤーには 、GraphQL などのエンドポイントを介して、または TDS (表形式データ ストリーム) クエリを介して直接アクセスできます。
運用アプリケーションをウェアハウスまたはレイクハウスに直接接続できますが、これらのデータ ストアは分析ワークロード用に設計されています。 Fabric の SQL データベースなどの運用データ ストアは、トランザクション クエリをサポートするように設計されており、運用ワークロードのパフォーマンスとスケーラビリティが向上します。 また、運用データベースでは、ベクター埋め込みと追加のメタデータを使用してデータをさらに強化し、ベクターとハイブリッドの検索だけでなく 、取得拡張生成 (RAG) を容易にすることもできます。
- このパターンでは、 倉庫 または レイクハウス は、記録の分析システムのままです。
- Fabric の SQL データベース は、低待機時間、洗練されたインデックス作成、厳密なデータとリレーションシップの制約、およびアプリケーション チームが期待する SLA を提供する運用ストアとして機能します。
一般的な逆 ETL ターゲット
一般的な逆 ETL ターゲットは、通常、運用システムが 最小限の変換で使用できる、キュレーションされた価値の高いデータ スライスを表します。 これらのターゲットは、分析レイヤーに適用されるビジネス ロジックを保持しながら、信頼できるデータへの低待機時間のアクセスを提供するように設計されています。 たとえば、次のようになります。
- 顧客データとユーザー データ (セッション アクティビティ、機能の使用状況、相互作用などのエンゲージメント メトリックなど)
- 売上とマーケティングのデータ (たとえば、購入の傾向、エンゲージメント スコア、変換する可能性などのスコア付けメトリック)
- 運用データとトランザクション データ (たとえば、在庫レベル、注文状態、出荷タイミングなどの注文および在庫データ)
- AI/ML 派生データ (パーソナライズされた製品の推奨事項、チャーン リスクやアップセル傾向などの予測スコア、センチメント分析など)
データ移動メカニズム
このプロセスは、まずソース データを定義し、宛先を設定してから、データ移動メカニズムを選択します。 分析ストアから Fabric の SQL データベースにデータを移動するには、次のメカニズムのうち 1 つ以上を選択します。
ヒント
一般的な規則として、次を使用します。
- 単純なコピーとスケジュールされた読み込みのパイプライン。
- 低コード変換用のデータフロー Gen2。
- 複雑で大規模な処理 (機械学習を含む) に対応したSpark。
- SQL データベース内のテーブルをウェアハウスまたは SQL 分析エンドポイント内のテーブルに結合するなど、操作を SQL 中心に保つために使用できる項目間 T-SQL。
| メカニズム | 次の場合に使用します。 | 長所 | 考慮事項 |
|---|---|---|---|
| ファブリック データ パイプライン | データ コピー操作の管理された反復可能な読み込み (バッチまたはマイクロバッチ) が必要です | 最高水準の統合は、透かしとストアドプロシージャをサポートしています。 | 並行性; ロード中に SQL データベースをスケーリングする |
| Dataflow Gen2 | 低コードのデータ変換と強化されたプロセス ロジックが必要です | ビジネスに適しており、列の整形とクレンジングをサポートします。 | 大量データを扱う際にはスループットの低下を考慮し、パーティション分割を計画する。 |
| Spark (ノートブック/ジョブ) | 複雑なコードベースの変換と大規模なリシェイプが必要です | 完全なコード制御。効率的なデルタ読み取り。JDBC 書き込みサポート | 認証とバッチ処理。大きなトランザクションを回避する |
| 項目間 T-SQL クエリ | Fabric 項目間のデータベース内 SQL 移動が必要です | 最小限の配管;SQL ネイティブ。スケジュールが簡単 |
参照アーキテクチャ: Fabric で ETL を SQL データベースに逆引きする
Fabric の逆 ETL の参照アーキテクチャでは、精選された分析データを運用化するために必要な重要な構成要素がまとめられます。 信頼された分析ソースから変換レイヤーを介して構造化された SQL データベースにデータがどのように流れるかを示します。 オペレーション データベースは、ダウンストリーム システムのインターフェイスとして機能します。 このパターンにより、アプリケーション、API、およびレポート ツールは、記録の分析システムの整合性を損なうことなく、待機時間の短い高品質のデータにアクセスできます。
このフローの主要なコンポーネントは次のとおりです。
- ソース: Fabric Data Warehouse または Lakehouse (Delta) からのキュレーションされたデータセット。
- 変換: パイプライン、 データフロー Gen2、 Spark、または 項目間 T-SQL を使用して適用される ETL 変換を反転します。
- ターゲット: 定義されたランディング、履歴 (省略可能)、検疫、およびサービス スキーマを持つ Fabric の SQL データベース 。
- コンシューマー: GraphQL または TDS、API、 Power BI を介したリアルタイムのダッシュボードとレポート用のアプリケーション。
Components
次のコンポーネントは、Fabric の SQL データベースを逆 ETL ターゲットとして使用するための一般的なフローに関連しています。
サービス スキーマとランディング スキーマ
- Fabric の SQL データベースの適切なランディング スキーマにソース データをマップします。
- 必要に応じて、監査のために
historyスキーマを維持します。 - 拒否 (データ品質の問題) には、
quarantineスキーマを使用します。 - 適切な制約とインデックス作成を使用してダウンストリームで使用する
servingスキーマを定義します。
オーケストレーション
- パイプライン、データフロー、または Spark ジョブを使用して Fabric での転送をスケジュールします。
- 組み込みのスケジュール設定を使用して、周期、開始時刻、タイム ゾーンを構成します。
- Fabric ポータルまたは API を使用して Spark Notebook を スケジュールします。
- ファブリック監視ハブでエンド・ツー・エンドの処理を監視します。
従量課金
- ADO.NET などのクライアント ライブラリを使用して、GraphQL エンドポイントまたは T-SQL 経由で TDS 経由でデータを公開します。
- Fabric の SQL データベースを介して Power BI ダッシュボードと視覚化を直接構築します。
ガバナンスとセキュリティ
- 認証と承認には Microsoft Entra ID を 使用します。
- 詳細な制御のために 、ファブリック ワークスペース ロールのアクセス許可 と SQL アクセス許可 を組み合わせます。
- 必要に応じて、保存データの暗号化用に カスタマー マネージド キー を構成します。
- Private Link を使用して、転送中のアクセスとセキュリティで保護されたデータを監査します。
アプリケーションの提供
SQL データベースのデータをキュレーションして更新したら、運用コンシューマーに対して高速で信頼性の高いアクセスを可能にすることに重点を置きます。 このコンテキストでは、 アプリケーションの提供 とは、最新のアプリケーション パターンに合わせて待ち時間の短いインターフェイスを介して信頼できるデータセットを公開することを意味します。
Fabric の SQL データベースにデータが格納され、更新された後:
- 運用ワークロードに対応するには、 GraphQL エンドポイントまたは TDS プロトコルを介してデータを公開し、 ADO.NET やその他のクライアント ライブラリを介して使用します。 たとえば、製品情報、サプライ チェーン、またはカスタマー サービスのユース ケースを指定します。
- データセットと Power BI を組み合わせて、リアルタイムのダッシュボードとセルフサービス分析を提供します。
ファブリック固有の考慮事項
Fabric の SQL データベースは、Azure SQL Database と同じ SQL Database エンジンを使用し、 Fabric ポータルを介して制御、セキュリティ保護、課金、運用されます。 また、SQL 分析エンドポイント経由でアクセスされる、Microsoft OneLake に格納されている Delta/Parquet ファイルへの組み込みのミラーリングも提供します。 Microsoft Fabric 環境であるため、設計を作成する際に考慮すべき考慮事項がいくつかあります。
- 機能の均等化: Fabric の SQL データベースは、Azure SQL Database と収束しています。 目的に合うようにするために必要な特定の 機能 を検証し、 ロードマップの更新を監視します。
- セキュリティ モデル: Fabric の SQL データベースでは 、Microsoft Entra ID 認証のみが使用されます。 それに応じて、パイプライン、データフロー、および Spark ジョブの ID を計画します。
- レプリケーション: Fabric の SQL データベースは、読み取り専用データを OneLake に自動的にレプリケートします。 この同期は、レポートと分析のニーズに役立ちますが、データベースは読み取り/書き込み操作ワークロードで引き続き使用できます。