DTS中的数据同步功能旨在帮助用户实现两个数据源之间的数据实时同步,可应用于数据异地多活、异地灾备、本地数据灾备、跨境数据同步、查询与报表分流、云BI以及实时数据仓库等多种业务场景。本文以RDS MySQL数据源为例,介绍如何通过DTS将RDS MySQL数据实时同步至ADB中。

背景信息

您可以通过数据传输服务 DTS(Data Transmission Service)中的数据同步功能,将MySQL、DRDS以及PolarDB中的数据同步至云原生数据仓库AnalyticDB MySQL版(简称ADB,原分析型数据库MySQL版)中,其中MySQL可以是RDS MySQL、其他云厂商、线上IDC自建MySQL或者ECS自建MySQL。

同步对象的选择粒度可以为库、表、列,也可以根据需要同步某几个表的数据,或者只同步表中的某几列数据。

数据同步支持库、表、列名映射,您可以进行不同库名之间的数据或两个不同表名之间的数据同步。

前提条件

  • 根据RDS MySQL快速入门完成准备工作,详情请参见RDS MySQL快速入门
  • 根据ADB快速入门完成创建实例、设置白名单等准备工作,详情请参见ADB快速入门

注意事项

  • 配置同步链路时,如果目标表中的列信息与源表中的列信息不同,可以通过DTS字段映射功能进行映射,详情请参见库表列映射
  • 如果待同步的RDS表数量较少且ADB表结构与源端(RDS)表结构差异较大时,可以在ADB中提前创建表,然后在配置同步链路时,将步骤6中的结构初始化选项去掉即可。
  • 若源端RDS中某个日期字段存在与ADB不兼容的非法日期值,例如“1900-01-00”和“2015-02-00”,您可以通过提交工单申请打开时间的非严格校验。
    说明 打开时间的非严格校验后,向ADB写入的非法日期值将变为NULL。

步骤一:创建DTS同步作业

创建DTS同步作业需要您支付一定的费用,DTS支持两种付费方式:包年包月(预付费)和按量付费。关于两种付费方式的价格详情,请参见DTS产品定价

本例以按量付费为例创建同步作业。

  1. 登录数据传输服务DTS控制台。
  2. 在左侧导航栏单击数据同步
  3. 在页面上方选择同步作业所属地域。
  4. 单击创建同步作业进入购买页面,选择同步作业的付费方式,并根据页面提示进行参数配置。
    说明 本示例选择按量付费
    国际站购买1国际站购买2
    参数 说明
    功能 选择数据同步
    源实例 选择MySQL
    源实例地域 源实例所属地域。
    目标实例 选择分析型数据库AnalyticDB
    目标地域 目标实例所属地域。
    同步架构 单向同步。
    实例规格 选择large
    数据同步根据同步链路的同步性能上限(TransactionsPerSecond,TPS),定义了四种规格:
    • micro,200以内。
    • small,200~2,000。
    • medium,2,000~5,000。
    • large,无限制,运行性能依赖于网络环境、源实例和目标实例的性能。
    购买数量 本例选择1
  5. 完成上述参数配置后,单击立即购买
  6. 确认订单页面,勾选《数据传输服务(按量付费)服务协议》,根据提示完成支付流程。

步骤二:配置同步链路

  1. 登录数据传输服务DTS控制台。
  2. 在左侧导航栏单击数据同步
  3. 在页面上方选择同步作业所属地域。
  4. 在同步作业列表中,单击目标作业右侧的配置同步链路,在选择同步通道的源及目标实例页面进行参数配置。
    类别 参数 说明
    - 同步作业名称 设置同步作业的名称,便于后续管理。
    源实例信息 实例类型 设置源实例的实例类型,本例选择RDS
    实例地区 源实例所属地域。
    实例ID 设置源实例的实例ID。
    数据库账号 源实例RDS中创建的数据库账号。
    数据库密码 源实例RDS中创建的数据库账号对应的密码。
    连接方式 非加密连接。
    目标实例信息 实例类型 目标实例的实例类型,本例为ADB。
    实例地区 目标实例所属地域。
    版本 设置目标ADB的版本,本例为3.0。
    数据库 设置目标ADB数据库。
    数据库账号 设置目标ADB数据库账号。
    说明 该账号需要拥有目标ADB数据库的ALL权限。

    如何为账号授权,请参见GRANT

    数据库账号密码 设置目标ADB数据库账号对应的密码。
    配置同步链路1配置同步链路2
  5. 完成上述参数配置后,单击授权白名单并进入下一步
  6. 选择同步对象页面,完成以下配置后,单击下一步
    选择同步对象
    1. 同步初始化选择结构初始化全量数据初始化
    2. 目标已存在表的处理模式选择预检查并报错拦截
    3. 多表归并选择
    4. 同步操作类型选择所有操作。
    5. 源库对象中单击需要同步的表,将其移动到右侧的已选择对象中。
    6. 根据业务需要设置是否进行库表名称批量更改。
  7. 配置表信息页面,进行参数配置。
    配置表信息
    参数 说明
    类型 分区表或者维度表。
    主键列 ADB支持复合主键,保证数据唯一。
    分布列 分区表中设置分布列。
  8. 完成上述参数配置后,单击预检查并启动,弹出预检查页面。
    1. 预检查显示失败时,可以根据提示信息和源库连接性检查进行排错处理。
    2. 预检查全部成功时,单击关闭,开始同步数据。

步骤三:查看同步数据

  1. 登录数据传输服务DTS控制台。
  2. 在左侧导航栏单击数据同步
  3. 在页面上方选择同步作业所属地域。
  4. 同步作业列表的同步概况中查看同步延时速度
  5. 登录ADB控制台
  6. 连接集群后,查看同步过来的RDS数据。