本文へスキップ

チェンジデータキャプチャとは?

ちぇんじでーたきゃぷちゃ

チェンジデータキャプチャ(CDC)とは、データベースへの変更(追加・更新・削除)をリアルタイムに検出・記録し、他システムへ連携する技術です。

チェンジデータキャプチャ(Change Data Capture、CDC)は、データベース発生した行レベルの変更(INSERT・UPDATE・DELETE)を継続的に捕捉し、その差分データを下流のシステムやストリーム基盤へリアルタイムまたはニアリアルタイムで配信する仕組みです。

従来のバッチETL(一定間隔での全件・差分抽出)と比べると、変更が発生するたびに即座に伝達されるため、データレイテンシを大幅に削減できる点が最大の特徴です。

CDCの主な実装方式には以下のものがあります。

  • ログベース方式:MySQLのbinlog、PostgreSQLのWAL(Write-Ahead Log)などのトランザクションログを読み取る。データベース本体への影響が最小限で最も一般的。
  • トリガーベース方式:DBトリガーで変更を専用テーブルに書き込む。実装は簡単だがオーバーヘッドが大きい。
  • タイムスタンプ差分方式:更新日時カラムを比較して変更行を抽出する。シンプルだが削除の検出が困難。

代表的なOSSツールにはDebeziumがあり、KafkaやKinesis等のメッセージキューと組み合わせてデータパイプラインを構築するケースが多く見られます。データウェアハウスのリアルタイム同期・マイクロサービス間のイベント駆動連携・キャッシュ無効化などに広く活用されています。

使い方・例文

ECサイトの注文DBに新しい注文が入ったとき、CDCを使えばその変更を即座に在庫管理システムや分析基盤へ伝達し、リアルタイムな在庫更新や売上集計が実現できます。

この用語をシェア

𝕏 でポスト LINE

最終更新:

関連用語