分享

IBM利用Infosphere Datastage、Infosphere CDC、Infosphere Warehouse及Cognos构建数据分析(下)

 BI之路 2014-04-04

通过 Infosphere CDC 实现实时、增量数据装载

InfoSphere Change Data Capture 是一个跨不同数据库的实时数据复制解决方案,它通过读取源数据库的日志获取变化的数据,并经过适当的转换将数据复制到数据目标中。

InfoSphere CDC 是通过读取数据库的日志来获取变化的数据,对源数据库造成的影响极低。同时,它可以跨不同的数据库实时地捕捉和交付变更的数据,包括主流的 DB2, Oracle, MS SQL Server, Sybase, Teradata 等数据库,目标还支持 Message Queue、InfoSphere Information Server、Web Services 等。我们可以通过管理控制台轻松配置、管理 InfoSphere CDC 数据复制任务。

InfoSphere CDC 数据复制主要支持以下几种方式:

  • Refresh

    将数据源中的数据全部复制到目标中,它主要用于初始数据装载。

  • Net change

    基于时间调度,将源数据库中变化的数据批量复制到目标中,任务运行完成,复制停止。

  • Continuous mirroring

    持续监控源数据库,并将数据的变化实时复制到数据目标中。通常,实现实时数据复制功能,我们大多采用该种数据复制方式。

如下图所示,InfoSphere CDC 关键组件主要包括:

图 11. InfoSphere CDC 体系结构
图 11. InfoSphere CDC 体系结构

  • Datastore Replication Engine 是一个 InfoSphere CDC 进程,它发送或接收变更数据。在源和目标服务器上安装 InfoSphere CDC 时,分别在源和目标服务器上创建 Replication Engine 进程。
  • Access Server 是一个客户机工作站,其中有一组后台进程,它们把从其他客户机工作站上的 InfoSphere CDC Management Console 接收的请求转发给适当的数据存储。这些进程还把信息返回给应用程序。可以创建数据存储和其他 InfoSphere CDC 用户,然后为它们分配 Management Console 的 Access Manager 透视图。创建的数据存储和用户与 Access Server 相关联。
  • InfoSphere CDC Management Console 是一个交互式应用程序,可以使用它配置和监视复制。可以从客户机工作站管理不同服务器上的复制、指定复制参数以及启动刷新和镜像操作。
  • 数据存储代表 InfoSphere CDC 系统和可以用于复制的数据库。数据存储是源或目标服务器上的一个 InfoSphere CDC 进程。这个进程从 Access Server 的实例接收请求并与 Datastore Replication Engine 通信,从而启动和管理复制活动。这些进程是在 Management Console 的 Access Manager 透视图中定义的。

InfoSphere CDC 提供了图形化管理工具来配置、管理 InfoSphere CDC 数据复制任务,通常,设置 InfoSphere CDC 数据复制任务主要包括以下几个步骤:

  • 为源数据库服务器创建 InfoSphere CDC 的实例。
  • 为目标数据库服务器创建 InfoSphere CDC 的实例。
  • 创建数据存储并把数据存储分配给用户:
    1. 登录 Management Console 并连接 Access Server。
    2. 为源和目标数据库创建数据存储。
    3. 把数据存储分配给用户。
  • 设置用于复制的订阅:
    1. 在用于 CDC 复制的源和目标数据存储中创建表。
    2. 创建一个新的订阅。
    3. 映射用于复制的表并选择复制方法。
    4. 对订阅启动复制。

CDC Transaction Stage

从 Infosphere Datastage 8.5 开始,提供了 CDC Transaction Stage, 可以在 Datastage 作业中利用 CDC 提供的复制能力来实现基于事务的、实时的数据复制功能,可以用来实现增量、实时数据 ETL 功能。CDC Transaction Stage,在 Infosphere Datastage 8.5 中以补丁的方式提供 :CDC Transaction Stage patch (APAR JR37451),在 Infosphere Datastage 8.7 的产品中本身已经包含。

图 12. CDC Transaction Stage 系统架构
图 12. CDC Transaction Stage 系统架构

如上图所示,CDC Transaction Stage 和 InfoSphere CDC 互相配合,在 datastage 作业中来实现实时、增量异构数据库 ETL 功能。在 InfoSphere CDC 产品中,我们通过定义复制目标为 Datastage Server 来同 Datastage 中的 CDC Transaction Stage 相关联,在 datastage 中,CDC Transaction Stage 用于同 InfoSphere CDC 相互通信获取实时、增量数据,并在 Datastage 中做相应的数据转换,通过 datastage 提供的 connector 将数据落实到目标数据库中。

CDC Transaction Stage 通过 CDC 预订及 bookmark 作为同步机制来保证在系统出现故障时数据不会丢失。CDC Transaction Stage 数据同步是基于 CDC 预订级别,Bookmark 信息在 CDC 数据源服务器上自动生成,并以字符串形式传输给 CDC Transaction Stage,Bookmark 信息保存在 DataStage 目标数据库中,它主要包含了事务打开的位置、事务落实的位置、目标数据落实的位置等信息,不同的预订,需要定义不同的表来保存 bookmark 信息。在 CDC Transaction Stage 中,需要定义 ODBC 数据源来访问目标数据库中的 bookmark 信息。当预定重新启动后,CDC transaction stage 从目标数据库中读取 bookmark 信息,并将其传输到 CDC 源来定义重新启动的位置。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多