この記事では、コピー ジョブの変更データ キャプチャ (CDC) 機能とその使用方法について説明します。
コピー ジョブにおける変更データキャプチャ (CDC) とは
コピー ジョブの変更データ キャプチャ (CDC) は、Fabric Data Factory の強力な機能であり、ソースからコピー先への挿入、更新、削除されたレコードを含む、変更されたデータの効率的で自動化されたレプリケーションを可能にします。 これにより、移行先データは手動で作業することなく最新の状態に保たれるので、ソース システムの負荷を軽減しながら、データ統合の効率が向上します。
コピー ジョブでの CDC の主な利点
- 手動操作なし: 増分変更 (挿入、更新、削除) をソースから直接自動的にキャプチャします。
- 自動レプリケーション: 移行先データをソースの変更と継続的に同期します。
- 最適化されたパフォーマンス: 変更されたデータのみを処理し、処理時間を短縮し、ソースの負荷を最小限に抑えます。
- よりスマートな増分コピー: CDC 対応のソース テーブルを自動的に検出し、各テーブルに対して CDC ベースまたは透かしベースの増分コピーを選択できます。
CDC ベースとウォーターマークベースの増分コピーについての動作
- CDC ベースの増分コピー: ソース データベースで CDC が有効になっている場合、コピー ジョブは挿入、更新、削除を自動的にキャプチャしてコピー先にレプリケートし、正確な変更を適用します。
- 透かしベースの増分コピー: ソース データベースで CDC が有効になっていない場合、コピー ジョブは前回の実行と増分列 (タイムスタンプや ID など) を比較して変更を検出し、構成に基づいて変更されたデータをコピー先に追加またはマージします。
サポートされているコネクタ
現在、コピー ジョブにおけるCDCでは、次のソースデータストアとデスティネーションデータストアがサポートされています。 さらに追加予定です。ご期待ください。
サポートされているソース ストア:
- Azure SQL DB
- オンプレミスの SQL Server
- Azure SQL Managed Instance
- Fabric Lakehouse テーブル
- ADLS Gen2 の SAP Datasphere Outbound
- Snowflake
- Google ビッグクエリ(Google BigQuery)
サポートされている宛先ストア:
- Azure SQL DB
- オンプレミスの SQL Server
- Azure SQL Managed Instance
- ファブリック内のSQLデータベース(プレビュー)
- Snowflake
- Fabric Lakehouse テーブル
作業を開始する方法:
CDC 経由で Azure SQL DB から別の Azure SQL DB にデータを取り込むための新しいコピー ジョブを作成するには、次の手順を実行します。
サポートされているソース ストアのデータベースとテーブルで、変更データ キャプチャ (CDC) が有効になっていることを確認します。 この場合は、Azure SQL DB です。
Note
- 上記のすべてのテーブルに対して CDC を有効にすることをお勧めします。
- supports_net_changesが有効になっていることを確認します。
- ソース テーブル内のすべての列は、既定でキャプチャされた列として識別する必要があります。
詳細については、 変更データ キャプチャの有効化と無効化に関するページを参照してください - SQL Server |Microsoft Learn。
[ + 新しい項目] を選択し、[ コピー ジョブ ] アイコンを選択し、コピー ジョブに名前を付け、[ 作成] をクリックします。
データのコピー元のデータ ストアを選択します。 この例では、 Azure SQL DB を選択します。
Azure SQL DB に接続するための サーバー パス と 資格情報 を入力します。 オンプレミスまたは VNET ゲートウェイを使用して、VNET 環境内でデータを安全にコピーできます。
CDC が有効になっているソース テーブルを明確に表示する必要があります。 コピーする CDC が有効になっているテーブル を選択します。
CDC が有効になっているテーブル:
CDC が有効になっていないテーブル:
Note
- 現在、Fabric Lakehouse テーブルは、CDF が有効になっているかどうかについて検出できません。
宛先ストアを選択します。 この例では、別の Azure SQL DB を選択します。
既定の Update メソッド は Merge に設定する必要があり、必要なキー列は既定でソース ストアで定義されている主キーと一致します。
[ 増分コピー ] を選択すると、変更を追跡するために各テーブルに増分列を入力する必要がないことがわかります。
Note
コピー ジョブは、最初はフル ロードを実行し、その後 CDC を介して後続の実行で増分コピーを実行します。
ジョブの概要を確認し、実行オプションをスケジュールに従って設定し、[ 保存 + 実行] をクリックします。
Note
CDC ログの保持期間が、スケジュールされた実行の間隔よりも長くなることを確認してください。そうしないと、保持期間内に処理されないと、CDC によってキャプチャされた変更されたデータが失われる可能性があります。
コピー ジョブはすぐに開始されます。 最初の実行では、最初の完全スナップショットがコピーされます。
初期完全スナップショットを監視できる、「コピー ジョブ」パネルを示すスクリーンショット。
行を挿入、更新、または削除して、ソース テーブルを更新します。
コピー ジョブをもう一度実行して、挿入、更新、削除された行を含むすべての変更をキャプチャし、コピー先にレプリケートします。
SAP Datasphere アウトバウンド
SAP Datasphere Outbound を使用して SAP から変更データを取得するには、次の 2 つの手順を実行します。
SAP Datasphere を使用してデータを抽出する:
SAP Datasphere を使用して、SAP ソース システムから初期スナップショットとそれに続く変更されたレコードの両方を抽出します。 抽出されたデータは、ステージング領域として機能する Azure Data Lake Storage Gen2 コンテナーに格納されます。
コピー ジョブを使用してデータを移動する:
コピー ジョブを使用して ADLS Gen2 のステージング コンテナーに接続し、サポートされている任意の宛先にデータを移動します。
このソリューションは、SAP S/4HANA、SAP ECC、SAP BW/4HANA、SAP BW、SAP Datasphere 自体など、SAP Datasphere によって提供されるすべてのソースをサポートします。
コピー ジョブで SAP Datasphere Outbound を使用する方法のクイック ガイドを次に示します。
手順 1: SAP Datasphere での構成
接続を設定する
- SAP Datasphere でソース接続とシンク接続の両方を作成します。
- ソース接続には、SAP Datasphere でサポートされている任意の SAP システムを指定できます。
- シンク接続の場合は、Azure Data Lake Storage Gen2 を選択し、ストレージ アカウント名とコンテナー名を指定します。
- 詳細については、以下を参照してください。
レプリケーション フローを作成する
- 先ほど作成したソース接続とシンク接続を使用します。
- SAP からコピーするソース オブジェクトを選択します。
- ADLS Gen2 コンテナーを選択し、データをコピーするルート フォルダーを指定します。
- [ロードタイプ]を[初期値]と[デルタ]に調整します。
- 「グループ差分基準」が「なし」に設定されていることを確認してください。
- 詳細については、以下を参照してください。
手順 2: コピー ジョブの構成
- ソースとして SAP Datasphere 送信接続を選択します。
- ADLS Gen2 コンテナーを選択し、SAP Datasphere 送信データが格納されるルート フォルダーを指定します。
- 残りの構成は、他の CDC 対応ソースの場合と同じです。
既知の制限
- コピー ジョブで CDC 対応と非 CDC 対応の両方のソース テーブルが選択されている場合、すべてのテーブルが透かしベースの増分コピーとして扱われます。
- CDC 対応のソース テーブルが選択されている場合、列マッピングを構成できません。
- カスタム キャプチャ インスタンスはサポートされていません。既定のキャプチャ インスタンスのみがサポートされます。
- SCD2 は、CDC 対応ソース データストアではまだサポートされていません。
- コピー ジョブでは、DDL はまだサポートされていません。