本文将介绍如何通过DRDS的评估导入功能将数据从RDS迁移至DRDS

问题

业务增长带来的数据量膨胀以及存储、并发、QPS的增长,都会导致RDS性能瓶颈的出现。此时迁移到DRDS进行分库分表是一个很好的选择。但将数据从RDS迁移至DRDS,您可能需要考虑如下问题:

  • DRDS实例规格如何选取?
  • DRDS下挂载的RDS规格如何选取?
  • RDS中的单表迁移到DRDS后,如何拆分?如何选取分表数及拆分键?
  • 如何快速建库、建表?
  • 如何快速将数据从RDS导入到DRDS

解决方案

DRDS针对上述问题,DRDS提供了评估导入功能,帮助您轻松快速地从RDS迁移至DRDS

表 1. 迁移流程
步骤 说明
步骤一:获取评估建议

DRDS的评估建议功能够:

  • 推荐迁移后的DRDS实例规格以及DRDS数据库下挂载的RDS实例规格。
  • 为源RDS的每一张表提供拆分方案,包括源库中各个表是否拆分、选取哪个字段为拆分键、源库中各个表导入到DRDS时的建表语句等。
步骤二:数据导入

DRDS的数据导入功能支持:

  • 通过评估建议开始导入:基于评估建议的结果,提供快速建库、建表、数据导入的一体化迁移方案。
    图 1. 任务执行流程
    任务执行流程
  • 自定义导入:您也可以按照自己的业务需求购买DRDSRDS实例并建库建表,然后将数据从源RDS库导入到目标DRDS库。
    图 2. 任务执行流程
    任务执行流程
步骤三:完成迁移 DRDS保证全量任务完成后,还会提供14天的增量同步服务。当全部数据导入完成后,您可以将业务从RDS切换到DRDS

步骤一:获取评估建议

DRDS能够对源RDS库信息进行评估并给出迁移到目标DRDS时的相关建议,所有建议将在评估报告中显示。

  1. 登录云原生分布式数据库控制台
  2. 在页面左上角选择目标实例所在地域。
  3. 在左侧导航栏中,单击评估导入 > 评估建议
  4. 评估建议页面右上角,单击开始 RDS 评估
    开始
  5. 源库信息页面,设置以下参数。
    配置 说明
    任务名称 输入迁移任务的名称。
    源库信息 实例类型 固定为RDS实例无需选择。
    RDS实例ID 选择源RDS实例。
    数据库名 选择源数据库。
    数据库端口 输入源数据库端口。
    数据库账号 输入源数据库账号。
    数据库密码 输入源数据库账号的密码。
    说明 输入源数据库账号的密码后,您可以单击右侧的 测试连接确认源RDS的连接是否正常。
    业务信息 您可以根据实际业务设置预计数据规模增长百分比预计平均QPS增长百分比以获得更准确的评估建议。
    评估时长 您可以设置评估时长为1小时、3小时、6小时、1天、3天或7天;您也可以选择自定义评估时长,自定义评估时长的范围为1~336小时(即14天)。
  6. 选中同意开启SQL洞察并单击下一步
  7. 任务预检页面,等待预检结果显示成功后,单击开始任务
  8. 评估任务完成后,您可以进行如下操作:
    评估完成
    • 您可以单击任务列表右侧的操作栏中的评估报告查看评估建议详情。报告
      说明 您可以在 拆分推荐区域,单击 展开查看拆分推荐详情,如拆分类型、拆分键等。您还可以单击 导出建表SQL下载具体的建表SQL语句。
    • 您可以单击任务列表右侧的操作栏中的开始导入直接进入数据导入流程。

步骤二:数据导入

您可以通过如下两种方式将数据从源RDS导入DRDS

  • 通过评估建议开始导入
    1. 登录云原生分布式数据库控制台
    2. 在页面左上角选择目标实例所在地域。
    3. 在左侧导航栏中,单击评估导入 > 评估建议
    4. 找到目标任务,单击右侧操作栏中的开始导入导入
    5. 评估概要页面,确认推荐实例的规格和个数,单击下一步
    6. 选中目标DRDS实例并单击图标图标将其移动到右侧已选框中,单击下一步
      说明 仅支持选择1个 DRDS实例。
    7. 选中目标RDS实例并单击图标图标将其移动到右侧已选框中,单击下一步
      说明 您可以继续使用已购的 RDS实例,但建议购买新的 RDS实例为目标 DRDS提供独立的存储资源。
    8. 任务预检页面,等待预检结果显示成功后,单击下一步
    9. 拓扑确认页面确认源RDS实例、源库和目标DRDS实例信息,单击创建任务即可。
  • 自定义导入
    1. 登录云原生分布式数据库控制台
    2. 在页面左上角选择目标实例所在地域。
    3. 在左侧导航栏中,单击评估导入 > 数据导入
    4. 导入任务页面,单击右上角RDS 自定义导入
    5. 源库及目标库页面,设置如下参数后,单击下一步
      配置 说明
      任务名称 输入迁移任务的名称。
      源库信息 实例类型 固定为RDS实例无需选择。
      RDS实例ID 选择源RDS实例。
      数据库名 选择源数据库。
      数据库端口 输入源数据库端口。
      数据库端账号 输入源数据库账号。
      数据库密码 输入源数据库账号的密码。
      说明 输入源数据库账号的密码后,您可以单击右侧的 测试连接确认源RDS的连接是否正常。
      目标库信息 数据库端口 输入目标数据库端口。
      数据库端账号 输入目标数据库账号。
      数据库密码 输入目标数据库账号的密码。
      说明 输入目标数据库账号的密码后,您可以单击右侧的 测试连接确认目标 DRDS的连接是否正常。
    6. 迁移列表页面左侧的源表名栏选中需要迁移源表,并在右侧目标表名选择对应的目标表,单击下一步
      注意 不支持对使用了联合主键的表进行迁移,否则 任务预检时将会报错。
    7. 任务预检页面,等待预检结果显示成功后,单击开始任务即可。

步骤三:完成迁移

  1. 登录云原生分布式数据库控制台
  2. 在页面左上角选择目标实例所在地域。
  3. 在左侧导航栏中,单击评估导入 > 数据导入
  4. 找到目标任务,单击右侧操作栏中的结束任务
    结束任务
    说明
    • DRDS保证全量任务完成后,还会提供14天的增量同步服务。您可以在任务进度显示为100%后,直接单击结束任务手动完成迁移。您也可以等待系统停止14天的增量同步服务后自动结束任务
    • 数据导入任务的任务状态会在结束任务后由运行中切换为已结束,此时您可以单击清理任务,任务被清理后将不会显示在导入任务列表。

常见问题

Q:开始导入数据前是否需要暂停源库的写入操作?

A:不需要,DRDS保证全量任务完成后,还会提供14天的增量同步服务。您可以在任务进度显示为100%后,直接单击结束任务手动完成迁移。您也可以等待系统停止14天的增量同步服务后自动结束任务