本文从实际应用的角度,阐述如何使用 InfoSphere CDC for DB2 for i 实现 DB2 for i 之间的实时数据复制。与此同时,还深入分析了 InfoSphere CDC for DB2 for i 的体系结构与工作原理。
IBM i 平台的特色之一是集成数据库 DB2 for i。IBM InfoSphere Change Data Capture( 简称 InfoSphere CDC) 作为一款跨数据库复制解决方案,支持不同 DB2 for i 之间,甚至是异构数据库之间的实时数据复制,满足了 HA 环境下对于数据灾备的需求。
本文从实际应用的角度,阐述如何使用 InfoSphere CDC for DB2 for i 实现 DB2 for i 之间的实时数据复制。与此同时,还深入分析了 InfoSphere CDC for DB2 for i 的体系结构与工作原理。
什么是 InfoSphere CDC
IBM InfoSphere Change Data Capture ( 以下简称 InfoSphere CDC) 是一个跨不同数据库的实时数据复制解决方案,支持 DB2, Informix,Oracle, ">Microsoft SQL Server, Sybase, Teradata, SolidDB 等各种主流数据库。InfoSphere CDC 通过读取源数据库的日志获取变化的数据,并经过适当的转换将数据复制到数据目标中。InfoSphere CDC 目标端支持数据库,消息队列、以及 ETL 解决方案(例如 InfoSphere DataStage)等。
从系统性能角度,通过读取数据库的日志来获取变化的数据,InfoSphere CDC 对源数据库造成的影响极低;从系统资源角度,通过仅发送已更改的数据,InfoSphere CDC 还可以减少处理开销和网络流量。从用户体验角度,InfoSphere CDC 提供一个 Eclipse 风格的管理控制台,方便用户轻松创建、配置、监控与管理各种数据复制任务。
总体而言,InfoSphere CDC 主要支持三种数据复制模式,分别为:Refresh、Net change(或称为 Scheduled End)、Continuous mirroring。相关的描述说明与使用场景如表 1 所示。
表 1. 三种 InfoSphere CDC 数据复制模式
数据复制模式 描述说明 使用场景 Refresh 源数据全部复制到目标数据 常用于初始化数据装载 Net change 基于时间调度复制变更的数据 定期数据复制 Continuous mirroring 实时监控并复制变更的数据 实时数据复制
下面,我们简单描述一下 InfoSphere CDC 的工作原理,如图 1 所示:
图 1. InfoSphere CDC 体系结构图
初看起来,InfoSphere CDC 的体系结构稍显复杂。总体上,我们可以简单划分为以下几个关键组件:
Datastore Replication Engine: 表示数据库所在的源或目标服务器上运行的 InfoSphere CDC 进程,用于发送与接收变更的数据。我们把发送端进程称为 源捕获引擎(Source capture engine),接收端进程称为 目标引擎(Target engine)。InfoSphere CDC 支持 Datastore Replication Engine 以多个实例(Instance)的方式同时运行,甚至也可以同时作为源捕获引擎和目标引擎工作。 Access Server:是一组客户机后台进程(Deamon),用于控制客户机
Management Console 对服务器端 InfoSphere CDC 的 UI 交互式访问。当然,InfoSphere CDC 也提供命令行操作接口。 Management Console:如前所述,是一个 Eclipse 风格的管理控制台,方便用户轻松创建、配置、监控与管理各种数据复制任务。通常而言,Management Console 与 Access Server 是一起协同工作的。无论退出 Management Console,或是关闭 Access Server,均不影响 Datastore Replication Engine 的数据复制活动。 Datastore: 可简单理解为源或目标数据库在 InfoSphere CDC 的一种表示法。用户可以通过 Management Console 定义 Source Datastore 与 Target Datastore,并通过 Access Server 进程接收请求,实现与 Datastore Replication Engine 通信,从而启动和管理各种数据复制活动。
以上,我们只是大致介绍 InfoSphere CDC 的基本概念与工作原理。
前文提及,作为跨数据库实时复制解决方案,InfoSphere CDC 支持各种不同平台的不同厂商的数据库产品。其中,InfoSphere CDC 也提供针对 IBM i 平台 DB2 数据库的支持,其产品称为 InfoSphere CDC for DB2 for i。