CDC (Change Data Capture) - 变化数据捕捉

CDC

指识别和捕获对数据库中的数据所做的更改(包括数据或数据表的插入、更新、删除等),然后将这些更改按发生的顺序完整记录下来,并实时通过消息中间件传送到下游流程或系统的过程。

通过这种方式,CDC能够向数据仓库提供高效、低延迟的数据传输,以便信息被及时转换并交付给专供分析的应用程序。

传统ETL过程,是周期性将数据通过T+1的方式进行全量同步,再分析,再通过BI报表展示给用户。实时性低,数据量大。

常见方式

  • 基于查询的CDC

    在数据表上进行时间列、自增列的添加,通过修改时间列、插入自增列表示插入、变更的记录,侵入性强,且无法获取删除操作的变更
     
  • 基于触发器的CDC

    将变更数据存入临时表,变更数据需要多次写入,有一定的侵入性
     
  • 基于快照的CDC

    能够捕获所有的更改,需要大量的存储空间来存储快照数据,实时性低
     
  • 基于日志的CDC

    最优的实现方式,实时性高,无侵入性,能够捕获所有的更改

CDC变更日志流

变更发送的信息流包括四种消息状态语义,

  • INSERT(+I):新插入的数据记录行
  • UPDATE_BEFORE(-U):数据记录行被更新前的数据
  • UPDATE_AFTER(+U):数据记录行被更新后的数据
  • DELETE(-D):删除的数据记录行

参考 数据库实时同步利器——CDC(变化数据捕获技术)_美林数据Tempodata的博客-CSDN博客_数据同步cdc

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值