更新时间:2022-07-18 GMT+08:00

迁移评估

数据库迁移上云前需要进行充分地评估和验证。

根据待迁移数据的现状和未来业务规模,分类进行评估和准备,详细信息如表1所示。

表1 迁移前评估和准备

评估项

说明

迁移数据量与DDM、RDS的实例规格

  • 关于源数据库数据拆分,建议采用先垂直拆分,后水平拆分的方式。
  • 对于源MySQL实例数据库表占用存储空间,可执行如下SQL语句评估。
    select concat(round(sum(DATA_LENGTH/1024/1024),2),'MB')as data from information_schema.TABLES;
  • 建议对数据行数超过1000万行(或者预计超过1000万行)的表进行分片,设计为拆分表。
  • 单RDS实例存储不超过500GB。

源数据库每张表对应逻辑库和逻辑表信息

  • 以表为单位,细化每张源表映射对应逻辑表信息,如记录数、逻辑表类型、所属逻辑库、所属DDM实例和关联RDS实例等。
  • 如果已经有RDS(MySQL)且DDM逻辑库选择非拆分库,则只需要在创建逻辑库时关联该RDS(MySQL)实例即可,不涉及表结构和表数据的迁移。

兼容性

  • 检查源数据库和目标实例的MySQL版本号一致。
  • 目标实例的实例规格和存储空间等原则上不低于源数据库。
  • 检查源数据库和目标实例的表结构和字符集等一致。
  • “拆分算法”为“hash”的逻辑表单次迁移记录数不超过1000万条;“拆分算法”为“range”的逻辑表单次迁移记录数不超过500万条。
  • 对于数量过大的表可以采用分批导出导入,通过mysqldump指定参数where条件来限定每批的记录数。
  • 导入DDM只支持导入的SQL文本文件含有标准的DML插入语句。
  • 评估应用程序SQL语句在DDM中的兼容性。

迁移前需要收集相关信息,帮助您更好的完成迁移,详细信息如表2所示。

表2 迁移前信息收集

迁移源/目标

信息项

源RDS实例

RDS实例连接地址

RDS实例侦听端口

数据库用户

数据库名称

数据库表名

目标DDM实例

DDM实例连接地址

DDM实例侦听端口

DDM实例用户名

DDM关联RDS实例上创建的数据库名称

新建RDS实例连接地址

新建RDS实例侦听端口

RDS实例用户名

数据库名称

弹性云服务器

弹性IP地址

系统登录用户/密码