AWS DMS 351 的新功能 数据库博客

2026-01-27 11:45:48

AWS DMS 351新功能介绍

主要重点

AWS Database Migration ServiceAWS DMS351版本现已推出,新增数据验证和清新端点支持。引入了PostgreSQL目标端点以便向Babelfish迁移、支持PostgreSQL 15作为资料来源。AWS DMS现可使用Redshift Serverless和Amazon DocumentDB与MongoDB兼容的弹性丛集作为目标。

我们很高兴地宣布AWS Database Migration ServiceAWS DMS复制引擎351版本的推出。该版本增加了许多改进,涵盖数据验证、新端点支持以及许多客户所要求的端点设置。在本文中,我们将重点介绍一些重要功能,想了解更多改进请参阅AWS DMS发布说明。

以下是我们对AWS DMS 351改进的深入介绍:

特性说明支持PostgreSQL目标端点可迁移至Babelfish使用PostgreSQL 15作为来源扩展数据迁移能力支持Redshift Serverless丛集加速数据分析工作使用兼容MongoDB的Amazon DocumentDB弹性丛集最优化分片集合

使用PostgreSQL目标端点向Babelfish迁移

Babelfish for Aurora PostgreSQL是Amazon Aurora PostgreSQL兼容版的一项功能,使Aurora能够理解由用于微软SQL伺服器的应用程序发出的命令。

在AWS DMS 351中,我们为PostgreSQL目标端点添加了新的DatabaseMode和BabelfishDatabaseName设置,以简化对Babelfish的迁移。我们也改进了对LOB、BINARY、VARBINARY和IMAGE数据类型的支持。

我们还通过直接将数据加载到Aurora PostgreSQLCompatible来改进SQL Server到Babelfish的迁移性能,从而绕过Babelfish转换。以下图表显示,在初步创建目标架构时使用tSQL端点运行DDL命令,并使用PostgreSQL目标端点进行数据迁移。

有关Babelfish for Aurora PostgreSQL的更多信息,请参阅使用Babelfish for Aurora PostgreSQL。

AWS DMS 351 的新功能 数据库博客

前提条件

确保你拥有以下前提条件:

具有允许在你所在区域创建Amazon RDS和AWS DMS资源的AWS帐户,以及AWS Identity and Access ManagementIAM用户。欲了解IAM用户的创建信息,请参见创建IAM用户。一般了解如何使用SQL Server作为来源,以及如何将Babelfish for Aurora PostgreSQL作为目标端点进行AWS DMS迁移。详情请参见将微软SQL Server数据库作为AWS DMS的来源和将PostgreSQL数据库作为AWS Database Migration Service的目标。使用Babelfish Compass生成根据操作系统进行评估报告。使用SQL Server Management StudioSSMS生成所有要迁移至Babelfish for Aurora PostgreSQL的表,然后使用SSMS连接至Babelfish数据库,并运行那些脚本以在目标上创建表。详情请参见在迁移之前准备并创建表。

SQL Server向Babelfish for Aurora PostgreSQL的迁移流程

完成以下高层步骤,以使用AWS DMS将数据从SQL Server迁移至Babelfish for Aurora PostgreSQL:

配置你的SQL Server数据库和表以供AWS DMS复制或微软变更数据捕捉CDC。详情请参见使用SQL Server来源的持续复制的先决条件。创建AWS DMS复制实例。欲了解如何选择适合数据迁移的实例类别,请参见选择适合的AWS DMS复制实例类别。创建AWS DMS源端点以供SQL Server使用。欲了解AWS DMS源端点设置的更多信息,请参见使用自管理的SQL Server AlwaysOn可用性组。配置并验证Babelfish for Aurora PostgreSQL数据库的AWS DMS用户账户。所有目标表应该已在之前的步骤中创建。连接至Aurora PostgreSQLCompatible的babelfishdb数据库以验证目标对象的存在。配置AWS DMS的目标端点,设置DatabaseMode=Babelfish BabelfishDatabaseName=lt用户的babelfish数据库gt。创建AWS DMS全量加载和CDC的迁移任务。在前面的步骤中之前创建的目标表中,将targetTablePrepMode设置为DoNothing。验证AWS DMS复制任务状态。欲了解更多监控AWS DMS任务状态和指标的信息,请参见监控AWS DMS任务。

最佳实践

使用AWS DMS将数据复制至Babelfish for Aurora PostgreSQL时,请考虑以下最佳实践:

考虑在迁移所有数据后创建外键,但在切换应用程序流量至Babelfish for Aurora PostgreSQL之前。如果希望在目标表上的导入数据时不删除外键,请确保表映射包括根据外键强制的关联性设置的loadorder。当复制包含LOB列的大表或大量数据时,应考虑在开始迁移前删除目标表上的索引。这样可以显著加快AWS DMS的数据加载过程。

使用PostgreSQL 15作为来源

PostgreSQL是最常用的开源数据库之一。在AWS DMS 351中,我们启用了对PostgreSQL 15x的源和目标支持。现在你可以轻松地在PostgreSQL 15x间迁移工作负载。

PostgreSQL 15包含许多新功能和增强,访问PostgreSQL社区公告了解详细信息。AWS DMS支持复制SQL的MERGE命令,该命令已在PostgreSQL 15中引入。欲了解AWS DMS在PostgreSQL中使用的限制,请参见使用PostgreSQL数据库作为DMS来源的限制。

使用Redshift Serverless丛集作为目标

Amazon Redshift是云端数据仓库,能够帮助用户从数据中获取新的洞察。使用Redshift Serverless,用户可以运行和扩展分析,而无需提供和管理数据仓库集群。

从AWS DMS 351开始,AWS DMS增加了对Redshift Serverless的新目标端点的支持。您现在可以使用AWS DMS将工作负载迁移到Redshift Serverless。

请注意,AWS DMS支持Redshift Serverless作为目标的地区,是Redshift Serverless普遍可用的区域。

在本部分中,我们将介绍如何为AWS DMS创建Redshift Serverless目标端点。

创建Redshift Serverless目标端点

创建Redshift Serverless目标端点的步骤如下:

在AWS DMS控制台中,选择导航窗格中的端点。选择创建端点。选择目标端点。在端点标识符中输入名称,例如redshiftserverless。输入可选的描述性Amazon Resource NameARN。在目标引擎中,选择Amazon Redshift Serverless。

在伺服器名称中输入资料伺服器名称。提供工作组端点作为伺服器名称及其他连接详细信息。请参见下图的示例。

输入端口和连接详情。

选择创建端点。请参考“创建端点”页面中的示例字段的截图。

创建AWS DMS迁移任务

要将数据从源数据库迁移至目标数据库,您需要创建AWS DMS任务。完成以下步骤:

魔方vnp加速器在AWS DMS控制台中,选择数据库迁移任务。选择创建任务。在任务标识符中输入名称,例如redshiftserverlessmigration。输入可选描述。在复制实例中,选择您创建的目标数据库端点。在源数据库端点中,选择现有的源端点。在迁移类型中,根据需要选择类型本文章中选择迁移现有数据。选择运行AWS DMS 351的复制实例。指定您的任务设置、表映射和其他选项。创建您的任务。

我们将在未来版本中持续增强这一端点的支持。欲查看此端点的所有AWS DMS限制,请参见使用Amazon Redshift Serverless作为目标的限制。

欲了解如何使用Redshift Serverless端点的更多信息,请参见将AWS DMS与Amazon Redshift Serverless作为目标进行使用。

使用Amazon DocumentDB弹性丛集作为分片集合的目标

AWS DMS现在支持Amazon DocumentDB弹性丛集作为目标端点。通过弹性丛集,您可以将工作负载分布在各个分片之间,以支持每秒数百万次读写。弹性丛集还简化了Amazon DocumentDB的扩展,无需选择、管理或升级实例。

在本部分中,我们将分享使用Amazon DocumentDB弹性丛集目标端点与AWS DMS的概览。

前提条件

确保您拥有以下前提条件:

一个具有所需分片数量的Amazon DocumentDB弹性丛集。参见创建弹性丛集了解详细信息。目标Amazon DocumentDB弹性丛集上的所有必需集合。根据需要指定分片键,并选择现有来源DB分片键或您选择的替代键。

例如,在以下代码中,我们使用userid作为分片键,将位于shardtestdb中的bulkload集合从Amazon DocumentDB迁移至Amazon DocumentDB弹性丛集:

shellmongosgt use shardtestdbswitched to db shardtestdbmongosgt dbshardtestdbmongosgt shshardCollection(shardtestdbbulkload {useridhashed}){ ok 1 }

创建来源和目标端点

在创建您的复制实例后,创建来源和目标端点。对于本文,我们创建一个Amazon DocumentDB的来源端点和一个Amazon DocumentDB弹性丛集的目标端点。参见Amazon DocumentDB弹性丛集目标了解更多详细信息。完成以下步骤以创建端点:

在AWS DMS控制台中,选择导航窗格中的端点。选择创建端点。对于端点类型,选择来源端点并输入以下信息: 端点标识符,为您的端点输入一个名称。源引擎,选择Amazon DocumentDB与MongoDB兼容。指定数据库详情以允许AWS DMS访问数据库。指定要迁移的数据库。对于元数据模式选择文档。添加Amazon DocumentDB的ECA。创建另一个端点。对于端点类型,选择目标端点并输入以下信息: 端点标识符,为您的端点输入一个名称。目标引擎,选择Amazon DocumentDB与MongoDB兼容。指定您的弹性丛集详细信息以允许AWS DMS访问数据库。指定要迁移的数据库。添加ECA replicateShardCollections。使用您创建的源和目标端点创建数据库迁移任务,并指定要迁移的表的规则。启动迁移任务。审查表统计信息以验证迁移进度。

![迁移进度统计截图](https//d2908q01vomqb2cloudfrontnet/887309d048beef83ad3eabf

最新文章