I was looking into Change Data Capture (CDC) stuff recently and realized there wasn’t a list of databases that have CDC stream support, so I decided to write up one myself.

If I’m missing one here, comment below or DM me on twitter with a link to some documentation and I’ll happily update it.

List of DB’s with CDC

  1. Postgres 10 and later, via logical replication. Schema changes and TRUNCATE commands currently do not get replicated, as well as some other things.
  2. MongoDB via oplog replication (since at least 3.2).
  3. Cassandra 3.0 and later has CDC logging The gotcha here is that the CDC logs are held locally on disk, and you’ll need to run a program on the Cassandra nodes to stream the CDC logs out (and delete the logs to free up space).
  4. Scylla 3.2 and later has experimental support for CDC.
  5. MySQL 3.23 and later has a statement-based binlog; however, you’ll need to parse the statements to infer the CDC, or use a plugin. You don’t get out of the box support.
  6. Redis 5.0 and later has Redis Streams, though similar to MySQL you’ll need to parse the statements.
  7. CockroachDB 19.1 and later has CDC support via Changefeeds. Core Changefeeds, in the OS version, will require some light parsing. DDL commands may cause issues, and IMPORT-ed data won’t make it into the feed. There are a few other limitations.