迁移是将数据和元数据从源数据库移动到目标数据库的过程。迁移完成后,目标数据库将成为依赖应用可以读取和写入的主数据库,并且可以关闭源数据库。
Database Migration Service 可帮助您将数据迁移到 Google Cloud。该服务支持将数据库迁移到 Cloud SQL 和 AlloyDB for PostgreSQL 实例。Database Migration Service 可简化网络配置、管理初始快照和持续复制,并在整个迁移过程中提供状态更新。
借助 Database Migration Service,您可以:
下图展示了 Google Cloud 架构中 Database Migration Service 的主要功能:
迁移类型
迁移可分为以下几种类型:
持续迁移
持续(有时称为持续或在线)迁移是指在初始完全转储和加载之后,从来源到目标的持续更改流。当目标位置准备好进行读写操作时,您需要最终确定来源和目标位置之间的复制。然后,目标 Cloud SQL 实例或 AlloyDB for PostgreSQL 集群即可用作独立主实例。在来源和目标同步时进行切换,可最大限度地减少停机时间。
一次性迁移
一次性迁移是指数据库的单个时间点快照。Database Migration Service 会从源数据库中获取快照,并将其应用于目标数据库。此过程是转储和加载,其中目标在加载完成后即可使用。在迁移过程中,任何依赖于源数据库的应用都可能会遇到停机,因为在迁移过程中无法向此数据库写入新数据。
同构迁移
同构迁移是指在采用同一数据库技术的数据库之间迁移数据。例如,从 MySQL 迁移到 Cloud SQL for MySQL。
如需了解详情,请参阅同构迁移。
异构迁移
与同构迁移不同,在异构迁移(例如从 Oracle 迁移到 Cloud SQL for PostgreSQL)中,来源和目标的数据库技术不同。
如需了解详情,请参阅异构迁移。
最短停机时间
Database Migration Service 支持同构和异构迁移的低停机时间、持续、无服务器迁移。Database Migration Service 的无服务器架构会截取源数据库的初始快照,以捕获数据的当前状态。快照完成后,Database Migration Service 会将快照加载到目标数据库,并开始持续数据复制。数据复制是一项持续的操作,因为它会实时跟踪和复制对原始数据库所做的任何更改。它基于变更数据捕获 (CDC),该过程仅识别和捕获在创建初始快照后对数据库所做的更改,例如插入、更新、删除。
这种方法可最大限度地减少停机时间,原因如下:
- 持续复制比频繁复制整个数据库更高效,因为它只关注修改。
- 在源数据库保持运行的同时迁移数据。
- 无服务器迁移在大规模下具有出色的性能。
使用 Gemini 加快代码和架构转换
对于异构迁移,Database Migration Service 会将源数据库中的架构和对象转换为与目标数据库兼容的格式。转换工作区提供以下功能:
- 创建转换工作区后,系统会自动执行初始架构转换。
- 交互式 SQL 编辑器,可帮助您解决转换问题或调整架构,以更好地满足您的需求。
- Gemini 转换功能的辅助。
- 可用于替换自动架构转换规则的自定义指令。
如需了解详情,请参阅由 Gemini 赋能的转换。
安全和加密
Database Migration Service 通过使用 SSL/TLS 证书加密网络连接和客户管理的加密密钥 (CMEK) 来安全地迁移数据,以实现持续迁移。
如需了解详情,请参阅安全和加密。
可观测性指标
Database Migration Service 会显示多个图表,可帮助您了解迁移作业的当前状态和进度。在大多数迁移场景中,您可以针对迁移作业中包含的每个数据库过滤这些图表中的信息。
如需了解详情,请参阅适用于您的迁移场景的迁移作业指标页面。
使用场景
Database Migration Service 支持以下应用场景:
- 直接原样迁移到代管式服务
- 在组织迁移到 Google Cloud的过程中,您可以从基于虚拟机的自托管数据库迁移到托管式数据库云服务。这样,您就可以专注于在托管式服务上运行数据库的高可用性、灾难恢复和性能,而不是管理基础架构。
- 多云持续复制
- 与跨区域的读取副本非常相似,如果数据存在于其他云服务商中,迁移作业可以持续将数据库复制到Google Cloud ,以实现多云读取可用性。Database Migration Service 不支持双重写入场景,即同时向源和目标写入数据以及从源和目标读取数据。
后续步骤
详细了解可用的迁移场景: