Files
nexus/wiki/concepts/CDC-Change-Data-Capture.md
2026-05-03 05:42:12 +08:00

1.8 KiB
Raw Blame History

title, type, tags, sources, last_updated
title type tags sources last_updated
CDC (Change Data Capture) concept
data-engineering
streaming
incremental-pipeline
engineering-data-engineer
2026-05-02

Definition

CDCChange Data Capture变更数据捕获是一种从源系统捕获增量变更插入、更新、删除的技术使数据管道无需全量刷新即可同步最新数据大幅降低计算成本。

How It Works

  1. 识别变更从源数据库的事务日志WAL、时间戳字段或变更追踪表中提取变更记录
  2. 携带元数据:每条 CDC 记录携带变更类型INSERT/UPDATE/DELETE、变更时间、来源事务 ID
  3. 幂等写入:通过主键或变更时间戳实现幂等 upsertMERGE INTO Delta Lake确保重新运行安全

Benefits

  • 成本节省:增量处理 vs. 全量刷新,成本降低 90%+
  • 低延迟:变更实时捕获,支持分钟级甚至秒级数据刷新
  • 低影响CDC 通常基于数据库日志读取,对源系统影响极小

CDC in Medallion Architecture

  • Bronze 层CDC 记录追加写入保留完整变更历史append-only
  • Silver 层基于变更类型INSERT=插入, UPDATE=更新, DELETE=标记删除)进行去重和 conform
  • Gold 层CDC 支持近实时业务指标更新

CDC Technologies

  • Debezium:开源 CDC 平台,捕获 MySQL/PostgreSQL/MongoDB 等变更并发布到 Kafka
  • AWS DMSDatabase Migration ServiceAWS 托管 CDC 解决方案
  • Azure Data Factory CDC 活动Azure 生态 CDC 工具
  • Databricks Auto LoadercloudFiles 增量摄取 CSV/Parquet/JSON 文件变更