数据库发现
DMS Fleet Advisor 从多个数据库环境收集数据,以深入了解您的数据基础设施。DMS Fleet Advisor 从一个或多个中心位置,从您的本地数据库和分析服务器收集数据,无需将其安装在每台计算机上。目前,DMS Fleet Advisor 支持 Microsoft SQL Server、MySQL、Oracle 和 PostgreSQL 数据库服务器。
根据从您的网络中发现的数据,DMS Fleet Advisor 会构建一份清单,供您查看以确定要监控哪些数据库服务器和对象。收集有关这些服务器、数据库和架构的详细信息后,您可以分析目标数据库迁移的可行性。
架构和代码迁移
中的 DMS 架构转换 AWS DMS 使不同类型的数据库之间的数据库迁移更具可预测性。您可以使用 DMS 架构转换来评估源数据提供程序的迁移复杂性,然后使用它来转换数据库架构和代码对象。然后,您可以将转换后的代码应用于目标数据库。
简而言之,DMS 架构转换由以下三个组件运行:实例配置文件、数据提供程序和迁移项目。
实例配置文件
指定网络和安全设置。
数据提供程序
存储数据库连接凭证。
迁移项目
包含数据提供程序、实例配置文件和迁移规则。 AWS DMS 使用数据提供器和实例配置文件来设计转换数据库架构和代码对象的流程。
单个复制实例可以托管一个或多个复制任务,具体取决于您的迁移特征和复制服务器的容量。 AWS DMS 提供了各种复制实例,因此您可以根据自己的用例选择最佳配置。有关各类复制实例的更多信息,请参阅
为您的迁移选择正确的 AWS DMS 复制实例
。
AWS DMS 在 Amazon EC2 实例上创建复制实例。一些较小的实例类足够用于测试服务或小型迁移。如果您的迁移涉及大量表,或者您打算同时运行多个复制任务,则应考虑使用较大的实例之一。建议使用这种方法,因为 AWS DMS 可能会占用大量内存和 CPU。
根据所选的 Amazon EC2 实例类,您的复制实例附带 50 GB 或 100 GB 的数据存储。对于大多数客户,此数量通常已足够使用。但是,如果您的迁移涉及大型事务或大量数据更改,则可能需要增加基本存储分配。更改数据捕获 (CDC) 可能会导致数据被写入磁盘,具体取决于目标写入更改的速度。由于日志文件也会写入磁盘,因此提高日志记录的严重性级别也会导致更高的存储消耗。
AWS DMS 可以使用多可用区部署提供高可用性和故障转移支持。在多可用区部署中,在不同的可用区域中 AWS DMS 自动配置和维护复制实例的备用副本。主复制实例将同步复制到备用副本。如果主复制实例发生故障或没有响应,备用副本将以最少中断恢复任何正在运行的任务。由于主复制实例会不断将其状态复制到备用副本中,因此多可用区部署会产生一些性能开销。
有关 AWS DMS 复制实例的更多详细信息,请参阅
使用 AWS DMS 复制实例
。
您可以使用 AWS DMS Serverless 自动 AWS DMS 配置复制,而不必创建和管理复制实例。有关更多信息,请参阅
使用无 AWS DMS 服务器
。
AWS DMS 使用端点访问您的源或目标数据存储。根据您的数据存储,特定连接信息会有所不同,但通常,您在创建终端节点时会提供以下信息:
凭证 – 具有所需访问权限的账户的用户名和密码。
使用 AWS DMS 控制台创建终端节点时,控制台要求您测试终端节点连接。在 AWS DMS 任务中使用终端节点之前,测试必须成功。与连接信息相似,不同引擎类型的特定测试标准不同。一般而言, AWS DMS 会验证给定服务器名称和端口处是否存在数据库以及提供的凭证是否可用于连接数据库,并具有执行迁移所需的必要权限。如果连接测试成功,则会 AWS DMS 下载并存储架构信息,以便稍后在任务配置期间使用。例如,架构信息可能包括表定义、主键定义和唯一键定义。
多个复制任务可以使用单个终端节点。例如,您可能有两个在逻辑上不同的应用程序托管在要单独迁移的同一源数据库中。此种情况下,您将创建两个复制任务,每组应用程序表对应一个复制任务。您可以在两个任务中使用相同的 AWS DMS 终端节点。
您可以使用端点设置自定义端点的行为。
端点设置
可以控制多种行为,如日志记录详细信息、文件大小以及其他参数。每种数据存储引擎类型都有不同的端点设置可用。您可以在各个数据存储的源或目标部分中,查找该数据存储的特定端点设置。有关支持的源和目标数据存储的列表,请参阅
的来源 AWS DMS
和
的目标 AWS DMS
。
有关 AWS DMS 终端节点的更多详细信息,请参阅
使用 AWS DMS 端点
。
您可以使用 AWS DMS 复制任务将一组数据从源终端节点移动到目标终端节点。创建复制任务是在开始迁移之前需要执行的最后一步。
当您创建复制任务时,需要指定以下任务设置:
完全加载(迁移现有数据)– 如果您可以承受足够长时间的中断来复制现有数据,则适合选择此选项。该选项仅将数据从您的源数据库迁移到目标数据库,在需要时创建表。
完全加载 + CDC(迁移现有数据和复制持续更改)– 此选项执行完整数据加载,同时捕获源上的更改。在完全加载完成后,将捕获的更改应用到目标。最终更改应用达到稳态。此时您可以关闭应用程序,让剩余的更改传播到目标,然后重新启动应用程序并指向目标。
仅 CDC(仅复制数据更改)– 在某些情况下,使用 AWS DMS之外的方法复制现有数据可能会更高效。例如,在同构迁移中,使用本机导出和导入工具可能会在加载批量数据时更有效。在这种情况下,您可以使用复制更改 AWS DMS ,从开始批量加载开始,使源数据库和目标数据库保持同步。
目标表准备模式选项,如下所列。有关目标表模式的完整说明,请参阅
创建任务
。
不包括 LOB 列 – 从迁移操作中排除 LOB 列。
完整 LOB 模式 — 无论大小如何,都迁移完整的 LOB。 AWS DMS
按最大 LOB 大小参数控制的区块分段迁移 LOB。
此模式比受限 LOB 模式的速度要慢。
受限 LOB 模式 – 按
最大 LOB 大小
参数指定的值截断 LOB。此模式比使用完整 LOB 模式的速度要快。
表映射 – 指示要迁移的表及其迁移方式。有关更多信息,请参阅
使用表映射指定任务设置
。
数据转换,如下所列。有关数据转换的更多信息,请参阅
使用 JSON 指定表选择和转换规则
。
亚马逊 CloudWatch 日志
您可以使用任务将数据从源终端节点迁移到目标终端节点,任务处理在复制实例上完成。您可以指定要迁移的表和架构以及任何特殊处理,例如,日志记录要求、控制表数据和错误处理。
从概念上讲, AWS DMS 复制任务执行两个不同的功能,如下图所示。
完全加载过程非常简单明了,易于理解。从源中以批量提取方式提取数据,并将其直接加载到目标中。您可以在 AWS DMS 控制台的 “
高级设置”
下指定要并行提取和加载的表的数量。
有关 AWS DMS 任务的更多信息,请参阅
使用 AWS DMS 任务
。
持续复制,或更改数据捕获 (CDC)