finds.dev← search

// the find

apache/flink-cdc

★ 6,432 · Java · Apache-2.0 · updated Jun 2026

Flink CDC is a streaming data integration tool

Flink CDC streams change data capture events from databases (MySQL, Postgres, Oracle, SQL Server, MongoDB, and more) into sinks like Kafka, Iceberg, Doris, or StarRocks, built on top of Apache Flink. It offers three API layers — a declarative YAML pipeline, Flink SQL DDL, and the DataStream API — so you can pick the level of abstraction that fits your use case. It's aimed at data engineers who need real-time database replication or ELT pipelines without writing connector plumbing from scratch.

Schema evolution support is first-class: the `schema.change.behavior: evolve` flag in the YAML API propagates DDL changes downstream automatically, which is the feature most CDC tools get wrong or ignore. The three-tier API design (YAML → SQL → DataStream) means you can start declarative and drop to code only when you need it. Source connector coverage is genuinely broad — MySQL binlog, Postgres logical replication, Oracle LogMiner, SQL Server CDC, MongoDB change streams — and the SQL connectors ship as fat JARs so you're not JAR-hunting on Maven. The project is Apache-governed with nightly CI builds and an active JIRA, which matters for long-term support bets.

The Flink version compatibility table is a maintenance tax: if you're on a specific Flink version, you may be stuck on an older CDC version, and the supported window per release is narrow (often just two Flink minors). The Pipeline API's YAML transform layer is SQL-expression-based but underdocumented for anything beyond simple projections — you'll hit walls quickly if you need stateful transformations. Postgres CDC requires the logical replication slot to stay alive; if your pipeline is down for a while and the slot falls too far behind, Postgres will bloat its WAL and your DBA will be unhappy. No built-in observability: you get Flink's job metrics, but there's nothing that tells you per-table lag, event throughput, or schema drift out of the box.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →