通过 Amazon 数据库迁移加速器进行迁移估算的关键注意事项

将某些工作负载(应用程序和数据库)迁移到新的云平台可能在技术上具有挑战性。亚马逊云科技 推出了 亚马逊数据库迁移加速器 (Amazon DMA),以加速和简化您使用 亚马逊云科技 数据库和分析服务的旅程。Amazon DMA 已帮助全球成千上万的客户迁移工作负载。

在这篇文章中,我们分享了 Amazon DMA 的方法和关键注意事项,以准确估计在将现有工作负载迁移到 亚马逊云科技 时对其进行重构或现代化改造所需的工作量。

工作量估计

Amazon DMA 由迁移专家、工具和流程组成,可加快迁移策略、迁移解决方案开发和实施计划,并确保您的内部迁移团队(或亚马逊专业服务或 APN 合作伙伴,如果参与)成功实施异构或跨平台迁移。Amazon DMA 使用三个输入参数来分析工作负载、了解其依赖关系以及将云原生 亚马逊云科技 托管数据库或分析服务或开源目标迁移到工作负载所涉及的复杂性:

  • 工作负载使用的所有数据库对象的数据定义语言 (DDL)
  • 应用程序源代码,包括提取、转换和加载 (ETL) 作业和相关的 SQL 报告
  • 工作负载的架构和使用模式

首先,为了估算重构数据库所需的工作量,Amazon DMA 使用来自 亚马逊云科技 数据库迁移服务 (AW S DM S) 中的 DMS 架构转换 的迁移 评估报告来识别可以自动重构为目标引擎的数据库存储和架构对象,以及需要手动转换的数据库存储和架构对象。Amazon DMA 使用 DMS 架构转换的估计值作为需要手动转换的问题的基准,并深入挖掘需要更多关注的领域,例如动态 SQL 语句或第三方供应商特定的功能。Amazon DMA 会验证以前看到的模式并应用常见的解决方案,包括自动化来优化重构和现代化工作的工作量估算。这与进行测试和验证以得出重构数据库的总体估计值相结合。

其次,Amazon DMA 会估算重构应用程序代码所花费的工作量,并进行手动代码审查。Amazon DMA 评估代码中因底层数据库引擎变化而需要修改的文件或类的复杂性和数量,以及应用程序代码中发现的 SQL 语句的复杂性和数量。然后,Amazon DMS 使用这些指标来创建估算值以修改受影响的代码并重写 SQL 语句以支持所选的目标数据库引擎。

最后,Amazon DMA 考虑了可能增加工作负载迁移工作量或复杂性的其他因素,例如自动测试的可用性和覆盖范围、工作负载依赖关系、设置工作负载运行时环境所需的工作量以及第三方库兼容性。下表列出了 Amazon DMA 团队在估算所分析工作负载的迁移工作时考虑的常见清单项目。

Topic Scope Considerations
Application Layer Database Interaction
  • 应用层是否使用任何第三方框架(例如 Hibernate 或 Microsoft 实体框架)来访问数据库层的数据?如果是,如果数据库中的对象名和数据类型发生变化,是否需要更改任何实体映射?
  • 有自定义的内部数据访问层吗?
SQL Statements
  • 应用程序层中是否有动态构造的 SQL 语句(例如,字符串连接)?
  • 应用层是否使用任何动态 SQL 框架(例如 LINQ)?
  • 是否有任何 SQL 语句存储在应用程序代码之外?例如,XML/文件系统,或在数据库中。
Database Driver Features
  • 应用层是否使用任何自定义或专有驱动程序功能(例如,批量加载库)?
Unit Testing and Code Coverage
  • 有完善的测试框架吗?如果是,代码覆盖级别是多少?
Third-Party Libraries
  • 如果使用第三方库,则在迁移到目标引擎时是否需要考虑任何版本兼容性问题?
Database Issues Identified in the DMS Schema Conversion Results
  • 架构转换结果是否包含缺少补救步骤的问题?
  • 架构转换结果是否包含任何标记为 “复杂” 的问题?(这些是架构转换认为需要付出最大努力才能解决的问题。)
  • 架构转换结果是否包含使用供应商特定功能或第三方产品创建的对象的证据?
  • 架构转换结果中发现的最常出现的操作项是什么,尤其是数据库代码对象的操作项?

结论

在这篇文章中,我们分享了 Amazon DMA 的方法和关键注意事项,以准确估计在将现有工作负载迁移到 亚马逊云科技 时对其进行重构或现代化改造所需的工作量。在接下来的几周内,我们将发布更多有关 Amazon DMA 迁移方法、产品组合(工作负载集合)迁移、生产切换场景等的文章。敬请期待!

如果您计划将工作负载迁移到 亚马逊云科技 数据库和分析服务, 请发送电子邮件 至 DMA-sales@amazon.com 注册补充亚马逊 DMA 咨询服务。


作者简介

迈克尔·斯瓦福 德是亚马逊网络服务 (亚马逊云科技) 的高级解决方案架构师经理,负责管理一支由亚马逊云科技数据库迁移顾问组成的团队,帮助客户从传统的商业数据库迁移出来。

Sharath Gopalappa 是亚马逊网络服务 (亚马逊云科技) 的高级产品经理,致力于通过亚马逊云科技数据库和分析服务帮助组织实现技术投资的现代化。