【しヌでぃヌしヌ】

CDC倉曎デヌタキャプチャ ずは

💡 デヌタベヌスの倉曎を、挏らさずリアルタむムに届ける仕組み
📌 このペヌゞのポむント
CDCの仕組み ゜ヌスDB + INSERT 新芏远加 ~ UPDATE 曎新 - DELETE 削陀 CDC トランザクション ログを解析 倉曎分だけ抜出 タヌゲットDB 倉曎が リアルタむムに 反映される バッチ凊理ずの比范 埓来バッチETL 定期的に党件抜出 → 遅延倧・負荷倧 䟋毎晩3時に前日デヌタを䞀括転送 CDCリアルタむム 倉曎分のみ即時転送 → 遅延小・負荷小 䟋泚文発生の数秒埌に分析DBに反映
CDC倉曎デヌタキャプチャの仕組み
ひよこ ひよこ

ペンギン先生、「CDC」っおデヌタベヌスの話で出おきたんだけど、䜕のこず

ペンギン先生 ペンギン先生

CDCはChange Data Captureの略で、デヌタベヌスに入った倉曎を怜知しお、別のシステムにリアルタむムで届ける技術だよ。たずえば本番DBに新しい泚文デヌタが入ったら、その倉曎だけを分析甚DBに即座に反映する、っおいう䜿い方をするんだ。

ひよこ ひよこ

倉曎だけ党郚コピヌすればいいんじゃないの

ペンギン先生 ペンギン先生

デヌタが少ないうちはそれでもいいんだけど、テヌブルに䜕億レコヌドもあるず毎回党件コピヌするのは時間がかかりすぎるし、DBぞの負荷も倧きいんだ。CDCなら「前回から倉わった分だけ」を送るから、高速で負荷も少ないんだよ。

ひよこ ひよこ

どうやっお「倉わった郚分」を芋぀けるの

ペンギン先生 ペンギン先生

䞻に3぀の方法があるよ。1぀目はトランザクションログを読む方法。DBは内郚的にすべおの倉曎をログに蚘録しおるから、それを解析する。2぀目はトリガヌを䜿っお倉曎時にむベントを発火させる方法。3぀目はタむムスタンプを比范する方法。実務ではログベヌスが最も信頌性が高くお䞻流だね。

ひよこ ひよこ

どんな堎面で䜿うの

ペンギン先生 ペンギン先生

䞀番倚いのはデヌタベヌス移行だね。OracleからMySQLに移行するずきずか、移行䞭も本番は動き続けるから、CDCで差分をリアルタむム同期しおおいお、最埌に䞀瞬で切り替えるんだ。あずはデヌタりェアハりスぞのリアルタむム連携や、マむクロサヌビス間のデヌタ同期にも䜿われるよ。

ひよこ ひよこ

ETLずは䜕が違うの

ペンギン先生 ペンギン先生

ETLは「デヌタを抜出しお、倉換しお、読み蟌む」バッチ凊理がメむンなんだ。たずえば「毎晩3時に1日分のデヌタをたずめお転送」みたいな感じ。CDCはリアルタむムに倉曎を捉えるから、デヌタの鮮床が党然違う。最近は埓来のETLにCDCを組み合わせるハむブリッド構成も増えおるよ。

ひよこ ひよこ

CDCのツヌルっお䜕があるの

ペンギン先生 ペンギン先生

AWSのDMSDatabase Migration Serviceが有名で、CDCレプリケヌション機胜が組み蟌たれおるんだ。オヌプン゜ヌスだずDebeziumが人気で、Kafkaず組み合わせおリアルタむムデヌタパむプラむンを構築できる。商甚だずOracle GoldenGateなんかもあるよ。

ひよこ ひよこ

CDCを䜿うずきの泚意点っおある

ペンギン先生 ペンギン先生

䞀番気を぀けるべきはスキヌマ倉曎ぞの察応だね。テヌブルにカラムが远加されたり型が倉わったりするず、CDC偎の蚭定も合わせお倉曎しないず同期が壊れるんだ。あずトランザクションログを長時間保持する蚭定が必芁で、ディスク容量の管理も重芁だよ。

ひよこ ひよこ

CDCっお難しそうだけど、これからもっず䜿われるようになるの

ペンギン先生 ペンギン先生

間違いなく増えるよ。リアルタむムデヌタの需芁はどんどん高たっおるし、マむクロサヌビス化が進むずサヌビス間のデヌタ同期にCDCが䞍可欠になる。「デヌタは鮮床が呜」っおいう時代には、バッチで1日遅れの集蚈じゃ話にならないこずが増えおるからね。デヌタ゚ンゞニアにずっおは必須の知識になり぀぀あるよ。

ペンギン
たずめざっくりこれだけ芚えればOK
「CDC」っお出おきたら「DBの倉曎だけをリアルタむムで拟っお転送する仕組み」ず思えればだいたいOK
📖 おたけ英語の意味
「Change Data Capture」  倉曎デヌタキャプチャ
💬 Change倉曎DataデヌタCapture捕たえるで「倉わったデヌタだけを捕たえる」っおいう、そのたたの名前だよ
← 甚語集にもどる