本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
了解转化评估报告指标
转换评估报告分析您的源数据库引擎和目标数据库引擎之间的不兼容性。它确定 DMS Schema Conversion 可以自动转换哪些数据库对象,以及哪些数据库对象需要手动操作才能完成向目标数据库引擎的转换。
该报告反映了您的迁移项目的当前状态。在您运行评估后,该报告会显示 DMS Schema Conversion 确定的所有操作项目以及可使用生成式 AI 进行转换的候选数据库对象。运行转换后,报告会显示仍需要手动解析的操作项目,并标记 DMS Schema Conversion 使用生成式 AI 转换的数据库对象,以便您可以验证生成的代码。
建议进行评估,但它是可选的。运行转化操作后,还可以使用评估提供的相同转化统计信息、操作项和复杂性类别。在转换架构之前,您无需进行评估。
复杂性类别
DMS Schema Conversion 根据将对象转换为目标数据库引擎所需的手动工作量,将每个数据库对象分为四个复杂性类别之一。摘要选项卡和摘要 CSV 文件报告每种对象类型(例如表、视图、过程、触发器、索引、约束和序列)的每个类别中的数据库对象的数量。
| 类别 | 说明 |
|---|---|
| 已自动转换 | DMS 架构转换无需任何手动操作即可将数据库对象转换为目标数据库引擎。这些数据库对象没有关联的操作项。 |
| 简单的动作 | 数据库对象有一个或多个需要手动操作的操作项,但是解析这些操作项所需要的精力相对较小。 |
| Medium-complexity 行动 | 数据库对象的操作项需要适度的手动操作才能解决,例如重写该对象的部分逻辑以使其与目标数据库引擎兼容。 |
| 复杂操作 | 数据库对象的操作项需要大量的手动操作才能解决,例如重新设计该对象的逻辑以使其与目标数据库引擎一起使用。 |
DMS 架构转换根据适用于数据库对象的操作项来确定数据库对象的类别。没有操作项的数据库对象会自动转换。具有一个或多个操作项的数据库对象按这些操作项中最高的复杂度进行分类,例如,具有简单操作项和中等复杂度操作项的数据库对象被归类为中等复杂度。请注意,如果包含许多简单操作项的工作量值之和超过复杂操作项的工作量阈值,则这些数据库对象也可以归类为复杂操作项。
您可以从报告中导出的摘要 CSV 文件(参见保存评测报告)使用以下列标题报告这些类别,每种对象类型占一行:Category、Number of objects、Objects automatically converted、Objects with
simple actions、Objects with medium-complexity
actions、Objects with complex actions、和Total lines of code。
工作量估计
对于每个操作项目,转换评估报告提供了两个工作量估算值,这两个估计值共同表明转换受影响的数据库对象需要多少手动工作:
-
学习曲线工作量 — 为给定操作项类型设计转化方法的一次性成本。无论有多少数据库对象受到该类型问题的影响,每种操作项类型都要执行一次此操作。
-
转化某一事件的努力量 — 按照您设计的转换方法转换操作项的每一次发生的成本。对于每个受操作项影响的数据库对象,您都要承担一次此项工作。
DMS Schema Conversion 会在 Action_Items_Summary CSV 文件中报告两个工作量值,以及每种操作项类型的架构、操作项目、出现次数、措施项描述和建议的操作。有关此文件的更多信息,请参阅保存 DMS 架构转换的转化评估报告。
工作量值使用加权量表,范围从低(最少的努力)到高(最大努力)。使用这些值以及出现次数来估计解决每种操作项类型所需的总工作量。有关计算总工作量的更多信息,请参阅使用转化评估报告进行迁移规划。
操作项目代码
转化评估报告中的每个操作项都有一个操作项代码,即对转化问题的特定类型进行分类的数字标识符。DMS Schema Conversion 为同一问题类型的每次出现分配相同的代码,因此您可以使用该代码对数据库对象中的相关操作项进行分组和跟踪。
下表显示了转化评估样本报告中的三个操作项代码,说明了代码如何跨越不同的复杂性级别。
| 代码 | 说明 | 复杂度 | 推荐操作 |
|---|---|---|---|
| 5075 | PostgreSQL 不支持视图的 WITH READ ONLY 子句 | 简单的动作 | 修改代码以使用没有子查询限制条款的视图。 |
| 5201 | PostgreSQL 不支持这种分区类型 | Medium-complexity 行动 | 手动转换您的源代码。 |
| 5340 | DMS SC 无法转换函数 | 复杂操作 | 修改您的代码以使用其他函数或创建用户定义的函数。 |
操作项代码不遵循与特定复杂性类别或数据库对象类型相对应的编号方案。要查找特定代码的复杂性类别、工作量估算值和建议的操作,请参阅 Action_Items_Summary CSV 文件或 AWS DMS 控制台中的操作项目选项卡。
转化统计数据和 SQL 指标
除了报告每种对象类型的复杂性类别外,“摘要” 选项卡和 “摘要 CSV 文件”(参见保存评测报告)还会报告整个源架构的以下聚合统计信息:
-
存储对象数量 — 架构中数据库存储对象的总数,例如表、索引、约束和序列,以及其中有多少 DMS 架构转换自动转换。
-
代码对象数 -架构中数据库代码对象的总数,例如过程、函数、视图和触发器,以及其中有多少 DMS 架构转换自动转换。
-
总代码行数 -每种对象类型的数据库对象中源代码的行数。DMS 架构转换会在摘要 CSV 文件中报告每种对象类型的此值,这样您就可以衡量架构中每种对象类型的相对大小。
-
SQL 语法元素数量 — DMS Schema Conversion 在所有数据库对象上解析的 SQL 语法结构的总数,以及它自动转换的这些构造的数量。单个数据库对象可以包含许多 SQL 语法元素,因此该值通常远大于存储和代码对象的数量。将其用作对架构中转化覆盖率的更精细的衡量标准。
摘要 CSV 文件将存储对象数量、代码对象计数和 SQL 语法元素编号作为其自己的行进行报告,同时还会报告架构中每种数据库对象类型的行。例如,报告可能显示 a 为 747,Storage_objects_count其中有 663 个对象自动转换;a Code_objects_count 为 253,显示 213 个对象;a 为 178091,自动转换了 176745 个元素。SQL_syntax_elements_number报告中的具体数字取决于源架构的大小和复杂性。
对于每种对象类型(例如表、视图、过程、触发器、索引、约束和序列),摘要报告该类型对象的数量以及这些对象在四个复杂性类别中的分布情况:自动转换、简单操作、中等复杂度操作和复杂操作。例如,一份报告可能总共显示 474 个表格,其中 379 个是自动转换的,29 个是简单操作的,6 个是中等复杂度的操作,60 个是复杂操作的。比较对象类型的分布情况可以帮助您确定架构中哪些类型的对象需要最多的手动转换工作。有关复杂性类别的更多信息,请参阅复杂性类别。
要使用这些统计数据来估算迁移的总体范围,请参阅使用转化评估报告进行迁移规划。