万丈高楼从地起—细说元数据的那些事

  • 2016-03-23 16:48:54
  • 李剑杰
随着企业信息化建设的发展,为日常经营管理提供管理与决策支持,往往建设众多的信息系统,包括数据仓库、报表平台、风险管理、客户关系管理等等。但是由于各种原因,在信息资源标准体系建设、信息共享、信息资源利用等方面往往存在许多不足,例如数据量大导致管理困难,客户数据分散在多个源业务系统缺乏统一的标准管理,引起数据缺失、重复或者不一致等,严重影响着业务发展。

 

面对困境,大家把眼光投向了元数据管理。总体来说,元数据管理是一个根据使用这些资产的方式来管理组织数据资产的流程,能够集成、链接和集中管理多个来源的元数据,在整个组织内更好地维护、分析、消费和解释数据。当有效管理元数据时,数据将变得更有价值。

 

元数据概念在国内兴起也有10+年了,与数据仓库、数据质量关系密切,大家也一直对其寄予很高的期望值,希望它能带来企业数据管理上的革新,让数据更好地支撑企业经营发展。元数据这么多年来,有过快速发展,也有过停滞不前,机遇与挑战并存。

 

下面我们从以下几个方面来进行探讨:

 

  • 什么是元数据

  • 元数据与数据仓库

  • 元数据与数据质量

  • 元数据困境

  • 元数据出路

 

1
什么是元数据
 

 

首先我们还是来看看元数据是什么。“元数据是关于数据的组织、数据域及其关系的信息,简言之,元数据就是关于数据的数据”。

 

这个是对元数据最简洁的一个表述了。元数据是描述信息资源或数据等对象的数据,主要是描述数据属性的信息,用来支持如指示存储位置、历史数据、资源查找、文件记录等功能,其使用目的在于:识别资源,评价资源,追踪资源在使用过程中的变化,实现信息资源的有效发现、查找、一体化组织和对使用资源的有效管理。

 

通常来说,元数据可以划分为三类元数据:技术元数据、业务元数据和管理元数据。

 

这三类元数据分别说明如下:

 

技术元数据:技术元数据是描述系统中技术领域相关概念、关系和规则的数据,主要包括对数据结构、数据处理过程的特征描述,覆盖系统数据源接口、数据仓库与数据集市存储、ETL、OLAP、数据封装和前端展现等全部数据处理环节;

业务元数据:业务元数据是描述系统中业务领域相关概念、关系和规则的数据,主要包括业务术语、指标定义和业务规则等信息;

管理元数据:管理元数据是描述系统中管理领域相关概念、关系和规则的数据,主要包括人员角色、岗位职责和管理流程等信息。

 

2
元数据与数据仓库

 

元数据在数据仓库中有着举足轻重的作用,在数据仓库领域中,元数据按照用途划分主要是技术元数据和业务元数据。它不仅定义了数据仓库的作用,指明了数据仓库中信息的内容和位置,刻画了数据的抽取和转换规则,存储了与数据仓库主题有关的各种商业信息,而且整个数据仓库的运行都是基于元数据的,如修改跟踪数据、抽取调度数据、同步捕获历史数据等。     

 

下图很好的展示了元数据在数据仓库各个层次中的关注焦点:

 

 

数据仓库系统按数据层次划分,基本可以分为数据层、获取层、访问层,每个层次都与元数据有紧密的关系。以元数据理念为基础,将每个层次涉及的元数据实体以及数据关系都解析、管理起来,可以有效了解整个数据仓库的数据对象,清晰数据流向,更好地发挥数据价值,支撑业务发展。每个层次关注的元数据信息总体如下:

 

数据层:主要关注数据库物理/逻辑模型、接口单元。

 

物理模型方面如:

  • Catalog

  • Schema

  • Table

  • View

  • Column

 

逻辑模型方面如

  • SubjectArea

  • Entity

  • Attribute

  • RelationShip

  • RelationShipEnd

  • Domain

  • ForeignKey

  • PrimayKey

  • Model

  • Dimension

     

接口单元方面如:

  • InterfaceUnit

  • Field

 

维度方面如:

  • Dimension

  • DimensionedObject

 

获取层:主要关注数据处理过程。

 

数据处理过程相关元素如下:

  • TransformationTask

  • TransformationMap

  • ClassifierMap

  • RelationalOperator

  • RelationalProjection

  • RelationalJoin

  • RelationalRename

  • RelationalSelection

  • RelationalGroupBy

  • RelationalOrderBy

  • FeatureMap

……

 

访问层:主要关注业务指标。

 

指标相关元素如下:

  • Package

  • Report

  • KPI

  • ReportQueryCondition

  • ReportResultItem

……

 

3
元数据与数据质量 

 

在长期的数据仓库分析工作中发现,低下的数据质量往往造成开发出来的系统与用户的预期大相径庭。很多项目应用程度不高或最后失败,归根结底都是数据质量不高造成的。数据质量不高已经成为困扰此类项目的一个严重问题。

 

对数据在整个生命周期中的质量进行全程监控,利用检测规则及时发现问题,并通过元数据信息,实现拓扑呈现,提供系统数据处理状态和质量状况的全局报告,帮助数据管理人员分析问题,解决问题。元数据管理为数据质量提供各种检核规则,数据质量进行数据检核,生成检核结果,结合数据标准和元数据管理进行数据的修改,以保证最后数据的统一,从根源上提高系统数据质量。两者关系如下图所示:

 

 

数据信息是企业重要的战略资源,合理有效的使用正确的数据能够指导企业作出正确的决策,提高企业的竞争力。反之,不合理的使用不正确的数据,则可能导致企业决策失败,给企业造成重大的损失。数据质量是一个技术与管理兼具的问题,可从以下几个方面来提升:

 

思想认识上

只有认识到数据在管理中的重要作用,才会反过来重视数据质量问题。要让企业的每一个员工都能认识到数据是企业重要的战略资源,企业的一切决策都来源于数据。每一个人都必须认识到“Garbage in,garbage out”,共同努力提高数据质量。

 

技术保证上

通过技术方式,来保证数据质量,如在功能上提供用户界面比较友好的系统,减少操作员的录入工作量和出现错误的可能性;充分考虑用户的需求,防止出现业务处理软件不能满足客户要求、操作员违规操作的现象等;另一方面也可以利用数据质量监控工具,或在数据处理过程加入校验代码,及时发现数据质量问题,降低数据修正成本。

 

制度管理上

在企业建立起完善的数据负责制度,提供数据标准化处理流程,成立专门的组织和团队负责数据管理工作,把数据质量真正落实到具体角色、具体环节,真正提高企业数据质量。

 

4
元数据困境
 

 

元数据概念在企业IT系统中非常重要,元数据驱动的理念也深入IT人的心里。但是能真正实施元数据,能把元数据系统真正做好的却少之又少。

 

元数据的好处是不言而喻的,但它有自己的特点,在企业IT系统建设现状下有着自己的难处,下面我们来简单看一下实施元数据面临的最大困境:

 

目标元数据信息缺失、不全

由于系统设计时的不规范、不严谨,往往缺少相应的模型/对象描述信息,这样就算把这些实体元数据化,采集进元数据管理系统,也往往无法标示元数据的相关信息,导致无法描述元数据实体的作用,无法产生更大的价值,如PDM/ERWin的模型设计材料,缺少表名/字段名中文描述、模型用途信息,DB里缺少注释信息等。

 

建设反转,系统建设在前,元数据系统在后

企业各类IT支撑系统基本是为满足业务发展、管理决策而建设,对数据的管理关注都比较弱,往往没有把元数据的管理考虑在内,这样导致元数据的采集、解析都比较困难。如果系统建设从一开始就以元数据驱动的理念进行建设,在数据的各个生命周期阶段都把元数据规划好,利用自动化手段进行采集,就能从根本上解决元数据的缺失、不完整问题。

 

目标产品众多,自动化困难,定制化需求多

既然元数据建设滞后,那么是不是可以后发制人,在后期进行统一采集、管理呢?很不幸,众多的数据模型存储(各种DB、PDM、ERWin、Excel、word、文本等)、数据处理工具、脚本(Datastage、Powercenter、ETL Automation、Kettle、shell脚本、存储过程、TCL脚本、Python脚本等)、数据展现工具(Cognos、BIEE、BO、Qlikview、MSTR、自定义报表等),再加上众多的版本引起的差异,元数据产品很难进行满足,很难去针对这么多的产品进行定制化。

 

5
元数据出路
 

 

从上面的论述,我可以看到,元数据、数据处理和数据质量是紧密联系,相辅相成的。在Gartner发布的企业信息管理图谱中,元数据、数据ETL、数据质量是各自独立的功能域,相互之间再通过接口进行交互,但归根到底,还是把这些功能域割裂开来,弱化了其一体化的本质,更合理的情况,元数据、数据质量、ETL应该是一体化的,而不是分开独立的(如下图):

 

 

以元数据驱动ETL,在ETL过程里自然嵌入数据质量稽核监控流程在一个产品里,把三者融合在一起。现在市面上已经逐步有这种理念的产品出现,对于新建平台或者是下决心大规模改造的项目,还是不错的选择的。如下图示:

 

 

对于大多数企业而言,元数据系统建设更多是根据企业使用的各种产品、工具,选用市面上通用的标准化产品,对部分不满足的产品进行定制化开发的方式来进行。对于标准化的数据存储、ETL产品可能还比较好,一般有提供接口进行元数据实体、关系的采集,但是对于一些脚本化,相对不规范的ETL数据处理方式,比如存储过程、perl脚本等,往往很难去采集元数据实体和关系。

 

一种比较好的折衷解决方式是日志分析,让这些脚本根据标准化的日志输出格式,把脚本里的关键信息以日志方式输出,然后再根据日志进行元数据实体、关系的采集。标准化日志格式可如下(示例):

 

 

6
小结
 

 

元数据建设是一项基础性工程,是企业良好IT支撑、运营的基础。随着企业IT建设的快速发展,企业IT系统实体、关系的混乱,缺少管控,导致的效率、质量低下,给企业发展带来了严峻的挑战。

 

冰冻三尺,非一日之寒,企业只有重新拾起元数据,逐步梳理企业数据、关系,加强管控,才能更好地管理企业数据资产,为企业的快速发展、高效运营奠定坚实的基础。

 

 

作者介绍  李剑杰

 

  • DAMS架构师精英群专家,新炬网络资深架构师,数据资产管理、大数据专家。

  • 10年数据资产管理经验,曾参与多个移动、联通、银行、烟草数据资产管理项目,对数据资产有丰富的项目规划管理、落地实施经验。
     



 

关于DAMS中国数据资产管理峰会:

 

中国数据资产管理峰会主题是行业顶级“数据”峰会,覆盖大数据与数据资产管理、架构、数据安全、云、运维及跨界数据应用等,预计2016年7月15-16日2天在上海,1主场9分场1500人规模,指导单位上海经信委,联合主办:上海云计算产业中心、DBA+社群,目前已经邀请到来自腾讯、阿里、蚂蚁金服、京东、小米、创大、浙江移动、壳牌等重量级演讲嘉宾,目标听众:CIO、CTO、架构师、大数据工程师、数据分析师、DBA等。

 

门票限时优惠,快快点击“首页”购票吧!

加入架构师联盟

加入架构师联盟

友情连接

新炬网络

推荐阅读