项目展示
首页 / Our Projects /将 Db2 数据迁移到 Amazon RDS 的数据迁移策略 数据库博客将 Db2 数据迁移到 Amazon RDS 的数据迁移策略 数据库博客
Amazon RDS for Db2 数据迁移策略
关键信息
在本文中,我们将探讨如何将自管理的 Db2 数据库迁移到 Amazon RDS for Db2,涵盖各种迁移策略、方法和最佳实践。结合 AWS 数据库迁移服务DMS和 Db2 迁移工具,我们将为您提供完成迁移所需的步骤和建议。
Amazon 在 reInvent 2023 上宣布了面向 Db2 的 Amazon Relational Database (Amazon RDS)。RDS for Db2 是 Amazon RDS 数据库引擎家族中的最新成员,可以在短短几分钟内在可扩展的硬件上部署 Db2 数据库,以实现最佳性能,并可选择使用多可用区部署以实现高可用性,确保数据在不同可用区的备用数据库实例间同步复制。
本文将阐述使用 Amazon RDS for Db2 内置功能以及 AWS 数据库迁移服务DMS或 Db2 迁移工具Db2MT迁移自管理的 Db2 数据库的步骤。我们首先提供可能采用的各种迁移策略的概述,接着讨论迁移方法,最后总结迁移规划的最佳实践。
迁移策略
迁移策略取决于自管理 Db2 数据库的操作系统。当源数据库和目标数据库的操作系统相同时例如,Linux 到 Linux,我们将其描述为 重托管rehosting。如果源数据库的操作系统与目标数据库不同例如,z/OS 到 Linux,我们将其描述为 重平台replatforming。以下表格总结了基于源数据库底层操作系统的重托管和重平台的细节。
迁移策略重托管重平台备注操作系统Linux其他操作系统如 z/OS、AIX、Windows可以使用本机 IBM Db2 迁移工具、DMS 或第三方工具迁移速度更快更慢重托管更快,因为不需要转换;重平台需转换,所需时间更长Db2 离线恢复是否使用 Db2 备份和恢复;恢复完成前需要停机Db2 在线恢复是否使用 Db2 备份和恢复与滚动恢复结合;需要最少停机,可能更长时间完成Db2 导出或导入是是使用 Db2 导出和导入进行逻辑迁移;因转换而导致重平台时间更长从客户端加载是是使用 Db2从 Amazon S3 加载是是重平台速度快AWS DMS是是复制IBM CDC 复制是是复制IBM Q 复制是是复制元数据保真度高中重平台需额外关注保真度数据质量高中重平台需额外关注数据质量易用性简单复杂重托管更容易实施工作量低高重平台需大量投入元数据从源到目标可能因重构数据库模式方法的不同而未准确呈现。例如,可能会缺失身份、序列、隐藏列、检查约束和外键约束的起始点。
使用 Amazon RDS 进行重托管
如果自管理的 Db2 数据库在支持的 Linux 平台上运行使用小端,您可以使用 Amazon RDS for Db2 进行重托管。例如,您可以将运行在 Intel、AMD 和 Linux POWER LE小端上的自管理 Db2 从 Linux 重托管,但无法从 AIX、zLinux 或 Windows 进行迁移。
使用 Amazon RDS 进行重平台
当自管理的 Db2 操作系统与 LinuxLE不同时,您将需要将源 Db2 数据库重平台到 Amazon RDS for Db2。如果自管理的 Db2 数据库运行在 AIX、Windows 或 zLinux 等操作系统上,则可以使用 Amazon RDS for Db2 进行重平台。重平台往往被视为更广泛迁移旅程的第一步,使组织能够快速将其数据库移动到 Amazon RDS for Db2,然后在未来考虑逐步优化或重构。
针对 Amazon RDS for Db2 的重托管和重平台迁移方法
您选择的迁移方法将取决于源 Db2 操作系统的类型和可接受的停机时间。我们建议您通过对合适规模的数据库进行测试迁移,来确定从自管理 Db2 数据库到 Amazon RDS for Db2 的迁移速度,以了解端到端的迁移时间。您可以根据可容忍的停机时间选择一次性迁移或使用日志复制的方法。以下决策树可帮助您根据业务需求选择合适的复制方法。
使用 Amazon RDS 进行重托管
如果自管理的 Db2 数据库运行在受支持的 Linux 发行版上,您可以使用 Amazon RDS for Db2 进行重托管。从 Linux 迁移通常比重平台更简单、更快,因为它没有数据转换。我们依赖 Db2 的本地工具,避免了复杂的数据结构变更和优化。
一次性迁移
如果备份数据库、恢复数据库和切换的整体时间在您可接受的停机时间内,您可以使用一次性迁移。使用 Db2 迁移工具Db2MT将自管理的 Db2 Linux 数据库备份直接复制到 Amazon S3 中,然后在 Amazon RDS for Db2 上恢复。Db2MT 创建您需要完成迁移的脚本,并对备份和恢复进行并行化处理,以加快迁移速度。以下图示展示了解决方案架构。

如果您手动执行迁移,可以调用 RDS for Db2 存储过程 restoredatabase 从 Amazon S3 恢复离线备份。
使用日志复制进行迁移
如果通过初次测试迁移测量的迁移时间超过可接受的停机时间,您可以使用日志复制方法进行迁移,从自管理的 Db2 Linux 迁移到 Amazon RDS for Db2,并采用 A/B 部署方法。在此方法中,可以同时使用新的 RDS for Db2 数据库A与旧数据库B并在准备就绪时进行切换。
Db2MT 提供从自管理的 Db2 Linux 数据库在线备份直接到 Amazon S3 的步骤,然后在 Amazon RDS for Db2 上进行恢复,与前面的部分所述相同。Db2MT 还提供定期将日志存档到 Amazon S3 的步骤,然后将日志应用于 RDS for Db2 数据库,同时保持数据库处于滚动恢复待处理模式。当您准备好进行最终切换时,可以完成 滚动恢复 操作。以下图示展示了该解决方案架构。
您可以使用 RDS for Db2 存储过程 restoredatabase 来恢复在线备份图像,并将 backuptype 设置为 ONLINE。您可以使用 RDS for Db2 存储过程 rollforwarddatabase 来应用归档日志。当您准备好进行切换时,可以运行存储过程 completerollforward 来完成数据库恢复并使 RDS for Db2 数据库可用于连接。
使用 Amazon RDS 进行重平台
另一个关键挑战是以快速和接近零停机时间的方式迁移来自 AIX、Windows 和主机的 Db2 数据。与重托管相比,重平台需要更多时间,因为您无法从 AIX、Windows 和主机 Db2 的 Linux 恢复 Db2 备份图像,原因在于小端和大端之间的差异。
加速器 下载您需要从源 Db2 数据库中提取元数据,然后将其应用于 Amazon RDS for Db2。最佳方法是使用本机工具 db2look,它提供了比使用第三方工具的其他反向工程方法更高的元数据保真度。
您可以使用 Db2 本机工具,例如 export 来卸载数据,并使用本机工具如 import 或 load 将其迁移到 RDS for Db2 数据库中。请参阅下图了解迁移速度的对比。
AWS DMS 是一种托管服务,可以简化将自管理的 Db2 数据库迁移到 Amazon RDS for Db2 的过程。AWS DMS 已经宣布支持 Db2 作为 目标端点,并支持针对 Amazon RDS for Db2 的完全加载和变更数据捕获CDC迁移模式。
另外,Db2MT 允许您提取元数据并卸载数据。您可以使用元数据创建数据库对象,然后使用 Db2MT 直接从 Amazon S3 向 Amazon RDS for Db2 加载数据。这些任务是自动化的,您可以使用简单的 Db2MT 命令发起每个任务,而无需深入了解提取和并行化过程的复杂性。
我们建议通过对适当规模的数据库进行样本迁移来确定迁移速度。这有助于您判断是否应使用一次性迁移或使用日志复制。
一次性迁移
如果切换包括在内的总时间在您可接受的停机时间内,您可以选择一次性迁移。我们建议使用 Db2MT 从 AIX 或 Windows 迁移并将数据加载到 Amazon RDS for Db2。以下图示展示了解决方案架构。
Amazon RDS for Db2 natively supports loading data directly from Amazon S3。Db2MT 通过使用 storage access 和 DB2REMOTE 标识符来直接从 Amazon S3 加载数据,您只需使用与 Amazon RDS for Db2 连接的 Db2 客户端即可。
使用日志复制进行迁移
如果通过初次测试迁移测量的迁移时间超出停机窗口,您可以使用日志复制方法,将自管理的 Db2 从 AIX 或 Windows 迁移到 Amazon RDS for Db2。
按照之前使用 Db2MT 完成一次性迁移的步骤,您可以使用以下方法中的一种来实现接近零停机时间的迁移:
AWS DMS AWS 将 Db2 作为源和目标进行支持。使用 AWS DMS 复制实例,您可以将源 Db2 数据库中的更改同步到 Amazon RDS for Db2。IBM Q 复制 您可以使用 IBM Q 复制 来实现从 AIX、Windows 和主机 Db2在 Linux 上运行进行近乎零停机时间的迁移。以下图示展示了解决方案架构。
迁移项目规划
数据迁移过程需要仔细的规划,以确保元数据的保真度、数据的完整性和质量、性能关注、成本管理和与已有 Amazon RDS 服务如 AWS DMS的集成,同时还要处理遗留应用程序支持、网络带宽、业务连续性和灾难恢复以及安全访问等问题。每项迁移任务都值得制定详细的项目计划,包括以下阶段:
准备与规划:分析数据库大小和复杂性 了解数据库的大小和数据的复杂性。这有助于估算所需的时间和资源。确定高峰和非高峰时段 在非高峰时段安排迁移,以降低对用户的影响。
测试:
测试迁移过程 在暂存环境中进行彻底的测试,以识别潜在问题并优化迁移过程。性能测试 在负载下测试迁移过程,以确保其能够高效处理实际数据传输。
增量迁移:
分阶段迁移数据 考虑将所有数据分成较小的块,而不是一次迁移所有数据。这种方法能降低风险并提升速度。复制 使用数据库复制保持新数据库与旧数据库同步,直至最终切换。
监控与备份:
持续监控 仔细监控迁移过程中的任何问题或性能瓶颈。备份 一直保持原始数据库的备份,以便在出现问题时进行回退。
最终切换与验证:
切换 确保准确转移所有数据并且新系统准备就绪后,进行最终切换。迁移后验证 进行彻底检查,以确保数据的完整性和新系统的性能。每次数据库迁移都是独特的,前述策略应根据您特定的情况和需求进行调整。此外,涉及一支经验丰富的数据库管理员和工程师团队,对实现平稳高效的迁移过程至关重要。
结论
在本文中,我们展示了重托管和重平台策略,以便将 Db2 迁移到 Amazon RDS for Db2。重托管代表了一种直接、节约时间的方法,适合希望使用 Db2MT 最小修改现有系统的组织转移至 Amazon RDS for Db2。而重平台策略则使用 AWS DMS 的完全加载和 CDC 或者 Db2MT 配合 IBM Q 复制。
这两种策略都提供了完全受管理的 Amazon RDS for Db2 的即时优势,例如增强的可扩展性和潜在的成本节省,而无需对应用程序的核心架构或功能进行复杂更改。利用 Amazon RDS 进行重托管或重平台,为您前往 AWS 的旅程奠定了基础,并为未来的现代化和优化措施做好了铺垫。
我们欢迎您对本文发表评论,并提供对 Amazon RDS for Db2 的未来文章的建议。请查看 Amazon RDS for Db2 用户指南 以了解更多关于该服务的信息。
搜索
最新内容
释放神经多样性人才的潜力 培训与认证博客
超过11000人受到Datavant泄露事件的影响 媒体
涉及Illumina iSeq 100 DNA测序仪缺陷的恶意软件注入的可能性 媒体
提升数据库性能,使用 Amazon RDS 专用日志卷 数据库博客
将 Db2 数据迁移到 Amazon RDS 的数据迁移策略 数据库博客
如何Indeed在Amazon SageMaker上构建和部署微调的LLM 机器学习博客