首页 / 新闻

05.

27

2017

Governor中的元数据血缘关系和影响分析

技术博客

目前企业大数据系统的规模通常十分庞大,容量达TB级、PB级而且向EB级发展,某些系统甚至会在一夜间增长TB级的数据量。在数据不断膨胀,系统持续扩展的过程中,不同元数据之间形成了纵横交错的联系,构成了一张极为复杂的关系网图。从这张图中如何找到我们感兴趣或者值得关注的一部分?如果数据出现了错误,如何快速的锁定引发问题的原因?如何发现哪些实体会受到问题的牵连或改动的影响?这些问题对于大规模的企业级数据平台带来了挑战和压力。

 

对于上述问题的解决


有效解决上述几项问题,具有很重要的现实意义。例如在进行数据科学分析时,如果数据本身不可靠,构建再好的模型也不能提供准确的预测分析。当错误的数据产生了糟糕结果时,如果通过调试从海量数据中发现原因,将会耗费大量的精力,这对于业务人员或者数据科学家而言,显然是一种资源浪费,因为他们应该把更多的时间放在数据分析和科学计算上。所以能够提供有效的元数据管理,自动追踪数据流动和数据关系,提供数据血缘和影响分析图谱,对于提升大数据平台自身实用价值而言,是很有必要的。

数据血缘和影响分析属于数据治理概念的一部分。数据治理是指组织内部通过建立一套标准体系,来规范数据定义,控制数据输出,从而方便数据审计,确保数据质量,是用于改善数据管理、应用方式的一套机制。数据血缘和影响分析作为其中的功能,发挥着帮助用户审视数据关系,溯源数据错误,预测改动影响的作用。

 

Governor中的血缘关系和影响分析


元数据血缘关系和影响分析,这两个功能在TDH 5.0的数据治理工具Transwarp Governor中被引入。Governor通过整合分散在各个系统、应用、数据库等不同数据源中的元数据,将它们集中在一起,提供统一的元数据查询管理接口。

通过元数据追踪,Governor记录了每一次元数据转化的输入与输出,从表级和列级两个粒度上,描述多表间的关系,为数据平台中的元数据勾勒出一幅完整的数据流动变化关系图谱,使用户更全面的掌握数据,把握数据变化。

1. 血缘关系图

下面是来自于Governor元数据血缘关系图的示例。

血缘图以目标对象的第一代祖先为起点,以目标分析对象为终点,按照转化关系逐层扩展。血缘图直观的展示了目标对象的产生过程,包括从哪些表转换而来,经历了哪些转换,从而帮助推测出它在此过程中被赋予的含义,以及会受到的潜在影响。

2. 影响分析图

这是来自于Governor元数据影响分析图的示例。

影响分析图的起点是当前分析对象,终点是受其影响的最末端子代,按照影响关系逐层扩展。影响分析图反映了当前对象在统一数据集成平台中,参与了哪些元数据的形成。用户可以借助影响分析图观察该对象的影响能力,即对于当前元数据修改,会对哪些后代元数据造成影响。

综合而言,血缘关系和影响分析两个关键特性为用户重建了整个元数据家族的构建过程,刻画了家族成员彼此连接的脉络和途径。当某数据出现错误或者异常时,我们可通过血缘关系图向上分析锁定问题产生的源头;当对某些数据进行修改时,可通过影响关系图向下分析,得到哪些数据实体中的数据会受到影响。Governor还通过提供列级的访问,将追踪的粒度精确到字段。

充分理解并运用这两种图表,将帮助用户在对海量数据进行分析时,降低排查错误的难度,预测并控制即将造成的影响,最终达到提升数据质量的效果。

 

实战演示


这里我们将通过视频中的演示案例,以Governor为例,介绍如何利用血缘关系和影响分析图,对元数据之间的关系进行剖析。

以下是对视频中操作流程的解释:

数据库中有一张表table_demo,现在根据表table_demo再创建一张表table_ctas_demo。

另外create两张新表table1和table2,然后把这两表的值插入table_demo中。

接着来到Governor,找到表table_ctas_demo。它来源于派生自table1和table2的表table_demo,可以看到Governor通过如下的血缘图描绘了上述联系,图中每个箭头表示一个转换关系。例如,table_demo到table_ctas_demo的箭头意味着table_demo是table_ctas_demo的祖先。通过单击箭头,可以得到建立此关系的SQL语句。

另外,还可以选择要在此网络中关注的层次结构。例如,如果选择层次深度1,那么图中将仅显示与table_demo最接近的祖先以及它们之间的关系箭头。

要执行列级分析,需要在表的内部进行单击。然后从出现的完整字段列表中选择感兴趣的列,接着界面会显示出包含目标列(c1)的列级亲缘网络。

经由以上分析,我们可以知道,在进行数据分析时,如果发现元数据table_ctas_demo存在错误,可以将问题根源的检查范围缩小至这三张表:table1、table2、table_demo。

接下来是对table_demo影响分析图的观察过程。操作影响链图的方法血缘分析类似。

由于table_demo参与table_ctas_demo的创建过程,这层关系被恰好反映在如下的影响分析图中。

同样我们可以执行列级的影响分析。图中显示,table_demo的列c1和c3分别影响table_ctas_demo的c1和c3。这确实符合我们在创建表时,语句所设定的逻辑。

因此,当我们因业务所需修改table_demo的字段c1时,就会知道有必要去检查是否需要对表table_ctas_demo做类似修改。

 

结语


Volume(大容量)、Velocity(高速度)、Variety(多元化)是业界普遍接受的关于大数据的三个特性,但是如果数据平台仅仅一味的追求容量的扩增、速度的提升、多元化的发展,而不提供良好的元数据关系管理,将因缺乏对数据的控制审核,而带来混乱和风险,甚至引发灾难。Governor中实现的血缘关系和影响分析图,将有助于监控元数据关系,使数据的发展过程有迹可循,从而在减少资源成本投入的基础上,提供更准确的预测分析,有利于商业智能的发展。

Transwarp Governor将于下月正式交付,敬请期待。

对此篇文章如有任何问题,欢迎以邮件形式联系我们:bigdataopenlab@transwarp.io