数字化时代,企业需要知道它们有什么数据,数据在哪里、由谁负责,数据中的值意味着什么,数据的生命周期是什么,哪些数据安全性和隐私性需要保护,以及谁使用了数据,用于什么业务目的,数据的质量怎么样,等等。这些问题都需要通过元数据管理解决,缺乏有效的元数据管理,企业的数据资产可能会变成拖累企业利润的“包袱”。 数据已经成为增强企业竞争力的核心要素,有效地管理和使用数据成为企业的刚需。越来越多的企业使用元数据管理工具来管理云计算、物联网、数据湖中所产生的数据,以便更容易地理解、更快地查找和更有效地管理企业数据,实现数据的价值。
01元数据管理概述
没有元数据,数据其实就没有任何意义。元数据看起来只是一堆毫无意义的文字和数字,但本质上它为企业的各类数据提供了上下文环境,使企业能够更好地了解、管理和使用数据。
1.1什么是元数据? 元数据是关于数据的组织、数据域及其关系的信息,简言之,元数据就是描述数据的数据。 概念总是生涩的,对于没有IT背景的人来说比较抽象,不容易理解,下面举几个例子。示例1:歌词中的元数据 有一首很多80后耳熟能详的歌曲叫《小芳》,歌词中有这么一句:“村里有个姑娘叫小芳,长得好看又善良。”我们对这句歌词做一下分析。姓名,小芳;性别,姑娘(女);长相,好看;性格,善良;住址,村里。“小芳”是被描述的对象,而“姓名”“性别”“长相”“性格”“住址”就是描述“小芳”的元数据。示例2:户口本中的元数据 户口本中除了有姓名、身份证号、出生日期、住址、民族等信息外,还有家庭关系,如夫妻关系、父子关系、兄弟关系等。这些信息就是描述一个人的元数据,通过户口本中的元数据,我们不仅能够了解一个人的基本信息,还能够了解其家庭关系。示例3:图书馆中的元数据 图书馆都会用一个叫作“图书目录”的文件夹来管理藏书,图书目录包含图书名称、编号、作者、主题、简介、摆放位置等信息,用来帮助图书管理员管理和快速查找图书。元数据就如同图书馆的图书目录一样,能够帮助数据管理员管理数据。示例4:元数据好比字典 字典包含一个字的注音、含义、组词、举例等基本信息及其字体结构、相关引用、出处等。另外,我们可以通过拼音或偏旁部首查到这个字。所有这些信息都是对这个字的详细描述,它们就是描述这个字的元数据。示例5:元数据就像地图 地图是按一定比例运用线条、符号、颜色、文字注记等描绘显示地球表面的自然地理、行*区域、社会经济状况的图。通过地图,您能够找到自己所处的地理位置,了解您从哪里来,到哪里去,途中要路过哪些地方。元数据也具备这样的特点,它能够帮助企业了解自己有哪些数据,这些数据存放在哪里,数据的来源、去向及加工路径等。 元数据与数据的不同之处在于:元数据描述的不是特定的实例或记录,IT部门和业务部门都需要高质量的元数据来理解现有数据;元数据是比一般意义上的数据范畴更加广泛的数据,不仅表示数据的类型、名称、值等信息,还提供数据的上下文描述,比如数据的所属业务域、取值范围、数据间的关系、业务规则、数据来源等。可以用5W1H模型来理解元数据,如表1所示。
表1用5W1H模型理解元数据
1.2元数据的3种类型 按照不同应用领域或功能,元数据一般大致可分为三类:业务元数据、技术元数据和操作元数据。1.2.1业务元数据 业务元数据描述数据的业务含义、业务规则等。明确业务元数据可以让人们更容易理解和使用业务元数据。元数据消除了数据二义性,让人们对数据有一致的认知,避免“自说自话”,进而为数据分析和应用提供支撑。常见的业务元数据有:
业务定义、业务术语解释等;
业务指标名称、计算口径、衍生指标等;
业务引擎的规则、数据质量检测规则、数据挖掘算法等;
数据的安全或敏感级别等。
1.2.2技术元数据 技术元数据是结构化处理后的数据,方便计算机或数据库对数据进行识别、存储、传输和交换。技术元数据可以服务于开发人员,让开发人员更加明确数据的存储、结构,从而为应用开发和系统集成奠定基础。技术元数据也可服务于业务人员,通过元数据厘清数据关系,让业务人员更快速地找到想要的数据,进而对数据的来源和去向进行分析,支持数据血缘追溯和影响分析。常见的技术元数据有:
物理数据库表名称、列名称、字段长度、字段类型、约束信息、数据依赖关系等;
数据存储类型、位置、数据存储文件格式或数据压缩类型等;
字段级血缘关系、SQL脚本信息、ETL信息、接口程序等;
调度依赖关系、进度和数据更新频率等。
1.2.3操作元数据 操作元数据描述数据的操作属性,包括管理部门、管理责任人等。明确管理属性有利于将数据管理责任落实到部门和个人,是数据安全管理的基础。常见的操作元数据有:
数据所有者、使用者等;
数据的访问方式、访问时间、访问限制等;
数据访问权限、组和角色等;
数据处理作业的结果、系统执行日志等;
数据备份、归档人、归档时间等。
元数据的分类及实例见表2。表2元数据的分类(以“客户”信息为例)
1.3元数据的6个作用 在信息世界,元数据的主要作用是对数据对象进行描述、定位、检索、管理、评估和交互。
描述:对数据对象的内容、属性的描述,这是元数据的基本功能,是各组织、各部门之间达成共识的基础。
定位:有关数据资源位置方面的信息描述,如数据存储位置、URL等记录,可以帮助用户快速找到数据资源,有利于信息的发现和检索。
检索:在描述数据的过程中,将信息对象中的重要信息抽出标引并加以组织,建立它们之间的关系,为用户提供多层次、多途径的检索体系,帮助用户找到想要的信息。
管理:对数据对象的版本、管理和使用权限的描述,方面信息对象管理和使用。
评估:由于有元数据描述,用户在不浏览具体数据对象的情况下也能对数据对象有个直观的认识,方便用户的使用。
交互:元数据对数据结构、数据关系的描述方便了数据对象在不同部门、不同系统之间进行流通和流转,并确保流转过程中数据标准的一致性。
元数据以数字化方式描述企业的数据、流程和应用程序,为企业数字资产的内容提供了上下文,使得数据更容易理解、查找、管理和使用。准确的元数据是必不可少的,也是迅速、有效地对数据去粗取精的关键。没有元数据,数据就毫无意义,只不过是一堆数字或文字而已。因此,对于元数据的有效管理是企业数据治理的基础。1.4什么是元数据管理 根据维基百科的定义,元数据管理是指与确保正确创建、存储和控制元数据,以便在整个企业中一致地定义数据有关的活动。 元数据管理是对涉及的业务元数据、技术元数据、操作元数据进行盘点、集成和管理。采用科学有效的机制对元数据进行管理,并面向开发人员、业务用户提供元数据服务,可以满足用户的业务需求,为企业业务系统和数据分析的开发、维护等过程提供支持。可以从技术、业务和应用三个角度理解元数据管理。技术角度:元数据管理着企业的数据源系统、数据平台、数据仓库、数据模型、数据库、表、字段以及字段间的数据关系等技术元数据。业务角度:元数据管理着企业的业务术语表、业务规则、质量规则、安全策略以及表的加工策略、表的生命周期信息等业务元数据。应用角度:元数据管理为数据提供了完整的加工处理全链路跟踪,方便数据的溯源和审计,这对于数据的合规使用越来越重要。通过数据血缘分析,追溯发生数据质量问题和其他错误的根本原因,并对更改后的元数据进行影响分析。企业元数据管理的主要活动包括:
创建并记录主题领域的实体和属性的数据定义;
识别数据对象之间的业务规则和关系;
证明数据内容的准确性、完整性和及时性;
建立和记录内容的上下文(数据血缘、数据影响的全链路跟踪分析);
为多样化的数据用户提供一系列上下文理解,包括用于合规性、内部控制和更好决策的可信数据;
为技术人员提供元数据信息,支持数据库或应用的开发。
1.5元数据管理的3个目标 企业元数据管理的本质是有效利用企业数据资产,让数据发挥出尽可能大的价值。元数据管理可以帮助业务分析师、系统架构师、数据仓库工程师和软件开发工程师等相关干系人清楚地知道企业拥有什么数据,它们存储在哪里,如何抽取、清理、维护这些数据并指导用户使用。以下元数据管理目标是企业的普遍诉求。1.5.1建立指标解释体系 满足用户对业务和数据理解的需求,建立标准的企业内部知识传承的信息承载平台,建立业务分析知识库,实现知识共享。能够回答以下问题:
企业有哪些数据?
什么是企业有效客户?有效客户和客户有何区别?
什么是产品的生命周期?
这个数据还叫什么名字?
数据仓库中的存储过程是谁写的?它用来干什么?现在还在用吗?
典型应用有数据资源目录和业务术语表。1.5.2提高数据溯源能力 让用户能够清晰地了解数据仓库中数据流的来龙去脉、业务处理规则、转换情况等,提高数据的溯源能力,支持数据仓库的成长需求,降低因员工换岗造成的影响。元数据有助于回答以下问题:
这张表是从哪个业务系统中抽取过来的?
ETL过程是否对数据进行过加工处理?进行了哪些处理?
指标数据是从哪些表汇总计算出来的?
典型应用有血缘分析、影响分析、全链路分析。1.5.3数据质量稽核体系 通过非冗余、非重复的元数据信息提高数据完整性、准确性。元数据管理解决的问题是如何将业务系统中的数据分门别类地进行管理,建立报警、监控机制,出现故障时能及时发现问题,为数据仓库的数据质量监控提供基础素材。能够回答以下问题:
今天的在线用户数为什么是0?
为什么A报表中的本月收入值与B报表中的不同?
典型应用有指标标准和数据质量规则。1.6元数据管理的4个挑战 尽管企业越来越意识到元数据管理的重要性,但是在实际的数据治理中,元数据管理技术和方法仍面临着很多挑战。1.6.1局部的元数据管理 虽然很多企业已经意识到元数据管理能够创建对数据的统一描述并确保数据的一致性,但是,目前国内企业的元数据管理多数是建立在新建系统或数据仓库项目的局部治理上,而不是企业级的元数据管理,特别是对于企业采购的套装软件的治理显得十分薄弱。主要原因是,要将中央元数据仓库的元数据与套装软件产生的元数据进行匹配和映射,需要做大量工作。有的企业的元数据管理平台成为摆设,或者只有部分IT人员在用,很少甚至完全没有尝试在整个企业中使用和推广集中化的元数据。这在一定程度上限制了企业数据资产的共享或重用。因此,元数据管理需要全局、集中化的管理策略。1.6.2手动的元数据管理 在企业元数据管理项目的实施中,需要花费很长的时间来完成元数据的梳理和定义、元数据适配器的开发、元数据的采集、元数据的维护等任务。这些任务绝大多数是需要人工手动处理的,手动的元数据管理和维护十分烦琐且容易出错,这使得项目的成本提高,交付的周期变长。因此,元数据管理需要更加有效的方法和自动化程度更高的工具。1.6.3日趋复杂的数据环境 大数据时代,随着越来越多的非结构化、半结构化数据渗透到企业的数字环境中,采用传统的元数据管理方式来采集、处理和检索元数据变得越来越具有挑战性。尤其是在处理复杂的数据关系时,虽然人们很容易根据认知关联来判断两个或多个事物是否相关,但目前的元数据管理工具却常常无法做到。因此,元数据管理需要更智能化的技术。1.6.4数据的频繁变化 企业的数据是在数据供应链中不断移动的。这里所说的数据供应链,是指从数据创建到数据的加工处理、存储使用的整个生命周期链条。随着数据的不断创建、抽取和转换,有关数据来源、血缘、转换过程、质量级别以及与其他数据的关系的元数据也会随时变化。企业需要将自动化算法和规则应用于数据资产管理中,自动识别和生成元数据,减少手动维护的情况,从而确保元数据描述准确可靠。1.7元数据管理的4个阶段 从元数据的发展历史来看,元数据管理主要经历了4个阶段:分布式桥接阶段、中央存储库阶段、元数据仓库阶段、智能化管理阶段(见图1)。图1元数据管理的4个阶段
1.7.1分布式桥接阶段 分布式的元数据管理使用元数据桥实现不同工具间的元数据集成,这是一种点到点的元数据体系结构。分布式的桥接方式自然会导致分布式的元数据分发机制,这违背了数据仓库“集中存储,统一视图”的处理原则,也是它的主要弱点。用这种方式集成元数据会大幅增加开发和维护费用,而且通常将一种格式的元数据转换为另一种格式时,都会有一定的信息损失。 分布式的元数据结构需要对互相共享元数据的数据库进行同步,尤其是重复元数据的更新须被检测并通告,以保持一致性。1.7.2中央存储库阶段 建立具有特定目标和需求的元数据中央存储库,由它来统一采集、存储、控制和分发元数据。例如,CRM、SCM等应用系统从中央存储库中检索、使用元数据。 在这种模式下,元数据依然在局部产生和被获取,但会集中到中央存储库进行存储,业务元数据会手工录入中央存储库中,技术元数据分散在文档中的部分也通过手工录入中央存储库中,而散落在各个中间件和业务系统中的技术元数据则通过数据集成的方式被读取到中央存储库中。业务元数据和技术元数据之间全部或部分通过手工方式进行了关联。 每个应用系统都必须实现它自己的数据库访问层(另一种形式的桥接),各大BI工具厂商通常都保证它们的工具本身就能够支持元数据管理,例如 Informatica的MetadataManager、IBM的MetaStage。然而在具体实现中,它们的工具只是提供桥梁,从像Oracle这样的RDBMS、HyperionEssbase之类的MDDB、BusinessObjects之类的报表工具,甚至像ERWin这样的数据建模工具中提取信息,然后将提取出的信息存储到一个集中式的中央存储库中。 使用元数据中央存储库可以在一定程度上解决定义全局可用且被广泛理解的元数据的需求,使元数据在整个企业层面可被感知和搜索,极大地方便企业获取和查找元数据。但这并没有完全根除问题:元数据仍然在各业务系统上维护,然后更新到中央存储库,各业务竖井之间仍然使用不同的命名法,经常会造成相同的名字代表不同意义的对象,而同一个对象则使用了多个不同的名字,有些没有纳入业务系统管理的元数据则容易缺失。中央存储库仍然需要使用元数据桥,无法根除受制于特定厂商的问题。1.7.3元数据仓库阶段 元数据仓库遵循基于CWM(公共仓库元模型)的元数据管理策略。CWM是用来输入、输出共享公共仓库元数据的一个完全的语法和语义规范,提供了一个描述数据源、数据目标、转换、分析和处理的元数据管理基础框架,为不同工具和产品的元数据共享和交换提供了一个切实可行的标准。 通过构建基于CWM的元数据仓库,数据源、ETL工具、各类报表和BI工具、各类数据库系统的元数据有了一致的标准,各软件工具只需要建立一个与元数据仓库连接的CWM适配器就能实现相互之间的元数据交换或共享。 与中央存储库模式相比,基于CWM的元数据仓库模式更新数据更加及时,并支持增量元数据的版本管理,而中央存储库的元数据更新周期通常在一天以上,并且需要将所有不同时期的元数据都存储下来才能支持元数据版本管理。但本质上,元数据仓库模式并没有多大变化,业务元数据仍然需要手动补录,业务元数据和技术元数据之间大多还是需要通过手工方式进行映射,因此管理成本无法降低很多。 当前,大部分企业的元数据管理处于中央存储库和元数据仓库这两个阶段。1.7.4智能化管理阶段在这个阶段,元数据管理的特点是自动化、智能化,通过与人工智能、机器学习等技术融合,实现元数据提取、整合、维护等多个过程的自动化和智能化。(1)元数据提取 对于半结构化、非结构化的数据,例如文本文件、音视频文件,采用文本识别、图像识别、语音识别、自然语言处理等技术,自动发现和提取其元数据,形成有价值的数据资源池。(2)元数据整合 在元数据的整合方面,通过语义模型,标签体系自动采集相关的技术元数据和业务元数据,自动建立技术元数据与业务元数据的关系,并将其存储进元数据存储库中。(3)元数据维护 在人工智能技术的帮助下,元数据的管理和维护更加智能,例如:通过自定义规则探查元数据的一致性,并自动提醒更新和维护,确保元数据质量;通过语义分析为元数据自动打标签,实现元数据的自动化编目等。在这个阶段,逻辑层次元数据的变更会被传播到物理层次,同样,物理层次变更时,逻辑层次将被更新。元数据中的任何变化都会触发业务工作流,以便其他业务系统进行相应的修改。
02元数据管理方法
从实施层面来看,元数据管理包括业务目标理解、元数据需求规划、元数据设计、元数据管理体系的设计等。2.1业务目标理解 元数据管理是利用可视化的用户体验,基于灵活、健壮的元数据管理架构,实现企业数据资产的标准化、集中化管理。企业实施元数据管理需要首先从理解业务需求入手,只有理清了业务需求和目标,才能做出合理的元数据规划。通常企业实施元数据管理的主要业务诉求如下。(1)建立企业数据资产目录 数据即资产的理念已经得到企业的广泛认可。面对不断增长、不断变化、日益复杂的数据环境,企业需要数据资产的简单发现和跟踪能力。通过管理元数据,企业能够快速发现数据资产的分布和关系,形成企业数据资产目录。(2)消除冗余,加强数据复用 通过元数据管理,建立基于CWM的元数据仓库,实现企业元数据的统一管理,并将元数据仓库作为“单一数据源”,为企业的应用开发提供可复用的数据模型和元数据标准,以实现元数据的重复利用,减少冗余或未使用数据,从而提高工作效率,降低软件开发成本,缩短项目交付时间。(3)降低因人员流动而导致知识流失的风险 企业重要的数据资产常常因关键员工的调离或离职而“消失”,这里所谓的“消失”通常并不是因为员工将数据恶意删除或拿走,而是企业数据资产的存放方式、存储位置等关键数据都只留在关键员工的大脑中,一旦该员工离开公司,数据资产也就隐没在“茫茫数海”中了!而统一的元数据管理能够降低企业这种数据“消失”的风险。(4)提供数据血缘探查能力,提高数据分析的质量 数据来自什么地方以及如何产生、处理和交付数据,这为用户提供了重要的背景知识。探查源系统中的数据可以暴露和解决数据的不准确、不一致问题,从而提升数据的质量。 此外,元数据的统一管理,提供变更管理、版本控制等能力为不断变更的业务需求所带来的影响提供了支撑,并加快了新应用开发项目和数据集成项目的开发速度。开发人员可以依赖统一、标准的元数据来轻松、准确地确定他们的项目所需的数据,从而节约项目开发成本,提升项目交付效率。2.2元数据需求规划 在充分理解企业元数据管理诉求和目标之后,需要进行元数据规划,设计元数据管理策略,以促进元数据目标的实现。 元数据贯穿企业数据资产流动的全过程,主要包括数据源的元数据、数据采集的元数据、数据仓库的元数据、数据集市的元数据、应用服务层的元数据和BI层的元数据等。 进行元数据的需求规划时,需要了解清楚企业的数据环境,明确数据资产的分布,明确数据的流向和路径,从而进一步确定元数据在数据库环境中的存储情况,如数据结构、数据字典、数据关系、报表工具、其他第三方系统或工具等,以及是否需要元数据梳理模板,手动整理元数据作为补充等。元数据需求规划应重点