
# 迁移评估
数据库迁移上云前需要进行充分的评估和验证。
根据待迁移数据的现状和未来业务规模，分类进行评估和准备，详细信息如[表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实例  | RDS实例侦听端口           |
| 源RDS实例  | 数据库用户               |
| 源RDS实例  | 数据库名称               |
| 源RDS实例  | 数据库表名               |
| 目标DDM实例 | DDM实例连接地址           |
| 目标DDM实例 | DDM实例侦听端口           |
| 目标DDM实例 | DDM实例用户名            |
| 目标DDM实例 | DDM关联RDS实例上创建的数据库名称 |
| 目标DDM实例 | 新建RDS实例连接地址         |
| 目标DDM实例 | 新建RDS实例侦听端口         |
| 目标DDM实例 | RDS实例用户名            |
| 目标DDM实例 | 数据库名称               |
| 弹性云服务器  | 弹性IP地址              |
| 弹性云服务器  | 系统登录用户/密码           |
   
