01 元数据的定义
元数据是指来自企业内外的所有物理数据和知识,包括物理数据的格式,技术和业务过程,数据的规则和约束以及企业所使用数据的结构。
元数据其实就是知识,包括系统,业务和市场的知识。
02 元数据的作用
元数据处于数据仓库的上层,记录数据仓库中对象的位置,是内部技术人员开发与维护数据仓库的蓝图,是业务中用户导航数据仓库以及定位有用信息的路标。
数据仓库系统获取,共享和管理元数据主要有两个目的:
1. 作为描述性信息,描述系统的结构特征和静态特征;
2. 作为控制性信息,控制并配置特定工具和进程运行,实现数据仓库管理和维护的(半)自动化管理。
元数据机制主要支持以下 5 类系统管理功能:
1. 描述哪些数据在数据仓库中;
2. 定义要进入数据仓库中的数据和从从数据仓库中产生的数据;
3. 记录根据业务事件发生而对其进行的数据抽取工作时间安排;
4. 记录并检测系统数据一致性的要求和执行情况;
5. 衡量数据质量;
元数据起到的作用
1. 用于集成各类复杂繁多的信息,是进行数据集成所必需的 ;
数据仓库最大的特点就是它的集成性。这一特点不仅体现在它所包含的数据上,还体现在实施数据仓库项目的过程当中。一方面,从各个数据源中抽取的数据要按照一定的模式存入数据仓库中,这些数据源与数据仓库中数据的对应关系及转换规则都要存储在元数据知识库中;另一方面,在数据仓库项目实施过程中,直接建立数据仓库往往费时、费力,因此在实践当中,人们可能会按照统一的数据模型,首先建设数据集市,然后在各个数据集市的基础上再建设数据仓库。不过,当数据集市数量增多时很容易形成“蜘蛛网”现象,而元数据管理是解决“蜘蛛网”的关键。如果在建立数据集市的过程中,注意了元数据管理,在集成到数据仓库中时就会比较顺利;相反,如果在建设数据集市的过程中忽视了元数据管理,那么最后的集成过程就会很困难,甚至不可能实现。
2. 元数据定义的语义层可以帮助最终用户理解数据仓库中的数据 ;
最终用户不可能象数据仓库系统管理员或开发人员那样熟悉数据库技术,因此迫切需要有一个“翻译”,能够使他们清晰地理解数据仓库中数据的含意。元数据可以实现业务模型与数据模型之间的映射,因而可以把数据以用户需要的方式“翻译”出来,从而帮助最终用户理解和使用数据。
3. 可以支持需求动态变化,系统各项表现(界面)的灵活性;
4. 可以提高和保证数据的质量;
数据仓库或数据集市建立好以后,使用者在使用的时候,常常会产生对数据的怀疑。这些怀疑往往是由于底层的数据对于用户来说是不“透明”的,使用者很自然地对结果产生怀疑。而借助元数据管理系统,最终的使用者对各个数据的来龙去脉以及数据抽取和转换的规则都会很方便地得到,这样他们自然会对数据具有信心;当然也可便捷地发现数据所存在的质量问题。甚至国外有学者还在元数据模型的基础上引入质量维,从更高的角度上来解决这一问题。
5. 可以支持多种工具的开发应用;
6. 提高系统的安全性;
7. 可以提高系统的智能性;
8. 元数据可以支持需求变化
随着信息技术的发展和企业职能的变化,企业的需求也在不断地改变。如何构造一个随着需求改变而平滑变化的软件系统,是软件工程领域中的一个重要问题。传统的信息系统往往是通过文档来适应需求变化,但是仅仅依靠文档还是远远不够的。成功的元数据管理系统可以把整个业务的工作流、数据流和信息流有效地管理起来,使得系统不依赖特定的开发人员,从而提高系统的可扩展性。
03 元数据分类
05 元数据的标准化
CWM提出的背景
现在有很多数据仓库产品,它们对元数据都有自己的定义和格式,因此创建、管理和共享元数据很耗时而且容易出错。要解决上面这些问题,必须用标准的语言描述数据仓库元数据的结构和语义,并提供标准的元数据交换机制。CWM就是满足这些条件的一个规范。OMG在2000年发布了CWM规范,旨在推动数据仓库、智能商务和知识管理方面元数据的共享和交换。和OMG合作提出CWM规范的公司有:IBM,Unisys,NCR,Hyperion Solutions,Oracle,UBS AG,Genesis Development,Dimension EDI。还有一些公司明确表示支持CWM,包括:Deere & Company,Sun,HP,Data Access Technologies,InLine Software,Aonix,Hitachi, Ltd。
OMG在1995年采用了MOF(Meta Object Facility),并不断完善之。1997年采用了UML,2000年发布了公共仓库元模型 CWM (Common Warehouse Metamodel) 规范。主要目的是在异构环境下,帮助不同的数据仓库工具,平台和元数据知识库进行元数据交换。这三个标准:UML、MOF和CWM形成了OMG建模和元数据管理、交换结构的基础,推动了元数据标准化的快速发展。CWM 模型既包括元数据存储,也包括元数据交换,它是基于以下 3 个工业标准制定的。
OMG 元数据知识库体系结构如下图所示:
OMG的元数据仓储体系结构
CWM为数据仓库和商业智能(BI)工具之间共享元数据,制定了一整套关于语法和语义的规范。它主要包含以下四个方面的规范:
(1) CWM元模型(Metamodel):描述数据仓库系统的模型;
(2) CWM XML:CWM元模型的XML表示;
(3) CWM DTD:DW/BI共享元数据的交换格式
(4) CWM IDL:DW/BI共享元数据的应用程序访问接口(API)
下面重点讨论CWM元模型的组成,它与OIM规范一样,也是由很多包组成的。组成CWM元模型的包结构如图所示。
CWM元模型的包结构
CWM元模型主要包括四层:基础包Foundation,资源包Resource,分析包Analysis和管理包Management。
基础包主要定义了为CWM其它包所共享的一些基本概念和结构,它包含的子包有:
资源包主要定义了一些描述常用的数据源/目标的元模型,它包含的子包有:
分析包主要定义了一些描述数据仓库工具的元模型,它包含的子包有:
管理包主要定义了一些描述数据仓库运行和调度信息的元模型,它包含的子包有:
06 元数据管理系统的设计原则
数据仓库环境下的元数据管理系统的建设是十分困难的。但是在实际项目的实施过程中,这个环节又是非常重要的。当前情况下,我们认为OMG组织的CWM标准将会成为数据仓库元数据领域事实上的标准,在元数据管理系统的建立过程中应尽量参考这个标准,这样使系统的可扩展性增强。可是在与之相关的工具成熟之前,我们完全可以采用OIM中的元模型(因CWM对OIM是兼容的)以及支持它的元数据管理工具进行元数据管理系统的建设,而且元数据所包含的范围很广。我们在建立元数据管理系统的时候,绝对不能盲目追求大而全,要坚持目标驱动的原则,在实施的时候要采取增量式、渐进式的建设原则。具体的建设步骤如下:
(1)如果是在建设数据仓库系统的初期,那么首先要确定系统的边界范围,系统范围确定的原则是首先保障重点,不求大,只求精。
(2)系统边界确定以后,把现有系统的元数据整理出来,加入语义层的对应。然后存到一个数据库中,这个数据库可以采用专用的元数据知识库,也可以采用一般的关系型数据库。
(3)确定元数据管理的范围。比如,我们只想通过元数据来管理数据仓库中数据的转换过程,以及有关数据的抽取路线,以使数据仓库开发和使用人员明白仓库中数据的整个历史过程。
(4)确定元数据管理的工具,采用一定的工具可以完成相应的工作。当前相关工具有微软的Repositry,它带有相应的编程接口,可以借助于它来完成元模型出入库的功能;与之相似的还有Platinum的OEE;另外还有Sybase的Wcc,它可以通过MDC以前的一个老标准――MDIS来集成抽取工具与转换工具,在一个窗口中就可以表示数据抽取与转换,并且可以把语义层以MDIS的格式导出到一个前端工具当中(比如Cognos的Improptu)。
07元数据管理的策略
要进行成功的元数据集成,必须建立一个一致且合理的管理策略,共享和重用指定目标和需求。
全局安全策略。
元数据是一个具有高敏感性和战略价值的信息财富,必须包含一个全面的安全策略来保证元数据得到充分保护。
对每个元数据元素语义的一致理解。
软件组件所用到的每一种元数据元素的语义必须存在一致,这直接影响到元数据的共享和重用。
每个元数据的所有权。
必须确定哪些个体或哪些组件是一个特定元数据元素的最终所有者。要确保元数据的所有权最终属于元数据的,主要项目相关人员,而不是属于数据仓库的技术管理员或者开发者。
元数据元素的版本控制。必须为被管理的元数据设立专门的版本控制规则。
08 元数据管理产品设计
元数据管理的应用通常一款元数据管理工具应具备元模型设计、元数据采集、元数据分析、数据地图展现等核心功能。元数据包括:元模型、元数据采集、元数 据注册、元数据应用、元数据服务等;
8.1 架构设计
数据源层
数据源层是指元数据管理平台所支持的元数据来源的方式。提供直连多种不同类型的数据源,包括:数据库类型、ETL 类型、文件类型、业务系统类型等。
采集层
采集层针对不同数据源提供丰富的适配器,实现端到端的自动化采集。具体包括:sqlserver、oracle、mysql、postgresql、petabase、ODI、Excel等。同时支持适配器扩展,实现最大限度的自动化采集。
数据层
元数据数据层是基于关系数据库的元数据存储,用于实现元数据和元模型的数据 的物理存储。元模型存储了元数据的属性要求和存储格式要求。元数据存储了从各个 系统中采集而来的元数据信息。
功能层
元数据功能层提供了元数据管理产品的基本功能,包括元模型增删改查及版本发 布功能、元数据增删改查及版本管理、元数据变更管理、元数据分析应用、元数据检 核以及产品的系统管理功能。其中元模型管理模块用于操作元模型,元模型是对各个种类元数据以及元数据之 间关系的定义,元模型包括两部分:一部分由元数据管理平台产品内置的标准元模型, 另一部分是用户根据管理需求自定义的元模型。元模型管理还设计了发布功能,只有 在发布之后才会生效,使用户在设计元模型时,不会影响到元数据的使用。元数据管理主要包括了元数据增删改查日常维护,版本管理,元数据全文检索。元数据分析应用主要包括了血缘分析、影响分析、关联度分析、数据地图等多种 图形化分析应用,并提供导出和收藏功能,将分享结果进行留档。元数据检核包括一致性检核、属性填充率检核和组合关系检核,是保障元数据质 量的重要手段之一系统管理功能包括了机构用户角色的权限管理、系统备份恢复、门户应用、日志 管理、系统监控等系统运维相关的功能。
访问层
元数据访问层用于给用户提供访问控制服务。元数据产品面向的主要用户群有三 类:技术设计人员、业务分析人员、以及系统的运维人员。通过门户访问和后台访问, 可以实现多种角色的访问控制。同时访问层还提供了多种形式的接口服务,可以很方 便的与其它 IT 系统进行集成。
8.1 元数据采集服务:能够适应异构环境,支持从传统关系型数据库和大数据平台中采集从数据产生系统到数据加工处理系统到数据应用报表系统的全量元数据,包括过程中的数据实体(系统、库、表、字段的描述)以及数据实体加工处理过程中的逻辑;数据管理平台内置多种采集适配器,支持多种存储格式的元数据自动获取,如:数据库、报表工具、ETL工具、文件系统等,同时无法完成自动获取的元数据,提供了可自定义的元数据采集模版完成元数据的批量导入。
8.2 元数据访问服务:元数据访问服务是元数据管理软件提供的元数据访问的接口服务,一般支持REST或Webservice等接口协议。通过元数据访问服务支持企业元数据的共享,是企业数据治理的基础。
8.3 元数据管理服务:实现元数据的模型定义并存储,在功能层包装成各类元数据功能,最终对外提供应用及展现;提供元数据分类和建模、血缘关系和影响分析,方便数据的跟踪和回溯。数据管理平台提供各类元数据管理,包括:业务元数据、技术元数据和管理元数据,支持元数据的基本信息、属性、依赖关系、组合关系的增删改查操作。最新元数据和定版元数据隔离,在最新元数据中的改动不影响定版元数据的正常使用,同时每次发布都有版本留痕,支持各版本的对比分析。
8.4 元数据分析服务:元数据的应用一般包括数据地图,数据的血缘、影响分析,全链分析等;元数据管理平台提供了丰富的元数据分析功能,包括血缘分析、影响分析、全链分析、关联度分析、属性值差异分析等,分析出元数据的来龙去脉,快速识别元数据的价值,掌握元数据变更可能造成的影响,以便更有效的评估变化带来的风险,从而帮助用户高效准确的对数据资产进行清理、维护与使用。
血缘分析:告诉你数据来自哪里,都经过了哪些加工。
影响分析:告诉你数据都去了哪里,经过了哪些加工。
冷热度分析:告诉你哪些数据是企业常用数据,哪些数据属于僵死数据。
关联度分析:告诉你数据和其他数据的关系以及它们的关系是怎样建立的。
数据资产地图:告诉你有哪些数据,在哪里可以找到这些数据,能用这些数据干什么。
09 项目上应用