IBM Infosphere Data Replication产品族Replication Server与Change Data Capture的异同比较
一,简介
在如今信息快速变化的商业时代,必须在第一时间做出商业决策并采取行动才能在激烈的竞争中保持领先地位。如果商业数据不能保证同步,那么生产和利润势必会遭受损失,但是,面对信息量激增并且分布存储的特点,保证数据的可信性并非易事。 IBM 的 InfoSphere Data Replication 产品族针对这一问题为应用提供了一系列数据同步解决方案,该类方案均为基于数据库日志实现对数据源变化的实时捕获,并且实时传输到目标端。本产品族包括 InfoSphere RS(Replication Server)和 InfoSphere CDC(Change Data Capture)两个产品。
二,产品介绍及其架构对比
1,Replication Server(RS)
Replication Server 产品包括 SQL 复制和 Q 复制两种技术。其中 SQL 复制(其前身为 Data Propagator)于 1994 年发布第一个版本,Q 复制于 2004 年发布第一个版本,如今已经发布了 V10FP1。相比于 SQL 复制,Q 复制的数据传输技术借助于 IBM 队列机制,从而提高了数据的传输效率和可靠性,可以达到每秒复制几千个表、几十万行数据 , 在几千英里的距离下端到端的延迟不到 1 秒(从源端 DB2 commit 到目标端 DB2 commit)。本文将主要介绍 Q 复制技术与 CDC 的对比。
如图 1 表示了 Q 复制的主要组件及其复制原理。其中主要的组成部分包括:
a).QCapture 程序,运行在源数据端,主要功能为从源数据库的日志中读取变化的数据,生成 MQ 消息并且将其放入 WebSphere MQ 队列,一般情况下每一条 MQ 消息代表一个数据库事务,消息的格式遵循一定的标准。
b).QApply 程序,并行地从队列中获取 MQ 消息,对消息中包含的数据库操作经过冲突检查、冲突处理等一系列分析处理生成相应的数据库操作,将源数据库中的数据变化反映到到目标表中。其中目标表可以是多种数据库,除 DB2 外,还可以借助于联邦数据库将数据变化复制到 Oracle, Sybase, Informix, SQL Server, Teradata 这些数据库中。
c).Websphere MQ,为 QCapture 和 QApply 之间提供数据传输功能,借助了 MQ 本身的健壮性和高性能。
图 1. Q 复制的主要组件及工作原理
2,Change Data Capture(CDC)
Change Data Capture(CDC) 的前身是 DataMirror,2007 年由 IBM 收购后正式更名为 CDC,并发布了收购后的第一个版本 V6.3,现在最新的版本为 V10.2。CDC 主要采用基于日志的变更数据捕获技术以实现对关键业务系统的实时数据复制,同时不影响业务系统性能。CDC 最大优点在于其对异构数据库的支持和与 IBM 产品的集成,为客户在数据迁移,整合,同步,动态数据仓库等应用中提供了卓越的解决方案。
图 2 显示了 CDC 的关键组件及其复制原理,其主要的组成部分包括:
a).Access Server(AS):用户配置和监控 CDC 引擎的安全管理工具,支持图形化界面(V6.5 之后集成在 MC 中)及命令行
b).Management Console(MC):CDC 的图形化界面工具,用于管理和配置复制信息,并对复制状态进行实时监控,获取 CDC 运行信息
c). 源端引擎:读取源端数据库的日志文件捕获变更数据,经过行列过滤,字符编码转换后由 TCP/IP 发送给目标端
d). 目标端引擎:接收源端发送的变更数据,经过数值转换,字符编码转换,冲突检测后将变更数据应用到目标数据库
e). 多数的 CDC 引擎既可作为源端引擎捕获变化数据又可作为目标端引擎接收变化数据并将其应用于指定的数据库;通常,CDC 引擎称为 CDC 实例,如果从 AS/MC 的角度,一个 CDC 引擎也被称作一个 CDC 数据存储
f). 元数据:存储 CDC 实例的配置信息,包括数据库连接信息,预定信息以及表的映射信息等,同时记录当前的复制进行状态
图 2. CDC 关键组件及复制原理
3,比较
RS 和 CDC 支持目前市场应用中的大部分数据库系统之间的复制,以下是二者支持的数据源,目标,消息队列及操作系统的对比:
查看本栏目更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/Programming/extra/