変更データキャプチャ

Version 24.2.9064


変更データキャプチャ


一部のデータソースでは変更データキャプチャ(CDC)をサポートしており、データソースはログファイルを使用して、データベースに変更を加えるイベント(挿入更新、または削除)をログに記録します。CData Sync は、データソーステーブルに変更をクエリするのではなくログファイルを読み込んで変更イベントを確認します。次に、アプリケーションはレプリケーションのためのそれらの変更をほぼリアルタイムで抽出し、次回のレプリケーション用に現在のログを保存します。

以下のデータソースは、CDC の機能をサポートします。

  • MariaDB - バイナリログを使用します。

  • MySQL - バイナリログを使用します。

  • Oracle - Oracle LogMiner またはOracle Flashback のいずれかを使用します。両方のメソッドがテーブルで有効になっている場合、Sync はOracle LogMiner を使用します。

  • PostgreSQL - 論理レプリケーションを使用します。

  • SQL Server は、CDC または変更の追跡のいずれかを使用します。両方のメソッドがテーブルで有効になっている場合、Sync はCDC を使用します。

このドキュメントでは、以下のコンセプトとタスクについて説明します。

  • CDC パイプラインの定義

  • CDC を使用する場合かどうかの判断

  • ソースデータベースのCDC を有効化

  • Sync でCDC ジョブを作成

  • CDC ジョブにタスクを追加

  • Post-Job 変換を追加

CDC パイプラインとは?

変更データキャプチャ(CDC)は、データソースからサポートされている同期先にデータ変更をストリーミングできるパイプラインを作成し、そのデータに対して変換を実行できるようにします。サポートされている同期先は、以下のいずれかの構造を含めることができます。

  • 別のリレーショナルデータベース

  • クラウドストレージシステムまたはデータレイク

  • データウェアハウス(例えばSnowflake、Amazon Redshift、Google BigQuery など)

  • ファイルストレージシステム

  • メッセージキュー(Kafka またはKinesis など)

CDC を使用する場合かどうかの判断

CDC のアプローチでは、データソースに加えられた変更の識別、キャプチャ、および配信の処理によってデータを統合します。それらのデータ変更はトランザクションログに保存されます。

このアプローチは、次のような状況で有効です。

  • CDC をサポートするデータソースの1つを使用している場合。前述のとおり、Sync はMySQL、Oracle、PostgreSQL、およびSQL Server のネイティブのログベースの変更データキャプチャをサポートしています。

  • リアルタイムに近いデータを必要としている場合。CDC プロセスは、ETL やELT 処理においてほぼリアルタイムでのデータ転送を提供します。

  • リソースの使用を制限または保持したい場合。CDC データ統合は、アプリケーションレベルで変更を加えたり、トランザクションテーブルをスキャンしたりしないので、システムへ与える影響は小さくなります。

ソースデータベースのCDC を有効化

CDC を有効化する方法は、4つのデータベースソースごとに異なります。使用するデータソースのCDC を有効にする方法については、以下の該当するリンクをクリックしてください。

CData Sync でCDC ジョブを作成

ジョブを作成するには、事前設定されたデータソースと同期先の接続が必要です。データソースおよび同期先接続の作成に関する詳細は、接続を参照してください。

データソースへのソース接続と、データベースへの同期先接続を定義後、次の手順に従って新しいジョブを作成します。

  1. Sync のジョブタブで、ジョブを作成をクリックします。このアクションにより新しいジョブを作成ダイアログボックスが開きます。

  2. ダイアログボックスで、ジョブ名を入力し、サポートされているCDC データソースの1つを選択し、さらに同期先も選択します。

  3. レプリケーションタイプとしてCDC を選択します。

  4. 作成をクリックします。

CDC ジョブにタスクを追加

タスクはデータソースから同期先へのデータフローを制御します。通常のレプリケーションジョブでは、すべてのデータソーステーブルとビューをレプリケーションタスクとしてジョブに追加できます。

テーブルとビューをレプリケーションタスクとして追加します。

  1. Sync のジョブタブで、ジョブをクリックします。

  2. ジョブ / ジョブ名ページのジョブ設定セクションでタスクを追加をクリックします。このアクションによりタスクを追加ダイアログボックスが開きます。

  3. スキーマリストからスキーマを選択します。

  4. ダイアログボックスで特定のテーブルを選択するか、テーブル名チェックボックスを選択して、すべてのテーブルを選択します。

  5. 追加をクリックして新しいタスクを追加します。

タスクの作成について、詳しくはタスクを参照してください。

Post-Job 変換の追加

Sync は、ジョブ完了後のデータ変換プロセスをサポートします。高度なSQL クエリを使用するか、既存のdbt Core およびdbt Cloud プロジェクトを活用することで、単一のプラットフォームですべてのデータニーズに対応できます。

SQL 変換についての詳細は、SQL Transformation を参照してください。DBT 変換についての詳細は、DBT Transformation を参照してください。