BKR体系下的数据血缘指标分析_第1页
BKR体系下的数据血缘指标分析_第2页
BKR体系下的数据血缘指标分析_第3页
BKR体系下的数据血缘指标分析_第4页
BKR体系下的数据血缘指标分析_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

BKR体系下的数据血缘指标分析

王树明吴济胜邓梦航(1.中国烟草总公司湖北省烟草专卖局信息中心湖北省武汉市430030)(2.武汉楚烟信息技术有限公司湖北省武汉市430030)党的十九大报告提出要“推动互联网、大数据、人工智能和实体经济深度融合”[1]。数据成为企业数字化时代的重要资源,它以产品或服务的形态为企业创造价值,为企业转型升级发挥重要作用[2]。数据不是孤立存在的,数据从产生、处理、加工、融合、流转,到最终消亡,会形成一种关系链路,这就是数据血缘[3]。数据血缘分析就是在溯源过程中找到相关数据之间的联系,比如,当数据发生异常,需要能追踪到异常发生的原因,把风险控制在适当的水平[4]。数据血缘分析能帮助我们追踪数据的来源、处理的过程,这对于数据质量的监控、数据处理性能的调优和数据资产价值的评估等,都有非常重要的作用。湖北烟草已经构建了一套覆盖全业务链条的完整数据中心[5],包括一体化数据存储、一体化数据管理和一体化数据分析三部分内容。然而,由于历史、管理等多方面原因,数据中心依然面临数据加工无序、数据获取与开发不规范等现象,血缘分析是规范化数据治理的一个有效工具[6]。1数据中心分层现状传统数据中心的构建包括下面六个层次:最底层是部门的业务数据库(DB),数据经过抽取转换层(ETL)[7]进入操作性数据层(ODS)[8],然后经过明细数据层(DWD)[9],再进入轻度汇总层(DWA)[10],最后进入数据集市(DM)[11]。其中,每层的具体任务如表1所示。表1:数据中心层次结构这种层次结构定义了不同模块的职能划分,有利于数据规范化的管理。但是这种划分形式也存在部分功能重叠的问题,并且过于精细的划分不利于系统的物理实现。湖北烟草数据中心则从项目实施的角度对系统按照操作方式进行了三层划分,即针对传统数据中心的顶上四层,按照BKR体系进行重新分层和命名。BKR体系是描述数据加工、分级存储的体系。其中,B层(Base)是基础业务数据层,K层(KPI,KeyPerformanceIndicators)是关键指标层,R层(Reports)是灵活运用层。BKR体系有着严格的转换规则,以确保数据分层的合理性:K可由B、K加工而成;R可由B、K加工而成;R不能生成R,如图1所示。图1:BKR分层规范BKR体系有着一套严格的命名规范:B表命名相对简单,业务数据接口表入库后,命名为B表;R表命名业务含义明显;K表共享程度高,业务含义也丰富。对数据加工的治理,就是监督和检查BKR是否严格按照规则转换。基于命名规范,机器能够快速甄别出不合理的结构设计。2基于BKR的血缘分析数据血缘(Lineage,Provenance,Pedigree,Consanguinity)亦可译为(血统、起源、世系、谱系)[12],是近几年随着数据库和网络普及而发展起来的一个研究领域。大数据时代,数据爆发性增长,海量的、各种类型的数据在快速产生,这些庞大复杂的数据信息,通过联姻融合、转换变换、流转流通,又生成新的数据,汇聚成数据的海洋。数据的产生、加工融合、流转流通,到最终消亡,数据之间自然会形成一种关系,即数据的血缘关系。与人类社会中的血缘关系不同,数据的血缘关系还包含了一些特有的特征[13]:(1)归属性:特定的数据归属特定的组织或者个人。(2)多源性:数据可以有多个来源,即由多个源头经过加工而成。(3)追溯性:在数据的生命周期内,即从产生到消亡的整个过程中,具备可追溯性。(4)层次性:是血缘分析细腻程度的一个指标,由粗到细分别为:所有者、数据库/文件服务器、表/文件目录、字段/文件。本文是在BKR体系下,针对“表”这个层次的约束关系进行血缘分析。2.1出度与入度数据血缘存在多种分析层级,其中“表”这一级的粒度大小适中,被广泛采用,本文就是针对“表”这个级别进行研究的。本文提到的“数据”就是指BKR体系中的“表”。向数据的上游追溯,查看哪些数据在提供信源,是一种共享性的探查[14]。同时,向数据的下游追溯,查看哪些数据在汇集信息,是一种依赖性的评价。为了定量的描述这两种特性,我们在数据之间增加有向边,即以自身为起点,指向外键所代表的表,如图2所示。表的外键是追溯上游数据的线索,意味着每条线段指向的表,是分享信息的,因此被越多外键指向,即表的入度越大,其共享性也越大。从边的反方向来看,表的外键意味数据依赖于另外一张表,表的外键越多,即表的出度越大,其依赖性也越大。因此,可以用入度来衡量一个数据的共享程度,用出度来衡量一个数据的依赖程度。图2:BKR体系的PageRank模型本研究的设计理念是“高内聚、松耦合”[15],即高共享、低依赖。入度大,意味着数据被更多的表利用,说明数据的共享性好,具有较高的使用价值。出度小,意味着数据来源单纯,依赖性小,易于维护。为了从血缘的角度来评估BKR体系设计的优劣,需要为每一张表建立全局性的指标,来表明其共享程度和依赖程度,为后续系统的迭代和优化提供指导依据。2.2共享指标模型虽然表的共享程度与表的入度正相关,但是直接用入度来代表共享度,只能反应局部属性,因为一张表不仅有前驱数据,还有后续数据,他们都会对这张表在系统中的地位产生影响,所以要想客观的表达当前表格的共享程度,应该从全局的角度来考虑。将BKR系统看成一个有向图,如图2所示,这与网页跳转图的形式非常接近,因此本研究将在经典的网页排名算法PageRank[16]的基础上,计算全局共享指标。PageRank是利用网页的超链接来调整网页的权重,从而给网页进行排名的一种算法。该算法被Google首次引入搜索引擎,用它来计算网页的相关性和重要性,并取得了卓有成效的效果。PageRank的思想是模拟上网者随机打开一个网页,然后通过超链接跳转其他网页的过程,通过计算每个网页的被访问概率来代表网页的重要程度。将图2看作简单的PageRank模型,每张表类似一个网页结点。表1的出度为2,如果以平均概率计算,表1各有1/2的概率到达表2和表3,同理分析表2、表3、表4,得到状态转移矩阵M,其中每一列表示该列所代表的结点到其它结点(行代表的结点)的概率分布。同时,还规定每个结点的访问概率是由指向它的结点的访问概率的累加和,比如:假设每个结点的初始概率都相同,即1/N,N为结点的总数,则每个结点的新概率值就是状态转移矩阵M乘以当前结点的概率向量,向量V0是所有结点的初始概率,向量V1是所有结点的第一次迭代后的概率。每次结点更新后的概率只与上一次的概率有关,这个迭代过程是一个马尔科夫过程[17],该过程被证明具有收敛性。经过若干次迭代后,图2中的结点概率就稳定在[0.31,0.15,0.23,0.31]附近。该数值表明,表1与表4的共享度最高,表3次之,表2最低。这些稳定值并不直接与入度相关,而是一个全局评估后的结果。马尔科夫过程的收敛条件要求跳转关系是强联通图,即从图中任意结点起始,能够到达所有其它结点,如果不满足这个条件,则不能正常收敛[18],图3展示了不能正常收敛的情况。图3:非收敛的情况2.2.1纯输出结点当网络中出现纯输出点,如图3中的表1所示,表1的入度为0,意味表1只有跳出,没有任何跳入,则表1最终的概率只会是0。2.2.2纯输入结点当网络中出现纯输入结点,如图3中的表4所示,表4出度为0,意味着所有的跳转概率都会汇聚到表4,并且不再跳出,则其他表的概率都收敛到0,进而造成表4的概率也收敛到0。上述这几种情况在BKR体系中会经常出现,为了解决这些特殊情况,PageRank算法的改进思路是将状态转移方程用两部分组成,如公式(1)所示。第一部的主体是原状态矩阵计算结果,第二部分的主体表示每个结点以平均概率的方式访问其它结点。两个部分被分别乘以系数α和(1-α),表示状态转移的总体概率是由两个部分加权求和组成。一般α取值0.8。虽然这次改进解决了收敛到0的不正常情况,但是所有结点的概率的累加和并没有收敛到1,究其原因还是因为表4的出度为0。为了解决这个特殊情况,我们提出再次改进的思路,即为出度为0的结点添加一个指向自己的边,如图4中表4所示。图4:给出度为0的结点添加指向自己的边这样概率迭代公式就变为:通过分析新的稳定值,我们发现表4处于共享链条的最顶断,为下游所有结点提供信息,因此共享度最大,而表1则处在共享链条的最低层,不为任何其他结点提供数据,因此共享度最小。同时,表3有两条共享链,分别为表1和表2提供信息,所以比只有1条共享链的表2的共享度大。每个结点都收敛到一个有意义的值,并且收敛值之和为1。至此,通过改进后的算法,我们得到了每张表的基于全局的共享指标。2.3依赖指标模型在BKR体系的血缘分析中,还有一个重要的指标——依赖度。对于图3来说,依赖度与出度正相关。但是与全局共享指标一样,一张表的全局依赖度也受到前驱数据和后续数据的影响。通过分析图3的出度与入度,我们发现“共享”与“依赖”互为对偶关系,因此对图3中共享模型稍作修改,如图5所示,就可以直接套用计算共享指标的方法来计算依赖指标。图5:依赖模型转换为共享模型图3是从外键的视角对表添加有向边,如果从主键的视角添加有向边,则图3可以转换为图5(a),其中表2的主键被表1引用,即绘制从表2到表1的有向边,表示表1对表2有依赖。对其他结点进行类似操作可以发现,将图3中的所有边进行反向,即得到图5(a),此时结点的入度就与依赖度正相关了。为了能够顺利地计算收敛值,将图5(a)中出度为0的表1也添加一个指向自己的边,得到图5(b),接着就可以按照公式(1)来计算全局依赖度了。图5(b)的状态转移矩阵为:经过若干次迭代,图5(b)中的结点概率稳定在[0.782,0.098,0.070,0.050]附近,其中表1的依赖度最大,这符合表1是依赖链关系的起始端的本质。同时,表4的依赖度最小,这也符合表4是依赖关系的末端的本质。3案例分析针对烟草物流领域中的配送业务,进行全局共享度和依赖度的分析。该业务模块包含,仓库信息、货物明细、配送清单、送货车辆、送货任务、送货班组、员工信息、日志记录等19张表格。将该业务数据以外键的视角添加有向边,形成共享链条,用入度表示共享性、出度表示依赖性,通过公式(1)计算得到所有表的依赖指标和共享指标,如图6所示。图6:配送业务指标模型通过观察图6中各表的指标数可以发现,共享值较大的表,主要集中在数据流的主干上,并且越靠近数据流的末尾,共享值越大,如表3、表4、表8、表11、表17、表18,其中表3和表18的共享值更突出一些,因为它俩是数据流的末端。同理,依赖值较大的表分布在数据流的外围,如表0、表1、表2、表6、表9、表10、表12等,就像树冠上的叶片一样,需要主干为其提供更多的支撑。共享指标和依赖指标可以代表每张表在BKR体系中的血缘地位。这两个指标可以作为血缘分析的一个可视化元素[19],给用户提供一个全局的视野来审视整个系统的重心分布,也可以作为系统更新和优化时的一个参考指标,比较更新前后,数据的血缘地位在系统中的升降变化。4结语本研究从优化湖北烟草数据中心项目建设的实

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论