変更データ キャプチャ(CDC)処理
このページでは、BigQuery の Google Cloud Cortex Framework 内の変更データ キャプチャ(CDC)について説明します。BigQuery は、新しいデータを効率的に保存して分析するように設計されています。
CDC プロセス
ソースデータ システム(SAP など)でデータが変更されても、BigQuery は既存のレコードを変更しません。代わりに、更新された情報は新しいレコードとして追加されます。重複を回避するには、後で結合オペレーションを適用する必要があります。このプロセスは、変更データ キャプチャ(CDC)処理と呼ばれます。
Data Foundation for SAP には、更新の結果として生成された新しいレコードを統合または upsert
して、新しいデータセットに最新バージョンのみを保持する Cloud Composer または Apache Airflow のスクリプトを作成するオプションが含まれています。これらのスクリプトを機能させるには、テーブルに特定のフィールドが必要です。
operation_flag
: このフラグは、レコードが挿入、更新、削除されたかどうかをスクリプトに伝えます。recordstamp
: このタイムスタンプは、レコードの最新バージョンを特定するのに役立ちます。このフラグは、レコードが次のいずれかであることを示します。- 挿入済み(I)
- 更新済み(U)
- 削除済み(D)
CDC 処理を利用することで、BigQuery データにソースシステムの最新の状態が正確に反映されるようにできます。これにより、重複エントリが排除され、データ分析の信頼できる基盤が確立されます。
データセットの構造
サポートされているすべてのデータソースで、アップストリーム システムのデータはまず BigQuery データセット(source
または replicated dataset
)に複製され、更新または統合された結果が別のデータセット(CDC データセット)に挿入されます。レポートビューは CDC データセットからデータを選択し、レポートツールとアプリケーションに常に最新バージョンのテーブルが提供されるようにします。
次のフロー図は、operational_flag
と recordstamp
に応じて SAP の CDC 処理がどのように行われるかを示しています。
次のフロー図は、Salesforce API によって生成された Id
フィールドと SystemModStamp
フィールドに応じて、API から Salesforce の元データと CDC 処理への統合を示しています。
一部のレプリケーション ツールでは、BigQuery にレコードを挿入するときにレコードを統合またはアップサートできるため、これらのスクリプトの生成は任意です。この場合、設定にはデータセットが 1 つだけあります。レポート データセットは、そのデータセットからレポート用に更新されたレコードを取得します。