CDC captures database changes as a stream:
Use cases:
- Sync data to search index (DB → Elasticsearch)
- Build materialized views
- Replicate to data warehouse
- Event sourcing from existing database
Implementation approaches:
- Log-based: Read database's write-ahead log (lowest latency)
- Trigger-based: Database triggers write to change table
- Polling: Periodically query for changes (simplest but laggy)
Tools: Debezium, AWS DMS, Kafka Connect
Pattern: Database → CDC → Kafka → Consumers
CDC is how you build reactive systems on top of existing databases.