Debezium is an open-source CDC platform that streams row-level changes from databases such as PostgreSQL, MySQL, and MongoDB, typically via Kafka Connect.
Connectors read transaction logs (Postgres WAL, MySQL binlog, and equivalents) and publish change events through a Kafka Connect cluster; incremental snapshots backfill via signals, and a history topic records source DDL. Debezium Server targets Kinesis, Pub/Sub, Pulsar, and Redis without Kafka.
How Debezium answers the questions Change Data Capture turns on.
| How it works | |
| Initial snapshot | Initial snapshot; incremental snapshots via signals |
| End-to-end lag | Near real-time; connectors stream from the log continuously |
| Delivery guarantee | At-least-once |
| Schema drift | Schema change events; a history topic records source DDL |
| Running it | |
| What you run | A Kafka Connect cluster; or Debezium Server, or the embedded engine |
| Connections | |
| Sources | MySQL, PostgreSQL, MongoDB, SQL Server, Oracle, Db2, Cassandra |
| Source requirements | Per source: logical replication, ROW binlog, or CDC enabled |
| Transformations | Single Message Transforms: routing, outbox, filtering |
| Destinations | Kafka Connect; Debezium Server adds Kinesis, Pub/Sub, Pulsar, Redis |
| Cost | |
| Billing unit | None for the project; managed connectors billed by the vendor |
vs Debezium: Streaming · Batch · Java, Scala, Python
vs Debezium: Commercial · Managed · Serverless · Subscription · Operational complexity: Medium · Batch · Streaming
vs Debezium: Source-available · Managed · Self-hosted · Hybrid · Operational complexity: Low · Batch · Streaming · Rust