{"adoption": {"forks": 2190, "observed_at": "2026-08-28T04:09:43.665697+00:00", "stars": 6468}, "canonical_url": "https://ross.abutalabs.com/products/flink-cdc", "card": {"archived": false, "artifact_type": "framework", "description": "Flink CDC is a streaming data integration tool", "domain": ["big-data", "databases"], "enriched": true, "function": ["etl", "streaming", "data-science", "database"], "health_score": 98, "homepage": "https://nightlies.apache.org/flink/flink-cdc-docs-stable", "language": "Java", "license": "Apache-2.0", "license_family": "permissive", "maturity": "active", "member_repos": ["apache/flink-cdc"], "name": "apache/flink-cdc", "platform": ["jvm", "cloud"], "pushed_at": "2026-08-25T02:21:45+00:00", "repo": "apache/flink-cdc", "stars": 6468, "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"], "topics": ["change-data-capture", "cdc", "batch", "data-integration", "data-pipeline", "distributed", "elt", "etl", "flink", "kafka", "mysql", "paimon", "postgresql", "real-time", "schema-evolution"], "urls": [], "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"], "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.", "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"], "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"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/flink-cdc", "repo": "apache/flink-cdc", "role": "main", "score": 83}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:09:43.665697+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:44:36.134295+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6db34d3d23aa0cc770c4c6975d3c43c962d727727b4d590299bd5037a8cdb949", "fetched_at": "2026-08-28T04:09:43.665697+00:00", "kind": "readme", "missing": false, "url": "https://github.com/apache/flink-cdc"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:09:43.665697+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:44:36.134295+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6db34d3d23aa0cc770c4c6975d3c43c962d727727b4d590299bd5037a8cdb949", "fetched_at": "2026-08-28T04:09:43.665697+00:00", "kind": "readme", "missing": false, "url": "https://github.com/apache/flink-cdc"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:44:36.134295+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6db34d3d23aa0cc770c4c6975d3c43c962d727727b4d590299bd5037a8cdb949", "fetched_at": "2026-08-28T04:09:43.665697+00:00", "kind": "readme", "missing": false, "url": "https://github.com/apache/flink-cdc"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:09:43.665697+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:09:43.665697+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:09:43.665697+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:44:36.134295+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6db34d3d23aa0cc770c4c6975d3c43c962d727727b4d590299bd5037a8cdb949", "fetched_at": "2026-08-28T04:09:43.665697+00:00", "kind": "readme", "missing": false, "url": "https://github.com/apache/flink-cdc"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:09:43.665697+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:09:43.665697+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:44:36.134295+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6db34d3d23aa0cc770c4c6975d3c43c962d727727b4d590299bd5037a8cdb949", "fetched_at": "2026-08-28T04:09:43.665697+00:00", "kind": "readme", "missing": false, "url": "https://github.com/apache/flink-cdc"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:09:43.665697+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:09:43.665697+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:09:43.665697+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:44:36.134295+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6db34d3d23aa0cc770c4c6975d3c43c962d727727b4d590299bd5037a8cdb949", "fetched_at": "2026-08-28T04:09:43.665697+00:00", "kind": "readme", "missing": false, "url": "https://github.com/apache/flink-cdc"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:09:43.665697+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:09:43.665697+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:44:36.134295+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6db34d3d23aa0cc770c4c6975d3c43c962d727727b4d590299bd5037a8cdb949", "fetched_at": "2026-08-28T04:09:43.665697+00:00", "kind": "readme", "missing": false, "url": "https://github.com/apache/flink-cdc"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:44:36.134295+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6db34d3d23aa0cc770c4c6975d3c43c962d727727b4d590299bd5037a8cdb949", "fetched_at": "2026-08-28T04:09:43.665697+00:00", "kind": "readme", "missing": false, "url": "https://github.com/apache/flink-cdc"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:44:36.134295+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6db34d3d23aa0cc770c4c6975d3c43c962d727727b4d590299bd5037a8cdb949", "fetched_at": "2026-08-28T04:09:43.665697+00:00", "kind": "readme", "missing": false, "url": "https://github.com/apache/flink-cdc"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:44:36.134295+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6db34d3d23aa0cc770c4c6975d3c43c962d727727b4d590299bd5037a8cdb949", "fetched_at": "2026-08-28T04:09:43.665697+00:00", "kind": "readme", "missing": false, "url": "https://github.com/apache/flink-cdc"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "rhythm": 53}, "computed_at": "2026-09-03T02:39:23.370411+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2228, "days_push": 9, "days_rel": 156, "gap_med": 117, "n_releases_24m": 6}, "score": 83, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}