CDC(Change Data Capture)增量抽取
CDC(Change Data Capture)增量抽取
一、概述
决策支持项目中应用了 读取归档日志方式,从系统级解决了数据增量的问题,
但也存在缺陷,该项目中的增量方式只是获取到增量的数据标志(如:发生变化的
),而不是直接获取增量数据。“增量方式”目前还有很多疑问,还在进一步探究之
中,可采用的方式有 或直接读取数据库的 获取增量数据, 下面我们只对
数据库提供的获取增量的方式做简单的介绍。
是 在数据库级别实现的增量抽取解决方案。在一般的
过程中,对于增量抽取,无非是在数据上加时间截,全记录比对,关键字段比对,日
志分析抽取等几种方法,要么需要修改原表结构,要么需要大量的算法,要么借助第三方
的工具实现。 从 开始引入的 特性,使得有机会在数据库层面上直接实现增
量抽取功能,在性能方面由于和数据库引擎的直接集成,比第三方工具应该具有一定的优
势。
有两个模式:同步和异步。两种模式的实现机制是截然不同的。同步 主要是采
用触发器记录新增数据,基本能够做到实时增量抽取。而异步 则是通过分析已经
的日志记录来得到增量数据信息,有一定的时间延迟,并且提供了到
的接口。同步 在企业版或者标准版中都可以使用,异步 则只包
含在企业版中。注意 在 和 !" 中有了比较大的改变,异步 主要采用了和
相同的技术。
中将系统分为两个角色:发布者和订阅者。发布者主要负责捕获增量数据,订阅者则
将增量数据传递给实际应用。这些任务都可以通过 提供的 #$ 包实现。
二、名词解析
增量数据的抽取来源,比如同步 模式是通过 直接从 %& 中获取的,
就是 %& 。异步 模式则是从日志文件中获取的,则
则表示 %'。
一组逻辑上相关的增量数据,需要保证其一致性。 必须是某个
的成员。对于异步分布式 ( 模式,同一个 的所有 必须在
同一个 %& 中。而异步 模式中一个 只能有一个
。
&
一个 & 对应一个 &,用于保存 & 中的增量数据。
& 中除了需要保存 & 的增量数据,还有一些控制列用于保存相关的元数据。
三、CDC 模式介绍