共性分析

共性分析功能识别具有大量公共域值的列对。列可能(也可能不)在相同的数据源中,并且可能(也可能不)具有相同的列名称。该功能用来查找相似列和冗余列,并在外键分析功能中使用。

分析技术

共性分析方法是系统比较列对的频率分布数据值以确定在一个列中具有同时也在其他列中具有的公共数据值的百分比。

用户定义要参与到分析中的表或列。系统生成所有可能的列对。(例如,包含对 A-B,但是不包含对 B-A,因为它是 A-B 的冗余对。)生成的列对的总列表要进行列对兼容性测试,该测试将从列表中除去那些列可以预先确定为不能够具有公共数据值的任何对。系统使用多个列属性(例如,数据类型、长度和一般格式等)。那些通过列对兼容性测试的列对将继续进行下一个分析步骤。

对于每个兼容的列对,将第一列中的频率分布数据值与第二列的频率分布数据值进行比较。再次重复该过程,将第二列与第一列进行比较。分析已完成,记录了 A 到 B 以及 B 到 A 共性百分比。然后将计算的百分比与分析选项中适用的公共域阈值百分比进行比较。如果该百分比大于或等于公共域阈值百分比,那么列对(例如,A-B 或 B-A)将标记为公共。

系统功能

用户通过选择要参与到分析中的表或列来启动共性分析。系统使用这些选择来生成每个可能的列对组合的列表。系统然后对列对的完全列表继续执行列对兼容性测试。完成了该步骤后,系统将显示中间结果,该结果包括生成的列对数量以及那些通过或未通过兼容性测试的列队数量的摘要统计信息。系统还将显示已通过兼容性测试并将在下一个分析步骤中使用的列对的详细列表。查看此信息,并决定是继续该过程还是返回到原始数据选择步骤以进行修改。

如果选择继续进行,系统将开始依次比较每个列对的频率分布数据值的过程,直到分析完所有列对为止。该过程将捕获每对的共性百分比和任何已设置的共性标志。分析的一个特点是:如果两个列先前已比较其域值,那么会将它记录在历史记录文件中,并带有执行比较的日期。除非自该日期以后已更新某一列的频率分布,否则系统将使用历史记录文件中的百分比。

当您启动共性复审时,系统将显示这些结果,并对过程中使用的每个表包含一个选项卡。每个选项卡都显示表的列以及已标记为具有公共域值的任何已配对列(例如,任何其他表中的任何其他列)。如果您进行选择,系统还可以显示未标记的对,并可以将列对标记为冗余。下图提供了示例。

图 1. 表的列以及已标记为具有公共域值的任何已配对列的示例
显示表的列以及已标记为具有公共域值的任何已配对列。

用户职责

您通过选择要分析的表或列来启动共性分析过程。

生成列对并执行列对兼容性测试后,系统将向用户显示中间结果。复审那些结果后,决定是继续该过程还是返回到数据选择步骤。

系统完成了共性分析后,请查看结果。每个表及其列都显示在选项卡上,该选项卡显示了与该表中的列具有共性的所有其他列。如果需要,您可以将任何列对标记为包含冗余列。

解释结果

查看中间结果时,请关注两个方面。

  • 首先,估计要在下一个步骤中处理的列对的总数。该数目通常应该为生成的列对总数的 20% 或更少。它还应该是对于所用计算资源的合理工作负载。
  • 其次,验证任何重要的列对是否已成功通过兼容性测试。

复审实际共性结果时,请记住某些列对被标记为公共是您所希望的。每个外键列都应该会导致与其相应的主键列具有共性。这些列对不应该标记为冗余。对于不具有键关系的列对,需要您做出判断来识别真正冗余的列。

决策和操作

共性分析期间,您要作出多个关键决策。

  • 选择要分析的表和列
  • 根据中间结果继续分析
  • 识别真正冗余的列

性能注意事项

共性分析功能的最重要系统性能注意事项是可以作为一个作业合理处理的列对的总数。