# apache/flink-cdc

Flink CDC is a streaming data integration tool

Repository: https://github.com/apache/flink-cdc
Canonical: https://ross.abutalabs.com/products/flink-cdc
Homepage: https://nightlies.apache.org/flink/flink-cdc-docs-stable
Language: Java
License: Apache-2.0
License Family: permissive
Topics: change-data-capture, cdc, batch, data-integration, data-pipeline, distributed, elt, etl, flink, kafka, mysql, paimon, postgresql, real-time, schema-evolution
Last push: 2026-08-25T02:21:45+00:00

## Health v2 (maintenance only)
Score: 83/100 (v2, computed 2026-09-03T02:39:23.370411+00:00)
- activity 99, release rhythm 53, longevity 100
- inputs: {"age_days": 2228, "days_push": 9, "days_rel": 156, "gap_med": 117, "n_releases_24m": 6}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 6468, forks 2190 (observed 2026-08-28T04:09:43.665697+00:00)

## What it is
Flink CDC is a distributed streaming data integration tool built on Apache Flink that captures change data from databases like MySQL and PostgreSQL and synchronizes it to sinks such as Kafka, Doris, and Paimon. It supports full database synchronization, sharding table synchronization, schema evolution, and declarative YAML-based pipeline definitions with transformations and routing.

## Use cases
- sync mysql database changes to kafka in real time
- stream postgres cdc events into a data warehouse
- replicate a full database to another system with schema evolution
- build an etl pipeline from mysql to doris
- capture database change data and transform it on the fly
- synchronize sharded mysql tables into one sink table
- set up real-time elt pipelines on apache flink

## When to choose
- you need real-time change data capture from relational databases
- you want declarative zero-code pipeline definitions via YAML
- you need schema evolution and table routing during synchronization
- you are already running Apache Flink and want CDC integration

## When to avoid
- you only need simple batch ETL without change data capture
- your sources are not among the supported connectors
- you want a lightweight single-node sync tool without a Flink cluster
- you need CDC for non-database sources like message queues only

## Facets
- artifact type: framework
- maturity: active
- function: etl, streaming, data-science, database
- domain: big-data, databases
- platform: jvm, cloud
- tags: change-data-capture, apache-flink, data-integration, schema-evolution, mysql, postgresql, kafka, real-time-pipeline, elt, yaml-pipeline, data-engineering, real-time, docker, kubernetes

## Member repositories
- apache/flink-cdc (main) score 83

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:09:43.665697+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-29T17:44:36.134295+00:00, confidence not recorded.
  - readme: https://github.com/apache/flink-cdc (fetched 2026-08-28T04:09:43.665697+00:00, sha 6db34d3d23aa)
- Data as of 2026-08-30T08:39:29.467469+00:00.
