使用DTS从MySQL实时同步数据到AnalyticDB for PostgreSQL

DTS支持从MySQL将数据实时同步到AnalyticDB for PostgreSQL,用户可以很方便的搭建起MySQL到AnalyticDB for PostgreSQL的数据同步,轻松实现数据的流转和复杂查询的优化。

前提条件

  • 要求同步的数据表,必须建有主键(通过主键来保证源端和目标端表记录一致性)。
  • 支持(INSERT/UPDATE/DELETE)语句的数据同步,及ALTER TABLE ADD/DROP/RENAME COLUM 的DDL语句同步,不支持 CREATE/DROP TABLE等其它 DDL 语句同步。

操作步骤

1、由于暂时不支持数据结构的迁移,所以需要先在AnalyticDB for PostgreSQL中创建对应的database、schema、table结构。

2、创建DTS同步任务

  1. 进入DTS产品详情页,点击“立即购买”
  2. 售卖页上进行各种配置,配置项说明如下表使用DTS从MySQL实时同步数据到AnalyticDB for PostgreSQL
配置项 说明
功能 数据同步
源实例 MySQL
源实例地域 本例选择华东1(杭州)
目标实例 AnalyticDB for PostgreSQL
目标实例地域 本例选择华东1(杭州)
同步拓扑 单向同步
网络类型 专线
同步链路规格 本例选择large

在确认订单页面,勾选《数据传输服务(按量付费)服务协议》,根据提示完成支付流程。

3、配置同步链路

  1. 登录DTS控制台
  2. 在数据传输页面,单击左侧导航栏中的数据同步
  3. 选择地域
  4. 在同步作业列表中,单击目标实例右侧的配置同步链路,在选择同步通道的源及目标实例页面进行参数配置使用DTS从MySQL实时同步数据到AnalyticDB for PostgreSQL
  5. 完成上述配置,单击授权白名单并进入下一步
  6. 进入选择同步对象页面,完成下面步骤配置后使用DTS从MySQL实时同步数据到AnalyticDB for PostgreSQL

    1. 如果需要全量数据初始化,则选上全量数据初始化
    2. 对于目标表中已经存在数据的处理,有三种:

      1. 预检查并报错拦截(检查发现目标表中已有数据,则直接报错停止);
      2. 清空目标表数据(检查发现目标表中已有数据,做清空表数据操作);
      3. 无操作(无论目标表是否有数据,不做任何操作跳过)
    3. 针对OLAP类型的需求,用户可以选择同步的操作类型,默认全部同步(INSERT、UPDATE、DELETE、ALTER(目前支持add column/drop column/rename column/alter column type))
    4. 源库对象和目标库对象的对应关系为:MySQL的database.table,对应到AnalyticDB for PostgreSQL中的层级是schema.table,因此选择源库对象后,需要在已选择对象框中做对应修改,主要是MySQL的database对应到AnalyticDB for PostgreSQL的schema(不是database)!如下图使用DTS从MySQL实时同步数据到AnalyticDB for PostgreSQL
  7. 完成上述操作后,单击预检查并启动,弹出预检查页面

    1. 如果预检查显示失败,可以根据提示DTS预检查进行排错处理
    2. 预检查全部成功后,单击关闭

4、返回DTS控制台,在同步列表中的同步概况中查看同步延时速度

注意事项

  • 配置同步链路过程中,如果目标表中列信息与源表不同,DTS支持字段映射功能。详细步骤参见库表列映射,再次强调MySQL中的database对应到AnalyticDB for PostgreSQL中是schema!
  • 因为不支持CREATE TABLE表结构同步,所以在同步启动前,需要在AnalyticDB for PostgreSQL中创建好对应的schema和table;在同步过程中,如果源库有create操作,需要手工在目标库中做对应测create操作,否则同步会报错。
  • DTS写入AnalyticDB for PostgreSQL的账号权限要包括SELECT、INSERT、UPDATE、DELETE、COPY、TRUNCATE、ALTER TABLE。
  • 不支持JSON、GEOMETRY、CURVE、SURFACE、MULTIPOINT、MULTILINESTRING、MULTIPOLYGON、GEOMETRYCOLLECTION类型的数据同步
上一篇:React 实践心得:key 属性的原理和用法


下一篇:【Groovy】MOP 元对象协议与元编程 ( 方法委托 | 正常方法调用 | 方法委托实现 | 代码示例 )