首页/数据/数据工程与 ETL 速查/CDC 进数仓的落地方式
CDC 与同步53 条

CDC 进数仓的落地方式

CDC 进数仓有两条常见路径:ODS 建 append-only 变更日志表(保留全部变更,可重放、可审计),或直接 upsert 成贴源镜像表;之后由 DWD 负责去重、清洗与维度关联。直投 DWD 省存储但丢失变更全历史,补数只能依赖源端重放,要按追溯需求权衡。

分层落地示意

分层落地示意
binlog → CDC → Kafka(变更流)
  → ODS:变更日志表(append + 位点列)或贴源镜像表(upsert)
  → DWD:去重 / 清洗 / 维度关联
  → DWS / ADS:聚合与指标
日志表优点变更全历史,可重放、可回溯、可审计
镜像表优点查询即用,省去加工层
位点列建议保留 source 的 file/pos 或 GTID,便于对账与续传
权衡追溯需求强选日志表,只读快照需求可选镜像表
变更日志表要配分区与生命周期策略,否则存储增长会超出预期。

易错点

  • 只落镜像表不落日志表,事后需要重放变更时没有原始素材
  • 日志表不做分区与归档,存储成本持续上升

数据来源与参考

  • Kimball《The Data Warehouse Toolkit》(分层与 ETL 思想)
  • Debezium 官方文档(事件中的位点元数据)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌