差分変更データ フィード (CDF) は、挿入、更新、削除をキャプチャし、OneLake の Delta Lake テーブルに適用します。 このフローでは、完全な再読み込みまたは大量の ETL パイプラインなしで、ほぼリアルタイムの分析がサポートされます。
- 増分変更 (差分ベース) を継続的に処理します。
- 変更のみの処理を使用します。
- ダウンストリームの増分処理をサポートします。
- 開いているミラーリング パートナーを含むすべてのミラーリング ソースで使用できます。
前提条件
- Microsoft Fabric の容量 (F2 以上) または Fabric の試用版。
- Fabric ワークスペース内のミラー化されたデータベース。
- Fabric Lakehouse が同じワークスペースまたは別のワークスペースに存在する (CDF データのクエリ用)
Fabric ポータルで差分変更データ フィードを有効にする
ミラー化されたデータベースごとに差分変更データ フィードを有効にします。
- ミラー化されたソースの場合は、歯車アイコンを選択して構成ダッシュボードを開きます。
- [ 差分テーブル管理] で、[ 差分変更データ フィードを有効にする] チェック ボックスをオンにします。
API を使用して差分変更データ フィードを有効にする
API を使用して差分変更データ フィードを有効にするには、「 ミラー化されたデータベースの差分変更データ フィードを有効にする」を参照してください。
既存のテーブルの差分変更データ フィードを有効にする
CDF が使用可能になる前にミラー化されたデータベースを作成した場合は、Fabric REST API を使用して CDF を有効にすることができます。 このプロセスでは、現在の定義を取得し、CDF プロパティを追加して、定義を更新します。
ミラー化されたデータベース定義を取得します。
POST https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/mirroredDatabases/{mirroredDatabaseId}/getDefinition応答から
mirroring.jsonペイロードをデコードします。 ペイロードは Base64 でエンコードされます。"enableDeltaChangeDataFeed": trueセクションにtarget.typePropertiesを追加します。{ "properties": { "source": { ... }, "target": { "type": "MountedRelationalDatabase", "typeProperties": { "defaultSchema": "dbo", "format": "Delta", "enableDeltaChangeDataFeed": true, "retentionInDays": 1 } } } }更新された JSON を Base64 に再エンコードしてから、定義を更新します。
POST https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/mirroredDatabases/{mirroredDatabaseId}/updateDefinition
定義を更新した後、もう一度取得し、 enableDeltaChangeDataFeed が trueされていることを確認します。
変更データのクエリ
Important
CDF データに対してクエリを実行するには、まず、ミラー化されたデータベース テーブルを指す Lakehouse ショートカット を作成する必要があります。 ミラー化されたデータベース項目から直接 CDF データに対してクエリを実行することはできません。 ショートカットを使用すると、 _change_data ファイルに Spark からアクセスできるようになります。
Lakehouse ショートカットを作成します。
- Fabric ワークスペースで、Lakehouse を開くか作成します。
- Lakehouse エクスプローラーで、[ 新しいショートカット] を選択します。
- ソースとして OneLake Microsoft選択します。
- ミラー化されたデータベースに移動し、クエリを実行するテーブルを選択します。
- [ 作成] を選択してショートカットの作成を完了します。
Lakehouse に接続されている Fabric ノートブックを開き、次のいずれかのオプションを使用して変更データのクエリを実行します。
オプション A: 特定のバージョンから変更を確認する
readChangeFeed オプションとstartingVersionを使用して、特定の Delta テーブル バージョンからすべての CDF 変更を前方に読み取ります。
<lakehouse_name>と<table_name>を、Lakehouse とテーブルの名前に置き換えます。
df = spark.read.format("delta") \
.option("readChangeFeed", "true") \
.option("startingVersion", 0) \
.table("<lakehouse_name>.<table_name>")
df.show()
オプション B: タイムスタンプ範囲内の変更を読み取る
readChangeFeedとstartingTimestampで endingTimestamp オプションを使用して、特定の時間枠内で CDF の変更を読み取ります。
df = spark.read.format("delta") \
.option("readChangeFeed", "true") \
.option("startingTimestamp", "2025-01-01T00:00:00Z") \
.option("endingTimestamp", "2025-01-02T00:00:00Z") \
.table("<lakehouse_name>.<table_name>")
df.show()
オプション C: SQL 構文を使用する
table_changes() SQL 関数を使用して CDF データにクエリを実行します。 この方法は、任意の Spark SQL コンテキストで機能します。
df = spark.sql("""
SELECT * FROM table_changes('<lakehouse_name>.<table_name>', 0)
""")
df.show()
ダウンストリームの従量課金オプション
Delta Change Data Feed は、下流での複数の利用方法に対応しています。
| 使用方法 | Description | 地位 |
|---|---|---|
| スパークノートブック | Lakehouse ショートカットを使用して、 readChangeFeed または table_changes() を使用して変更データのクエリを実行します。 |
今すぐ利用可能 |
| コピージョブ | コピー ジョブを使用して、Fabric Lakehouse からの CDF 変更を読み取り、SQL、Snowflake、Fabric Lakehouse などの宛先に増分レプリケートします。 ミラー化されたデータベースから Lakehouse へのショートカットを作成し、コピー ジョブが Lakehouse から変更を読み取ります。 コピー ジョブへのミラー化されたデータベースの直接サポートは開発中です。 | 現在利用可能 (Lakehouse ショートカットを使用)直接サポートが近日公開予定 |
| Eventstreams (ミラー化されたデータベース変更フィード コネクタ) | CDF の変更をミラー化されたデータベースからFabric Eventstream に直接ストリーミングし、待機時間の短いイベント ドリブン アプリケーションを実現します。 Real-Time Hub で CDF 対応データベースを検出し、Eventstream を作成し、Eventhouse などの宛先にルーティングしたり、アクティベーター アラートを設定したりします。 | Preview |
| データ パイプライン | データ パイプラインは、CDF からの増分コピーをネイティブにサポートしていません。 パイプライン内のノートブックを使用して、増分処理を実現できます。 | 利用可能な回避策 |
価格設定
Note
拡張機能の課金は、5 月 25 日の週の時点ですべてのリージョンに再開されました。 2026. 拡張機能を有効にするための UX サポートも再び有効になりますが、 API を使用して機能を拡張することもできます。
拡張機能のないミラーリングは無料です。
主な価格の明確化:
- 課金は使用量ベースです。 CDF が実際の変更を処理するときに使用される増分コンピューティングに対してのみ課金されます。 アイドル時間または空の実行 (ソース データの変更が発生しない期間) に対する料金は発生しません。
- コア ミラーリングは無料のままです。 CDF を有効にしても、コア ミラーリングの価格は変更されません。 継続的レプリケーション、Delta Lake 変換、OneLake 統合、SQL 分析エンドポイントは無料のままです。
- ミラーリング用のストレージは無料です。 OneLake のミラー化されたデータのストレージは、個別に課金されません。 ただし、CDF を有効にすると、
_change_dataファイルが追加されるため、ストレージの消費量が増加します。 - CDF はアドオンであり、代わりではありません。 CDF の課金は、拡張機能コンピューティング専用です。 コア ミラーリング アクティビティにさかのぼって課金されることはありません。
- CDF を選択的に有効にすることで、コストを制御できます。 CDF は、ミラー化されたデータベース レベルで有効になります。 増分処理が必要なミラー化されたデータベースでのみ CDF を有効にし、他のデータベースはコア ミラーリングのままにします。
完全な価格モデル、測定の詳細、課金範囲については、 ミラーリングの拡張機能の課金に関するページを参照してください。