InfoSphere Change Data Capture(以下简称 CDC)的前身是 DataMirror,2007 年由IBM收购后正式更名为 CDC,并发布了收购后的第一个版本 V6.3,现在最新的版本为 V11.3。
CDC是一款基于数据库日志的实时数据复制产品,可以在跨平台和异构的数据库环境中实现变化数据的实时复制,在国内外的各个业务领域中有着广泛的应用。
CDC提供可保持事务完整性的复制,为客户在数据迁移,数据整合,数据同步,动态数据仓库,主数据管理以及实时BI分析等应用中提供了出色的解决方案。
正如上图所示,CDC 的关键组件主要的组成部分包括:
1)Access Server(AS):用户配置和监控 CDC 引擎的安全管理工具,支持图形化界面及命令行。当用户登录 Management Console时,就会连接到 AS。如果在客户端关闭 AS,并不会影响源服务器到目标服务器的数据复制。
2)Management Console(MC):CDC 的图形化界面工具,允许用户配置、监控和管理在多个不同服务器上的数据复制,可以在客户端上指定复制的参数,初始化刷新和镜像复制。MC也允许用户监控复制操作、延迟、事件消息以及性能相关的统计数据。
3)源端引擎:读取源端数据库的日志文件捕获变更数据,经过行列过滤,字符编码转换后由 TCP/IP 发送给目标端。
4)目标端引擎:接收源端发送的变更数据,经过数值转换,字符编码转换,冲突检测后将变更数据应用到目标数据库。
5)Metadata:存储 CDC 实例的配置信息,包括数据库连接信息,预定信息以及表的映射信息等,同时记录当前的复制进行状态。
6)源和目标 Datastore(数据存储):存储的是数据文件和数据复制需要的 InfoSphere CDC 实例信息。每个datastore代表了一个用户要连接的数据库,并存储要复制的表。
多数的 CDC 引擎既可作为源端引擎捕获变化数据又可作为目标端引擎接收变化数据并将其应用于指定的数据库。
CDC处理数据的流向图:
1)CDC 通过日志读取模块(Log Reader)读取源端数据库中所有活动表的变化日志,并判断出哪些数据变更日志属于CDC配置的预定中所涉及的源端表,并将这些与应用有关的变更日志放在事务队列(Transaction Queue)中
2)日志读取模块读取的日志包括 redo log,archive log,transaction log 等。由于尚未提交的事务也会被CDC日志读取模块读取并放在事务队列中,所以事务队列中记录了各个事务的进行状态。而日志解析模块则负责过滤出事务队列中已经提交了的事务变更日志,并将其放入变更日志存储(Staging Store)中。
3)复制表的事务信息通过 TCP/IP 传送至目标端,可通过 MC 监控复制的数据情况
4)目标段将抽取过来的事务信息经过必要的转换重新组装成 SQL 语句。
5)CDC将组装好的 SQL 语句应用于目标数据库,并更新bookmark信息 (bookmark 信息是为了保证数据的一致性,当由于某种原因复制中断后,在下次 CDC 重启后,目标端的 bookmark 信息首先被传到源端,从而源端从最后一个成功应用到目标数据库的日志开始复制),整个数据复制过程完成。
1)灵活的部署方案
CDC可采用单向,双向,并行,级联,集中,分发等多种拓扑结构及其组合的部署方式进行复制。
2)提供大数据量,低延迟的数据复制
捕获实时变化数据,极大地缩短了数据集成窗口!
3)基于日志,无需改变当前IT架构,对生产系统的影响最小
仅读取日志,不访问生产数据库,压力小,无风险!
4)全面的异构数据平台支持
从传统数据库到大数据平台,提供最广泛的支持。
5)提供集配置、管理和监控于一体的图形化界面,管理方便,易于操作
1)实时运营报表
某运输能力提供商要求其订单信息、负载特征、合同和账单数据与企业的其余部门整合,以便于分配司机负载和分析业务。将这些数据发布和整合到数据仓库和 Web应用一共需要 30 分钟。这意味着用户不仅必须等待数据,还无法掌握实时准确的业务情况。
通过使用 InfoSphere CDC从源系统低影响、实时地抽取数据更改,InfoSphere DataStage 能够及时接收数据更改流,并通过 ETL 流程将之应用到数据仓库以及整个企业的其他 Web应用。这不仅可向数据仓库提供实时的更改,而且企业内的多个点可以受益于和利用已更改的数据,对源系统的影响却很小。
2)最小化批处理时窗
某消费品制造商将它的制造数据和销售数字存储在两个位于不同地区的单独 ERP系统上。每天通过夜间批处理作业将数据加载到数据仓库中用于生成报表。但是随着业务的增长,数据量也随之增长,8 小时的夜间批处理时间已明显不够用。
通过使用 InfoSphere CDC 实时地将数据加载到数据仓库中,制造商就可随时掌握准确的最新信息,可以做出更好的业务决策,此外还可以将批处理时窗释放出来用于其他任务.
3)电子商务同步
某商业抵押贷款提供商想使客户能够在线访问他们的贷款和投资状态。它还想开发一些新的 Web 应用,以便客户申请抵押贷款、偿还汽车贷款以及进行基于Internet 的贷款。
通过使用 InfoSphere CDC 实时地同步现有系统和新 Web 应用之间的数据,客户可以通过 Internet 即时访问信息和服务。