CDC streams row-level changes from a database (inserts, updates, deletes) as events, instead of only taking nightly full dumps.
Tools like Debezium read the DB transaction log (WAL / binlog / redo) and publish to Kafka.
OLTP Postgres
| (WAL)
v
Debezium --> Kafka topic orders.CDC
|
+--> Flink / Spark SS --> lakehouse
+--> search indexerWhy DEs love it
- Near-real-time warehouse sync
- Lower load than repeated
SELECT *dumps - Captures deletes and updates clearly
Watch-outs
- Schema changes
- Snapshot bootstrap for initial load
- Ordering and idempotent apply into the sink
Interview tip: "CDC = turn database commits into a stream." Contrast with full-table batch extract.