

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 第 1 阶段：准备
<a name="preparation-phase"></a>

 数据库迁移过程的第一阶段是准备工作。在准备过程中，您可以确定应用程序和数据库之间的相互依赖关系。您还可以分析数据库工作负载以确定迁移类别：从简单的重新托管（同构）迁移到重新架构（异构）迁移。如果不完成此阶段，您可能会面临迁移时间延迟的风险。

下文将讨论这些任务：
+ [确定依赖关系](id-dependencies.md)
+ [鉴定工作负载](qualify-workloads.md)

# 确定依赖关系
<a name="id-dependencies"></a>

 首先，您可通过提出以下问题来确定应用程序和数据库的依赖关系：
+ 任何其他应用程序是否可以直接访问此数据库？

  如果是，则应确定迁移数据库会如何影响该应用程序。如果您要重新托管数据库，则需要确保应用程序仍能以可接受的性能访问数据库。
+ 该应用程序是否直接访问任何其他数据库？

  如果是，请确定另一个数据库的迁移计划。如果它也在迁移，则需要相应地对应用程序进行更新。如果它没有迁移，则需要确保应用程序能够以可接受的延迟继续连接到它。
+ 数据库是否使用数据库链接从其他数据库获取数据？ 

  与上一点一样，确定另一个数据库的迁移计划并相应地处理链接。
+ 该应用程序是否依赖于任何本地软件？ 

  如果是，则应确定该软件的迁移计划。如果正在迁移，则需要相应地对应用程序进行更新。如果不是，请确保应用程序可以继续连接到软件，并且延迟是可以接受的。
+ 是否存在任何硬件依赖关系？ 

  如果是，请制定计划来解决这些问题。
+ 是否有任何严格的带宽或网络要求？ 

  如果是，请选择可以帮助您满足这些要求的 AWS 服务。
+ 该应用程序是否使用任何特殊的数据库引擎选项或功能？

  如果您要迁移到其他数据库引擎，则需要相应地更新应用程序。

如果这些问题的答案很复杂，更好的选择则是使用微服务将数据库与应用程序解耦。这样，应用程序就可以通过调用微服务来获取数据，而非直接连接到数据库。

# 鉴定工作负载
<a name="qualify-workloads"></a>

 要确定数据库的最佳迁移策略，了解当前的数据库工作负载非常重要。您需要分析您的数据库，以确定您当前正在使用哪些功能，以及迁移到其他云原生数据库引擎（例如 [Amazon Aurora PostgreSQL](https://aws.amazon.com/rds/aurora/)）时涉及哪些功能。

AWS 提供了一种名为 AWS 工作负载资格框架 (AWSWQF)的工作负载认证工具。该工具通过分析数据库架构和代码对象、应用程序代码、依赖关系、性能特征和类似输入，可以帮助确定 Oracle 和 Microsoft SQL Server 数据库迁移的复杂性。WQF 提供有关目标数据库引擎的建议。它还估计所涉及的工作类型和所需的工作量。

WQF 会评估您的迁移工作负载，并将其归入下表所概述的五个工作负载类别之一。

 ![\[Five migration workload categories reported by WQF\]](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/strategy-database-migration/images/wqf-categories.png) 
+ **类别 1：**使用开放式数据库连接（ODBC）或 Java 数据库连接（JDBC），而非专有驱动程序来连接数据库的工作负载。此类别通常具有用于访问控制的简单存储过程。转换只需不到 50 项手动更改。
+ **类别 2：**较少使用专有功能且不使用高级 SQL 语言功能的工作负载。此类工作负载需要不到 200 项手动更改。
+ **类别 3：**大量使用专有功能的工作负载。此类别中的工作负载完全由高级存储过程逻辑或专有功能驱动。此类工作负载需要 200 多项手动更改，这些更改涉及驻留在数据库中的代码和功能。
+ **类别 4：**特定于引擎的工作负载 此类别中的工作负载使用仅适用于特定商用数据库引擎的框架。例如，这些框架包括 Oracle Forms、Oracle Reports、Oracle Application Development Framework (ADF)、 Oracle Application Express (APEX),或广泛使用 .NET ActiveRecord 的应用程序。
+ **类别 5：**不可移植的、不可接受的风险或“简单搬运”工作负载 此类别中的工作负载可能在并无基于云的等效项的数据库引擎上实现。在某些情况下，您可能并无这些程序的源代码。

这种分类可以帮助您确定应用程序的迁移路径，正如我们将在[第 2 阶段：规划](planning-phase.md)一节中讨论的那样。

AWS 目前不提供 AWS WQF 下载。如果您在评估使用 AWS WQF 向 AWS 迁移时需要帮助，则我们建议开具支持工单。AWS 将直接与您接触，以帮助您完成该流程。