本章介绍实时迁移。实时迁移是在用户只需要配置迁移的源、目标数据库及迁移对象即可完成整个数据迁移过程,再通过多项指标和数据的对比分析,帮助确定合适的业务割接时机,实现最小化业务中断的数据库迁移。
支持的数据库类型
数据复制服务支持多种数据源之间的数据迁移,不同数据源的支持情况如下表所示,其中自建数据库包含本地建和ECS自建。
数据库类型
迁移方向 | 数据流向 | 源数据库 | 目标数据库 | 目标库实例类型 |
---|---|---|---|---|
入云 | MySQL->MySQL | 本地自建数据库 ECS自建数据库 其他云上数据库 RDS for MySQL实例 |
RDS for MySQL实例 | 单机实例 主备实例 |
入云 | MySQL->DRDS | 本地自建数据库 ECS自建数据库 其他云上数据库 RDS for MySQL实例 |
DRDS实例 | - |
入云 | MySQL->GaussDB(for MySQL) | 本地自建数据库 ECS自建数据库 其他云上数据库 RDS for MySQL实例 GaussDB(for MySQL)实例 |
GaussDB(for MySQL) | 主备实例 |
入云 | MongoDB->DDS | 本地自建数据库 ECS自建数据库 其他云上数据库 DDS实例 |
DDS实例 | 集群 副本集 单节点 |
入云 | MySQL分库分表->DRDS | DRDS实例 | DRDS实例 | - |
出云 | MySQL->MySQL | RDS for MySQL实例 | 本地自建数据库 ECS自建数据库 其他云上数据库 |
单机实例 主备实例 |
出云 | DDS->MongoDB | DDS实例 | 本地自建数据库 ECS自建数据库 其他云上数据库 |
集群 副本集 单节点 |
数据库版本信息
迁移方向 | 数据流向 | 源数据库版本 | 目标数据库版本 |
---|---|---|---|
入云 | MySQL->MySQL | MySQL 5.5.x MySQL 5.6.x MySQL 5.7.x MySQL 8.0.x |
MySQL 5.6.x MySQL 5.7.x MySQL 8.0.x |
入云 | MySQL->DRDS | MySQL 5.6.x MySQL 5.7.x |
目标库关联RDS实例同源库版本 |
入云 | MongoDB->DDS | MongoDB 3.2.x MongoDB 3.4.x MongoDB 4.0.x |
DDS 3.2.x DDS 3.4.x DDS 4.0.x DDS 4.2.xl 说明 当目标库是4.2版本时,仅支持源库版本不大于4.0。 |
入云 | MySQL分库分表-> | - | - |
入云 | MySQL->GaussDB(for MySQL) | MySQL 5.6.x MySQL 5.7.x MySQL 8.0.x |
GaussDB(for MySQL) MySQL 8.0 |
出云 | MySQL->MySQL | MySQL 5.6.x MySQL 5.7.x MySQL 8.0.x |
MySQL 5.6.x MySQL 5.7.x MySQL 8.0.x |
出云 | DDS->MongoDB | DDS 3.2.x DDS 3.4.x DDS 4.0.x |
MongoDB 3.2.x MongoDB 3.4.x MongoDB 4.0.x |
支持的迁移模式
数据复制服务的迁移模式分为全量、全量+增量两种。
全量模式为数据库一次性迁移,适用于可中断业务的数据库迁移场景,全量迁移将非系统数据库的全部数据库对象和数据一次性迁移至目标端数据库,包括:表、视图、存储过程、触发器等。
全量+增量模式为数据库持续性迁移,适用于对业务中断敏感的场景,通过全量迁移过程完成目标端数据库的初始化后,增量迁移阶段通过解析日志等技术,将源端和目标端数据库保持数据持续一致。
迁移方式
迁移方向 | 数据流向 | 全量迁移 | 全量+增量迁移 |
---|---|---|---|
入云 | MySQL->MySQL | 支持 | 支持 |
入云 | MySQL->GaussDB(for MySQL) | 支持 | 支持 |
入云 | MySQL->DRDS | 支持 | 支持 |
入云 | MongoDB->DDS | 副本集到单节点 副本集到副本集 副本集到集群 单节点到单节点 单节点到副本集 单节点到集群 集群到集群 |
副本集到单节点 副本集到副本集 副本集到集群 单节点到单节点 单节点到副本集 单节点到集群 说明 单节点类型实例的增量迁移目前仅支持源库为单节点实例。源数据库不能是GaussDB(for Mongo)实例。 |
入云 | MySQL分库分表->DRDS | 支持 | 支持 |
出云 | MySQL->MySQL | 支持 | 支持 |
出云 | DDS->MongoDB | 支持 | 支持 说明 源数据库为集群时,不支持增量迁移。 |
支持的网络类型
数据复制服务支持通过多种方式的网络进行数据迁移,包括:VPC网络、VPN网络、专线网络和公网网络,在正式迁移之前请参考下表了解网络类型的使用场景及准备工作,并参考下表了解具体的网络类型支持情况进行网络设置。
网络类型
网络类型 | 使用场景 | 准备工作 |
---|---|---|
VPC网络 | 适合云上同区域数据库之间的迁移。 | 源数据库所在的区域要和目标数据库实例所在的区域保持一致。 源数据库可以和目标数据库在同一VPC内,也可以在不同VPC内。 当源数据库和目标数据库处于同一个VPC内的时候,默认网络是连通的,不需要单独设置安全组。 当源数据库和目标数据库不在同一个VPC内的时候,要求源数据库和目标数据库所处的子网处于不同网段,不能重复或交叉, 此时需要通过对等连接实现网络互通。针对这种情况,DRS会在测试连接时自动按照单IP最小范围打通建立路由。 |
VPN网络 | 适合通过VPN网络,实现其他云下自建数据库与云上数据库迁移、或云上跨区域的数据库之间的迁移。 | 用户需要确保本地数据中心和目标数据库所在VPC的VPN网络建立连接,确保VPN网络可正常访问的前提下,再进行数据迁移。 |
专线网络 | 适合通过专线网络,实现其他云下自建数据库与云上数据库迁移、或云上跨区域的数据库之间的迁移。 | 用户需要通过专线网络建立云与数据中心的专线连接。 |
公网网络 | 适合将其他云下或其他平台的数据库迁移到目标数据库。 | 为了确保源数据库和目标数据库之间的网络互通,源数据库端和目标数据库端分别需要进行如下设置: 开启公网访问源数据库端实例需要根据具体的场景,由用户端开启公网访问。设置安全组规则源数据库需要将DRS迁移实例的弹性IP添加到其网络入口白名单内, 使源数据库与DRS迁移实例可以连通。由于目标数据库和DRS迁移实例处于同一个VPC内,默认网络是连通的,不需要单独设置安全组。 说明 DRS迁移实例创建成功后,可在“源库及目标库”页面获取DRS迁移实例的弹性公网IP。在选择公网网络进行迁移时, 如果没有开启SSL安全连接加密迁移链路的功能,请确保待迁移的数据为非机密数据,再进行数据迁移。 |
支持的网络类型
迁移方向 | 数据流向 | VPC网络 | 公网网络 | VPN、专线网络 |
---|---|---|---|---|
入云 | MySQL->MySQL | 支持 | 支持 | 支持 |
入云 | MySQL->GaussDB(for MySQL) | 支持 | 支持 | 支持 |
入云 | MySQL->DRDS | 支持 | 支持 | 支持 |
入云 | MongoDB->DDS | 支持 | 支持 | 支持 |
入云 | MySQL分库分表->DRDS | 支持 | 支持 | 支持 |
出云 | MySQL->MySQL | 支持 | 支持 | 支持 |
出云 | DDS->MongoDB | 支持 | 支持 | 支持 |
支持的迁移对象
数据复制服务提供的实时迁移任务支持不同维度的迁移对象的选择,支持情况如下表。
支持的迁移对象
迁移方向 | 数据流向 | 全部迁移 | 表级迁移 | 库级迁移 |
---|---|---|---|---|
入云 | MySQL->MySQL | 支持 | 支持 | 支持 |
入云 | MySQL->GaussDB(for MySQL) | 支持 | 支持 | 支持 |
入云 | MySQL->DRDS | 暂不支持 | 支持 | 暂不支持 |
入云 | MongoDB->DDS | 支持 | 支持 | 支持 |
入云 | MySQL分库分表->DRDS | 暂不支持 | 支持 | 暂不支持 |
出云 | MySQL->MySQL | 支持 | 支持 | 支持 |
出云 | DDS->MongoDB | 支持 | 支持 | 支持 |
支持的高级特性
数据复制服务提供的实时迁移任务支持多种特性,有效的帮助您提高数据迁移的成功率。
高级特性列表
特性 | 说明 |
---|---|
迁移限速 | 实时迁移支持自由控制迁移速度,从而把握迁移对源带宽、数据库IO的影响,做到迁移影响自主可控。限速只对全量迁移阶段生效,增量迁移阶段不生效。 |
迁移用户 | 实时迁移通过单独处理迁移用户、权限及密码,从而实现用户、权限及密码的迁移。 |
参数对比 | 参数对比功能从常规参数和性能参数两个维度,展示了源数据库和目标数据库的参数值是否一致,可以帮助您迁移成功后业务应用的使用不受影响。 |