本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 DMS 架构转换来转换数据库架构
DMS 架构转换是 AWS Database Migration Service (AWS DMS) 的一项功能,可将您的源数据库架构转换为与 Aurora、亚马逊 RDS 或 Amazon Redshift 上的目标数据库兼容的格式。
要转换数据库,您需要为源数据库和目标数据库创建一个迁移项目。如果您还没有目标数据库,则可以使用虚拟目标并在应用代码之前添加一个真实的目标。DMS Schema Conversion 读取您的源元数据,您可以运行评估以查看哪些会自动转换,哪些需要手动操作。然后,您可以转换架构,查看结果,然后将转换后的代码应用到目标数据库或将其导出为 SQL 脚本。
注意
DMS 架构转换转换您的数据库架构,而不是您的数据。要迁移数据,请使用的数据迁移功能 AWS DMS。
您可以在 AWS 管理控制台中使用 DMS 架构转换、 AWS CLI 和软件开发工具包或通过 API 驱动架构转换的 AI 代理。 AWS 有关使用 AI 代理的更多信息,请参阅使用 AI 代理进行 DMS 架构转换。
使用以下主题学习如何使用 DMS 架构转换。
主题
DMS 架构转换的工作原理
DMS 架构转换使用基于规则的引擎转换您的架构。这些规则会产生一致、可重复的结果,因此您可以在大型架构中依赖它们,而无需手动检查每个对象。当规则无法完全转换对象时,DMS Schema Conversion 可以使用生成式 AI 来转换更多对象,从而减少手动完成的时间。
注意
DMS 架构转换是一项完全托管的、基于 Web 的功能,建立在 AWS Schema Conversion Tool (AWS SCT) 转换引擎之上。
DMS 架构转换使用三种资源来处理您的数据库:
- 实例配置文件
-
指定 DMS Schema Conversion 用于连接源和目标数据库以及加密转换数据的网络和安全设置。
- 数据提供程序
-
存储源数据库或目标数据库的连接详细信息,例如其类型、服务器名称和端口。
- 迁移项目
-
汇集了源数据提供商、目标数据提供者和实例配置文件以及保存数据库凭证的 AWS Secrets Manager 密钥。
下图显示了这些资源是如何组合在一起的。您的每个源数据库和目标数据库都由一个数据提供者表示。迁移项目同时使用数据提供商和实例配置文件,DMS Schema Conversion在这里转换您的架构。
关键功能
- 评估您的迁移情况
-
DMS Schema Conversion 读取您的源元数据并创建转化评估报告,显示其可以自动转换的内容以及哪些需要手动操作。在您承诺迁移之前,使用该报告来估算迁移的工作量。有关更多信息,请参阅 使用 DMS 架构转换的转化评估报告。
- 转换您的架构
-
DMS 架构转换转换表、视图、存储过程、函数和其他对象。您可以使用转换规则(更改对象名称和数据类型)以及每个转换路径的转换设置来自定义结果。对于规则无法完全转换的对象,生成式 AI 转换可以转换更多对象以供您查看。有关更多信息,请参阅 使用 DMS 架构转换。
- 应用或导出转换后的代码
-
您可以比较源代码和转换后的代码,并编辑转换后的 SQL。准备就绪后,将转换后的代码应用到目标数据库,或将其作为 SQL 脚本导出到 Amazon S3 存储桶中。如果您的源数据库使用目标数据库没有的功能,DMS Schema Conversion 会添加一个模拟其中一些功能的扩展包。有关更多信息,请参阅在 DMS 架构转换中保存和应用转换后的代码和在 DMS 架构转换中使用扩展包。
支持的转换路径
下表列出了 DMS 架构转换支持的转换路径,包括哪些路径支持生成式 AI 转换。
| 源数据库 | 目标数据库 | 生成式 AI 转换 |
|---|---|---|
| Oracle | 适用于 PostgreSQL 的 Aurora PostgreSQL | 是 |
| Oracle | Aurora MySQL 或 RDS f | 否 |
| Oracle | Amazon Redshift | 否 |
| SQL Server | 适用于 PostgreSQL 的 Aurora PostgreSQL | 是 |
| SQL Server | Aurora MySQL 或 RDS f | 否 |
| PostgreSQL | Aurora MySQL 或 RDS f | 否 |
| MySQL | 适用于 PostgreSQL 的 Aurora PostgreSQL | 否 |
| 适用于 LUW 的 IBM Db2 | 适用于 PostgreSQL 的 Aurora PostgreSQL | 是 |
| IBM Db2 for z/OS | 适用于 PostgreSQL 的 Aurora PostgreSQL | 是 |
| IBM Db2 for z/OS | Amazon RDS for Db2 | 否 |
| SAP ASE | 适用于 PostgreSQL 的 Aurora PostgreSQL | 是 |
注意
适用于 LUW 的 IBM Db2 和用于 z/OS 转换路径的 IBM Db2 在中不可用。 AWS 管理控制台要使用这些转换路径,请使用 AWS DMS API 或 AWS CLI。
有关每个数据库支持的版本,请参见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 架构转换设置网络。