#
Change Data Capture (CDC) tracks row-level changes — inserts, updates, deletes — in a database by reading the transaction log, and streams those changes to downstream systems in real time. CDC provides sub-second latency with minimal impact on the source database. The main CDC tools in 2026 are Debezium (broadest database support), RisingWave (native CDC with SQL processing), and Flink CDC.
How CDC Works
Database Transaction Log (WAL/binlog)
↓ Read by CDC connector
Change Event Stream (INSERT/UPDATE/DELETE)
↓ Delivered to
Downstream Systems (Kafka, streaming DB, lakehouse)
CDC reads the database's write-ahead log (WAL in PostgreSQL, binlog in MySQL) rather than querying tables. This means: zero impact on database queries, captures every change (including deletes), and provides the exact order of changes.
CDC Methods Compared
| Method | Latency | Source Impact | Captures Deletes | Tools |
| Log-based | Sub-second | Minimal | ✅ | Debezium, RisingWave, Flink CDC |
| Query-based | Minutes-hours | High | ❌ | Fivetran (legacy), custom SQL |
| Trigger-based | Sub-second | High | ✅ | Custom triggers |
Log-based CDC is the standard. Query-based and trigger-based approaches are legacy.
CDC Tools Compared
| Tool | Sources | Requires Kafka | Processing | Serving |
| Debezium | PG, MySQL, MongoDB, SQL Server, Oracle | ✅ | ❌ (capture only) | ❌ |
| RisingWave | PG, MySQL (native) | ❌ | ✅ (SQL) | ✅ (PG protocol) |
| Flink CDC | PG, MySQL, MongoDB, Oracle | ❌ | ✅ (Flink SQL/Java) | ❌ |
| Striim | 100+ sources | ❌ | ✅ | ✅ |
| Fivetran | 300+ sources | ❌ | Limited | ❌ (to warehouse) |
Frequently Asked Questions
What is CDC used for?
CDC powers real-time database replication, data warehouse loading, event-driven microservices, cache invalidation, search index updates, and AI agent context. Any workload that needs to react to database changes in real time benefits from CDC.
Do I need Kafka for CDC?
No. RisingWave and Flink CDC ingest directly from database transaction logs without Kafka. Debezium traditionally requires Kafka Connect, though Debezium Server can output to other destinations.

