Db2 到 TiDB (CDC)

    IBM 公司为 Db2 的数据同步做了一套完整的工具,初期这款工具被命名为 InfoSphere Data Replication 简称 IIDR ,IIDR 有多个引擎,包括 Change data capture (CDC) Replication 、 Q Replication 和 SQL Replication ,在 Db2 for i 同步数据到 TiDB 的场景中,主要用到的是它的 Change data capture (CDC) Replication 引擎,所以文中前面提到的 IBM CDC 等价于 IIDR。

    • IIDR-CDC 是一种数据库复制解决方案,它捕获源数据库发生的更改,并将其交付给目标数据库或消息队列中。它的表映射关系的配置都是由图化的控制管理平台上完成的。 CDC 可以用在对源系统几乎没有任何影响的前提下捕捉数据变更并快速应用到下游。其架构特点如下

    其软件架构如下图所示:

    • CDC 官方支持列表 参考:
    • 由于在官方列表中并没有列出 TiDB ,但是它可以选择 CDC Replication Engine for FlexRep 这种方式支持 JDBC 引擎,因为 TiDB 兼容 MySQL 协议,同时 MySQL 也提供了 JDBC driver,所以这里可以使用它将数据写入到 TiDB 中。

    图片

    以上图的生产环境架构为例,上游是一个核心系统,使用的是IBM商业平台,生产和备份平台之间使用了 OMS 同步,IIDR 同步的源端为备机数据库,目标端为 TiDB 。为保证高可用,在下游的另外一台服务器上部署了 IIDR 软件作为备用节点。

    关于 IIDR 的部署安装大家可以参考官网,本文不做重点介绍。这里主要说明一下 IIDR 的下游为 TiDB 时,在部署和使用过程中需要注意的点。

    • IIDR 安装选项选择 FlexRep

    • 创建预定需要借助 MySQL 驱动

    IIDR 需要借助 MySQL 驱动通过 JDBC 的方式将数据写入 TiDB 中,需要提前下载 MySQL 驱动,并在创建订阅时选择该驱动,如下图所示:

    图片

    • IIDR 下游软件参数配置
    • 数据类型转换对照表
    • CDC 在安装配置时,在选择 datastage type 时必须选择 FlexRep 才能顺利的将数据同步到 TiDB 中。

    IIDR 是一款能够比较好的将 Db2 for i 的数据同步到 TiDB 的工具,在同步过程中如遇到上述配置还解决不了的问题,请联系 IIDR 官方或者 TiDB 官方,具体问题具体分析解决。