Apache Flink CDC is a free, open-source data integration tool for real-time and batch workloads, built on Apache Flink. It supports full database and sharded table synchronization, along with schema evolution and data transformation. Its YAML Pipeline API lets users declare sources, sinks, routing, transformations, and schema evolution rules. SQL and DataStream APIs are also available for defining change-data-capture sources and custom Flink streaming applications. Listed pipeline connectors include Doris, Elasticsearch, Fluss, Hudi, Iceberg, Kafka, MaxCompute, MySQL, OceanBase, Oracle, Paimon, PostgreSQL, and StarRocks. SQL and DataStream source connectors also include SQL Server, MongoDB, TiDB, Db2, and Vitess. Flink CDC 3.6 is listed as compatible with Flink 1.20 and 2.2; version 3.6.0 requires JDK 11 or later. Deployment is self-hosted: users download and extract Flink CDC and connector JARs, then run them with an Apache Flink deployment. The project is distributed under the Apache 2.0 License, with support directed to its user mailing list and Flink JIRA.
Who it is for
Apache Flink CDC suits teams building data pipelines with Apache Flink that need database synchronization, schema evolution, or transformations. It is for users prepared to deploy and run the software in a self-hosted Apache Flink environment.
What is good
- Supports full and sharded table synchronization
- Provides YAML, SQL, and DataStream APIs
- Lists a broad range of connectors
- Flink CDC 3.6 supports Flink 1.20 and 2.2
- Distributed under Apache 2.0 License
What to know first
- Self-hosted deployment is required
- Version 3.6.0 requires JDK 11 or later
- Support is directed to mailing list and Flink JIRA
Freedom251 review
Apache Flink CDC: the full review
Apache Flink CDC offers multiple ways to define CDC pipelines and a broad set of listed connectors. Its deployment requires an Apache Flink environment, and the stated runtime requirement for version 3.6.0 is JDK 11 or later.
Apache Flink CDC is a self-hosted tool for capturing and integrating database changes with Apache Flink. It is best suited to teams that need declarative pipelines or custom Flink applications across varied sources and sinks. Its breadth of APIs and connectors is compelling, but operating it means managing a Flink deployment and compatible runtime.
Overview
Flink CDC handles real-time and batch data integration, including full database and sharded-table synchronization. Log-based capture, initial snapshots, schema evolution, and data transformation support a range of migration and ongoing replication needs. The project is distributed under the Apache 2.0 License, and its self-hosted deployment is on-premise.
This is infrastructure software, not a managed service: deployment involves downloading Flink CDC and connector JARs and running them with Apache Flink. That gives teams control over their environment, but also makes operating and maintaining that environment part of the choice.
Key features
Three ways to define work
The YAML Pipeline API lets users declare sources, sinks, routing, transformations, and schema evolution rules. It suits repeatable pipeline definitions without requiring every job to be expressed as custom application code. SQL and DataStream APIs provide alternatives for defining CDC sources and building custom Flink streaming applications; those options are more appropriate when a team wants its work shaped around Flink APIs.
Database and sink coverage
Pipeline connectors include Doris, Elasticsearch, Fluss, Hudi, Iceberg, Kafka, MaxCompute, MySQL, OceanBase, Oracle, Paimon, PostgreSQL, and StarRocks. SQL and DataStream source connectors include MySQL, PostgreSQL, Oracle, SQL Server, MongoDB, OceanBase, TiDB, Db2, and Vitess. This makes the project relevant to teams combining several named databases or destinations, though connector coverage should be checked against the exact workflow: the two connector lists serve different roles.
Compatibility and operation
Flink CDC 3.6 is compatible with Flink 1.20 and 2.2. Version 3.6.0 is built on JDK 11 and requires JDK 11 or later, so teams need to account for both the Flink and Java runtime requirements. The repository directs users to a mailing list for questions and Flink JIRA for problems. It links to a security policy.
Pricing
Apache Flink CDC is free: the Apache License 2.0 plan costs 0.00 USD per free and includes released JARs and connectors. There is no paid tier or free trial to weigh against a lower-cost option. The trade-off is operational rather than tier-based: users deploy and run the software themselves with Apache Flink, rather than choosing a hosted plan with a stated seat or usage allowance.
Platforms
Flink CDC supports Linux, macOS, and Windows, and is self-hosted. Its deployment model is on-premise. Platform availability does not remove the requirement to run it with an Apache Flink deployment, so it is a better fit for teams prepared to manage that infrastructure than for buyers seeking a turnkey hosted CDC service.
Who it's for
Choose Flink CDC if your team already works with Apache Flink or is prepared to operate it, and needs database synchronization, schema evolution, or transformations across the listed sources and sinks. The YAML Pipeline API is useful for declarative pipelines, while SQL and DataStream APIs suit custom Flink application work.
Look elsewhere if your priority is avoiding self-hosted infrastructure, or if your required source or destination is outside the connectors named above. The project provides several ways to build pipelines, but deployment still depends on a Flink environment and the stated Java version.
Pros and cons
- Pros: YAML, SQL, and DataStream APIs give teams distinct approaches for declarative pipelines and custom Flink applications.
- Pros: Full and sharded-table synchronization, snapshots, schema evolution, and transformations cover more than basic change capture.
- Pros: The named source and pipeline connector sets span a broad mix of databases and destinations.
- Cons: Self-hosted deployment requires an Apache Flink environment, adding infrastructure responsibility for adopters.
- Cons: Flink CDC 3.6.0 requires JDK 11 or later, which teams must accommodate alongside Flink compatibility.
Alternatives
For another free, open-source CDC option, consider Canal, which supports Linux, macOS, API, and self-hosted use. pgstream is also free and self-hosted on Linux or macOS, and is described as a CDC CLI and Go library.
dbmazz offers a free self-hosted plan with an open-source engine, CLI, terminal dashboard, local web UI, and community support. TiCDC is another free, self-hosted option, with no paid plans or usage caps stated on its pages.
If a freemium service is more suitable, Decodable has a free plan with 24 hours / 10GiB stream retention, 20 streams, four running tasks, and Small and Medium task sizes. Estuary offers free plans as well as a $100.00 USD monthly pay-as-you-go plan. PeerDB has a free open-source plan aimed at individuals, with Docker setup, CDC, streaming query, and query layer features. Striim offers freemium plans, including a Developer plan with 25 million events per month.
Browse more tools in Change Data Capture Software or compare projects in Open Source License Compliance Software.
Verdict
Apache Flink CDC is a strong fit for teams that want open-source CDC pipelines integrated with Apache Flink, particularly when its multiple APIs and broad named connector sets match their data estate. Its main reason to choose is the combination of synchronization, transformation, and schema-evolution capabilities at no software cost. Its main reason to look elsewhere is the need to provision and maintain a Flink environment and meet the runtime requirements.
Apache Flink CDC plans and pricing
All plansCompared on open source license compliance software
- Deployment model
- self-hosted
- Capture method
- log-based
- Schema evolution
- Yes
- Initial snapshot
- Yes

