本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 DMS 架构转换来转换数据库架构
DMS 架构转换是 AWS Database Migration Service (AWS DMS) 的一项功能,可将您的源数据库架构转换为与 Aurora、Amazon RDS 或 Amazon Redshift 上的目标数据库兼容的格式。
要转换数据库,您需要为源数据库和目标数据库创建一个迁移项目。如果您还没有目标数据库,则可以在应用代码之前使用虚拟目标并添加真实目标。DMS Schema Conversion 会读取您的源元数据,然后您可以进行评估,以了解哪些内容会自动转换,哪些需要手动操作。然后,您可以转换架构,查看结果,然后将转换后的代码应用于目标数据库或将其导出为 SQL 脚本。
注意
DMS 架构转换会转换您的数据库架构,而不是您的数据。要迁移数据,请使用的数据迁移功能 AWS DMS。
您可以在 AWS 管理控制台中使用 DMS 架构转换,也可以使用 AWS CLI 和 SDK,或者通过 API 驱动架构转换的 AI 代理。 AWS 有关使用 AI 代理的更多信息,请参阅使用 AI 代理进行 DMS 架构转换。
使用以下主题来学习如何使用 DMS 架构转换。
主题
DMS 架构转换的工作原理
DMS 架构转换使用基于规则的引擎转换您的架构。这些规则会生成一致、可重复的结果,因此您可以在大型架构中依赖它们,而无需手动检查每个对象。当规则无法完全转换对象时,DMS Schema Conversion 可以使用生成式 AI 来转换更多对象,这样您就无需手动完成了。
注意
DMS 架构转换是一项完全托管的、基于 Web 的功能,它建立在 AWS Schema Conversion Tool (AWS SCT) 转换引擎之上。
DMS 架构转换使用三种资源来处理您的数据库:
- 实例配置文件
-
指定 DMS 架构转换用于连接源数据库和目标数据库以及加密转换数据的网络和安全设置。
- 数据提供程序
-
存储源数据库或目标数据库的连接详细信息,例如其类型、服务器名称和端口。
- 迁移项目
-
汇集了源数据提供者、目标数据提供者和实例配置文件,以及保存数据库凭据的 AWS Secrets Manager 机密。
下图显示了这些资源是如何组合在一起的。您的每个源数据库和目标数据库都由一个数据提供者表示。迁移项目同时使用数据提供器和实例配置文件,这是 DMS 架构转换转换架构的地方。
关键功能
- 评估您的迁移
-
DMS Schema Conversion 会读取您的源元数据并创建转化评估报告,其中显示可以自动转换的内容以及需要手动操作的内容。在您承诺迁移之前,请使用该报告来估算迁移的工作量。有关更多信息,请参阅 使用 DMS 架构转换创建数据库迁移评测报告。
- 转换您的架构
-
DMS 架构转换转换表、视图、存储过程、函数和其他对象。您可以使用转换规则(更改对象名称和数据类型)以及每个转换路径的转换设置来自定义结果。对于规则无法完全转换的对象,生成式 AI 转换可以转换更多对象供你查看。有关更多信息,请参阅 使用 DMS 架构转换。
- 应用或导出转换后的代码
-
您可以比较源代码和转换后的代码,并编辑转换后的 SQL。准备就绪后,将转换后的代码应用到目标数据库,或者将其作为 SQL 脚本导出到 Amazon S3 存储桶。如果您的源数据库使用目标数据库不具备的功能,则 DMS 架构转换会添加一个模拟其中一些功能的扩展包。有关更多信息,请参阅在 DMS 架构转换中保存和应用转换后的代码和在 DMS 架构转换中使用扩展包。
支持的转换路径
下表列出了 DMS 架构转换支持的转换路径,包括哪些路径支持生成式 AI 转换。
| 源数据库 | 目标数据库 | 生成式 AI 转换 |
|---|---|---|
| Oracle | Aurora PostgreSQL 或者适用于 PostgreSQL 的 RDS | 是 |
| Oracle | Aurora MySQL 或 MySQL 版 RDS | 否 |
| Oracle | Amazon Redshift | 否 |
| SQL Server | Aurora PostgreSQL 或者适用于 PostgreSQL 的 RDS | 是 |
| SQL Server | Aurora MySQL 或 MySQL 版 RDS | 否 |
| PostgreSQL | Aurora MySQL 或 MySQL 版 RDS | 否 |
| MySQL | Aurora PostgreSQL 或者适用于 PostgreSQL 的 RDS | 否 |
| 适用于 LUW 的 IBM Db2 | Aurora PostgreSQL 或者适用于 PostgreSQL 的 RDS | 是 |
| 适用于 IBM 的 Db2 z/OS | Aurora PostgreSQL 或者适用于 PostgreSQL 的 RDS | 是 |
| 适用于 IBM 的 Db2 z/OS | Amazon RDS for Db2 | 否 |
| SAP ASE | Aurora PostgreSQL 或者适用于 PostgreSQL 的 RDS | 是 |
有关每个数据库的支持版本,请参见DMS 架构转换的源和DMS 架构转换的目标。有关生成式 AI 转换的更多信息,包括其如何使用跨区域推理,请参阅。使用生成式人工智能转换数据库对象
支持 AWS 区域
下表列出了可以在 AWS 区域 何处创建 DMS 架构转换迁移项目,包括生成式 AI 转换可用的地方。
| 区域名称 | Region | 生成式 AI 转换 |
|---|---|---|
| 非洲(开普敦) | af-south-1 | 否 |
| 亚太地区(香港) | ap-east-1 | 否 |
| 亚太地区(台北) | ap-east-2 | 否 |
| 亚太地区(东京) | ap-northeast-1 | 是 |
| 亚太地区(首尔) | ap-northeast-2 | 否 |
| 亚太地区(大阪) | ap-northeast-3 | 是 |
| 亚太地区(孟买) | ap-south-1 | 否 |
| 亚太地区(海得拉巴) | ap-south-2 | 否 |
| 亚太地区(新加坡) | ap-southeast-1 | 否 |
| 亚太地区(悉尼) | ap-southeast-2 | 是 |
| 亚太地区(雅加达) | ap-southeast-3 | 否 |
| 亚太地区(墨尔本) | ap-southeast-4 | 否 |
| 亚太地区(马来西亚) | ap-southeast-5 | 否 |
| 亚太地区(新西兰) | ap-southeast-6 | 否 |
| 亚太地区(泰国) | ap-southeast-7 | 否 |
| 加拿大(中部) | ca-central-1 | 是 |
| 加拿大西部(卡尔加里) | ca-west-1 | 否 |
| 欧洲地区(法兰克福) | eu-central-1 | 是 |
| 欧洲(苏黎世) | eu-central-2 | 是 |
| 欧洲地区(斯德哥尔摩) | eu-north-1 | 是 |
| 欧洲地区(米兰) | eu-south-1 | 是 |
| 欧洲(西班牙) | eu-south-2 | 是 |
| 欧洲地区(爱尔兰) | eu-west-1 | 是 |
| 欧洲地区(伦敦) | eu-west-2 | 是 |
| 欧洲地区(巴黎) | eu-west-3 | 是 |
| 以色列(特拉维夫) | il-central-1 | 否 |
| 中东(阿联酋): | me-central-1 | 否 |
| 中东(巴林) | me-south-1 | 否 |
| 墨西哥(中部) | mx-central-1 | 否 |
| 南美洲(圣保罗) | sa-east-1 | 否 |
| 美国东部(弗吉尼亚州北部) | us-east-1 | 是 |
| 美国东部(俄亥俄州) | us-east-2 | 是 |
| 美国西部(北加利福尼亚) | us-west-1 | 否 |
| 美国西部(俄勒冈州) | us-west-2 | 是 |
要转换在未列出的区域中运行的数据库,请在支持的区域中创建您的迁移项目。然后在该区域的 VPC 和运行数据库的 VPC 之间设置跨区域连接。有关更多信息,请参阅 为 DMS 架构转换设置网络。