変更データキャプチャとは

変更データキャプチャとは、データベースで発生した追加、更新、削除を検出し、変更された分だけを別のシステムへ届けるデータ連携の仕組みです。英語ではChange Data Capture、略称はCDC。毎回すべてのデータをコピーするのではなく、変わった部分だけを追いかけるため、データパイプラインや分析基盤を新しい状態に保ちやすいでしょう。

英語表記:Change Data Capture

略称:CDC

AI活用で重要になる理由

AIRAGを業務で使うとき、古い在庫、古い価格、古い顧客ステータスを参照すると、回答や判断がずれかねません。変更データキャプチャを使うと、基幹システムの変更を分析基盤や検索用データへ反映しやすい構成を作れます。AIの性能以前に、参照するデータが古いと結果も古くなるため、CDCは地味ですが重要な土台です。

代表的な方式

よく使われる方法は、データベースの取引ログを読むログベース方式、更新時刻の列を見るタイムスタンプ方式、変更時に処理を走らせるトリガー方式の3つ。ログベース方式は元データへの負荷を抑えやすい一方、設定や権限の確認が必要です。タイムスタンプ方式は分かりやすい反面、更新時刻の持ち方に左右されがちです。方式の優劣だけでなく、自社DB、権限、障害時の復旧手順まで含めて選ぶのが現実的でしょう。

導入時の確認ポイント

変更データキャプチャは、入れれば自動で全問題が解ける魔法ではありません。どのテーブルを対象にするか、削除データをどう扱うか、遅延をどこまで許すか、失敗時にどこから再開するかを決めておくことが前提。特にAI検索やレポート用途では、鮮度、整合性、監視の3点をセットで見ることが大切です。データオブザーバビリティと合わせて、更新停止を検知できる体制も用意したいところです。

【Topic】CDCは全部コピーしない節約術

夜間に全データをコピーする方式では、量が増えるほど時間も負荷も大きくなる一方。CDCは、前回から変わった行だけを拾う発想です。引っ越しのたびに家財を全部運び直すのではなく、増えた荷物だけ送ると考えると、なぜ効率的なのかが見えてくるはずです。

変更データキャプチャに関するよくある質問

変更データキャプチャは何のために使いますか?
データベースの変更を分析基盤、検索基盤、別システムへ素早く反映するために使います。全件コピーより負荷を抑えやすく、AIやBIが古い情報を参照し続ける問題を減らせます。
変更データキャプチャを入れればリアルタイムになりますか?
必ず完全なリアルタイムになるわけではありません。方式、権限、ネットワーク、障害復旧設計によって遅延は変わります。実務では、何秒または何分までなら許容できるかを先に決めることが重要です。

あわせて読みたい記事