Fabric のミラーリングにおける Delta 変更データ フィード

差分変更データ フィード (CDF) は、挿入、更新、削除をキャプチャし、OneLake の Delta Lake テーブルに適用します。 このフローでは、完全な再読み込みまたは大量の ETL パイプラインなしで、ほぼリアルタイムの分析がサポートされます。

  • 増分変更 (差分ベース) を継続的に処理します。
  • 変更のみの処理を使用します。
  • ダウンストリームの増分処理をサポートします。
  • 開いているミラーリング パートナーを含むすべてのミラーリング ソースで使用できます。

前提条件

  • Microsoft Fabric の容量 (F2 以上) または Fabric の試用版。
  • Fabric ワークスペース内のミラー化されたデータベース。
  • Fabric Lakehouse が同じワークスペースまたは別のワークスペースに存在する (CDF データのクエリ用)

Fabric ポータルで差分変更データ フィードを有効にする

ミラー化されたデータベースごとに差分変更データ フィードを有効にします。

  1. ミラー化されたソースの場合は、歯車アイコンを選択して構成ダッシュボードを開きます。
  2. [ 差分テーブル管理] で、[ 差分変更データ フィードを有効にする] チェック ボックスをオンにします。

差分変更データ フィードの設定、OneLake データ アクセス オプション、レプリケーションの状態を示す Oracle Database ミラーリング構成ダッシュボードのスクリーンショット。

API を使用して差分変更データ フィードを有効にする

API を使用して差分変更データ フィードを有効にするには、「 ミラー化されたデータベースの差分変更データ フィードを有効にする」を参照してください。

既存のテーブルの差分変更データ フィードを有効にする

CDF が使用可能になる前にミラー化されたデータベースを作成した場合は、Fabric REST API を使用して CDF を有効にすることができます。 このプロセスでは、現在の定義を取得し、CDF プロパティを追加して、定義を更新します。

  1. ミラー化されたデータベース定義を取得します。

    POST https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/mirroredDatabases/{mirroredDatabaseId}/getDefinition
    
  2. 応答から mirroring.json ペイロードをデコードします。 ペイロードは Base64 でエンコードされます。

  3. "enableDeltaChangeDataFeed": true セクションにtarget.typePropertiesを追加します。

    {
      "properties": {
        "source": { ... },
        "target": {
          "type": "MountedRelationalDatabase",
          "typeProperties": {
            "defaultSchema": "dbo",
            "format": "Delta",
            "enableDeltaChangeDataFeed": true,
            "retentionInDays": 1
          }
        }
      }
    }
    
  4. 更新された JSON を Base64 に再エンコードしてから、定義を更新します。

    POST https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/mirroredDatabases/{mirroredDatabaseId}/updateDefinition
    

定義を更新した後、もう一度取得し、 enableDeltaChangeDataFeedtrueされていることを確認します。

変更データのクエリ

Important

CDF データに対してクエリを実行するには、まず、ミラー化されたデータベース テーブルを指す Lakehouse ショートカット を作成する必要があります。 ミラー化されたデータベース項目から直接 CDF データに対してクエリを実行することはできません。 ショートカットを使用すると、 _change_data ファイルに Spark からアクセスできるようになります。

  1. Lakehouse ショートカットを作成します。

    1. Fabric ワークスペースで、Lakehouse を開くか作成します。
    2. Lakehouse エクスプローラーで、[ 新しいショートカット] を選択します。
    3. ソースとして OneLake Microsoft選択します。
    4. ミラー化されたデータベースに移動し、クエリを実行するテーブルを選択します。
    5. [ 作成] を選択してショートカットの作成を完了します。
  2. 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: タイムスタンプ範囲内の変更を読み取る

readChangeFeedstartingTimestampendingTimestamp オプションを使用して、特定の時間枠内で 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 を有効にし、他のデータベースはコア ミラーリングのままにします。

完全な価格モデル、測定の詳細、課金範囲については、 ミラーリングの拡張機能の課金に関するページを参照してください。