数据仓库与元数据管理

数据仓库与元数据管理

1. 前言

在事务处理系统中的数据,主要用于记录和查询业务情况。随着数据仓库(DW)技术的不断成熟,企业的数据逐渐变成了决策的主要依据。数据仓库中的数据是从许多业务处理系统中抽取、转换而来,对于这样一个复杂的企业数据环境,如何以安全、高效的方式来对它们进行管理和访问就变得尤为重要。解决这一问题的关键是对元数据进行科学有效的管理。

本文首先介绍了元数据的定义、作用和意义;然后讨论了数据仓库系统中元数据管理的现状和关于元数据的标准化情况;最后提出了建立元数据管理系统的步骤和实施方法。

2. 元数据

2.1 元数据的概念

按照传统的定义,元数据(Metadata)是关于数据的数据。在数据仓库系统中,元数据可以帮助数据仓库管理员和数据仓库的开发人员非常方便地找到他们所关心的数据;元数据是描述数据仓库内数据的结构和建立方法的数据,可将其按用途的不同分为两类:技术元数据(Technical Metadata)和业务元数据(Business Metadata)。

技术元数据是存储关于数据仓库系统技术细节的数据,是用于开发和管理数据仓库使用的数据,它主要包括以下信息:

l  数据仓库结构的描述,包括仓库模式、视图、维、层次结构和导出数据的定义,以及数据集市的位置和内容;

l  业务系统、数据仓库和数据集市的体系结构和模式

l  汇总用的算法,包括度量和维定义算法,数据粒度、主题领域、聚集、汇总、预定义的查询与报告;

l  由操作环境到数据仓库环境的映射,包括源数据和它们的内容、数据分割、数据提取、清理、转换规则和数据刷新规则、安全(用户授权和存取控制)。

业务元数据从业务角度描述了数据仓库中的数据,它提供了介于使用者和实际系统之间的语义层,使得不懂计算机技术的业务人员也能够“读懂”数据仓库中的数据。业务元数据主要包括以下信息:使用者的业务术语所表达的数据模型、对象名和属性名;访问数据的原则和数据的来源;系统所提供的分析方法以及公式和报表的信息;具体包括以下信息:

l  企业概念模型:这是业务元数据所应提供的重要的信息,它表示企业数据模型的高层信息、整个企业的业务概念和相互关系。以这个企业模型为基础,不懂数据库技术和SQL语句的业务人员对数据仓库中的数据也能做到心中有数。

l  多维数据模型:这是企业概念模型的重要组成部分,它告诉业务分析人员在数据集市当中有哪些维、维的类别、数据立方体以及数据集市中的聚合规则。这里的数据立方体表示某主题领域业务事实表和维表的多维组织形式。

l  业务概念模型和物理数据之间的依赖:以上提到的业务元数据只是表示出了数据的业务视图,这些业务视图与实际的数据仓库或数据库、多维数据库中的表、字段、维、层次等之间的对应关系也应该在元数据知识库中有所体现。

2.2 元数据的作用

与其说数据仓库是软件开发项目,还不如说是系统集成项目[1],因为它的主要工作是把所需的数据仓库工具集成在一起,完成数据的抽取、转换和加载,OLAP分析和数据挖掘等。如图1所示,它的典型结构由操作环境层、数据仓库层和业务层等组成。

元数据

知识库

业务元数据

技术元数据

即席查询

OLAP

数据挖掘

企业数据模型、多维数据模型

数据仓库

RDBMS

外部数据源

操作环境层

数据仓库层

业务层

 

 

 

 

 

 

 


1数据仓库系统的一般体系结构

其中,第一层(操作环境层)是指整个企业内有关业务的OLTP系统和一些外部数据源;第二层是通过把第一层的相关数据抽取到一个中心区而组成的数据仓库层;第三层是为了完成对业务数据的分析而由各种工具组成的业务层。图中左边的部分是元数据管理,它起到了承上启下的作用,具体体现在以下几个方面:

(1) 元数据是进行数据集成所必需的

数据仓库最大的特点就是它的集成性。这一特点不仅体现在它所包含的数据上,还体现在实施数据仓库项目的过程当中。一方面,从各个数据源中抽取的数据要按照一定的模式存入数据仓库中,这些数据源与数据仓库中数据的对应关系及转换规则都要存储在元数据知识库中;另一方面,在数据仓库项目实施过程中,直接建立数据仓库往往费时、费力,因此在实践当中,人们可能会按照统一的数据模型,首先建设数据集市,然后在各个数据集市的基础上再建设数据仓库。不过,当数据集市数量增多时很容易形成“蜘蛛网”现象,而元数据管理是解决“蜘蛛网”的关键。如果在建立数据集市的过程中,注意了元数据管理,在集成到数据仓库中时就会比较顺利;相反,如果在建设数据集市的过程中忽视了元数据管理,那么最后的集成过程就会很困难,甚至不可能实现。

(2) 元数据定义的语义层可以帮助最终用户理解数据仓库中的数据

最终用户不可能象数据仓库系统管理员或开发人员那样熟悉数据库技术,因此迫切需要有一个“翻译”,能够使他们清晰地理解数据仓库中数据的含意。元数据可以实现业务模型与数据模型之间的映射,因而可以把数据以用户需要的方式“翻译”出来,从而帮助最终用户理解和使用数据。

(3) 元数据是保证数据质量的关键

数据仓库或数据集市建立好以后,使用者在使用的时候,常常会产生对数据的怀疑。这些怀疑往往是由于底层的数据对于用户来说是不“透明”的,使用者很自然地对结果产生怀疑。而借助元数据管理系统,最终的使用者对各个数据的来龙去脉以及数据抽取和转换的规则都会很方便地得到,这样他们自然会对数据具有信心;当然也可便捷地发现数据所存在的质量问题。甚至国外有学者还在元数据模型的基础上引入质量维[6],从更高的角度上来解决这一问题。

(4) 元数据可以支持需求变化

随着信息技术的发展和企业职能的变化,企业的需求也在不断地改变。如何构造一个随着需求改变而平滑变化的软件系统,是软件工程领域中的一个重要问题。传统的信息系统往往是通过文档来适应需求变化,但是仅仅依靠文档还是远远不够的。成功的元数据管理系统可以把整个业务的工作流、数据流和信息流有效地管理起来,使得系统不依赖特定的开发人员,从而提高系统的可扩展性。

3. 数据仓库元数据管理现状

由以上几节我们了解到元数据几乎可以被称为是数据仓库乃至商业智能(BI)系统的“灵魂”,正是由于元数据在整个数据仓库生命周期中有着重要的地位,各个厂商的数据仓库解决方案都提到了关于对元数据的管理。但遗憾的是对于元数据的管理,各个解决方案都没有明确提出一个完整的管理模式;它们提供的仅仅是对特定的局部元数据的管理。当前市场上与元数据有关的主要工具见图2

 

元数据管理

建模工具

Ÿ   ERwin

Ÿ   PowerDesigner

Ÿ   Rose

数据转换工具

Ÿ   DataStage

Ÿ   Decision Base

Ÿ   Extract

前端展现工具

Ÿ   BO

Ÿ   Brio

Ÿ   Cognos

Ÿ   DSS Agent

元数据存储工具

Ÿ   Repository

Ÿ   MetaStage

Ÿ   WCC

 

 

 

 

 

 

 

 

 

 


2 当前市场与元数据有关的主要工具

如图2所示,与元数据相关的数据仓库工具大致可分为四类:

1.        数据抽取工具:把业务系统中的数据抽取、转换、集成到数据仓库中,如ArdentDataStageCA(原Platinum)的Decision BaseETIExtract等。这些工具仅提供了技术元数据,几乎没有提供对业务元数据的支持。

2.        前端展现工具:包括OLAP分析、报表和商业智能工具等,如MicroStrategyDSS AgentCognosPowerPlayBusiness ObjectsBO,以及Brio等。它们通过把关系表映射成与业务相关的事实和维来支持多维业务视图,进而对数据仓库中的数据进行多维分析。这些工具都提供了业务元数据与技术元数据相对应的语义层。

3.        建模工具:为非技术人员准备的业务建模工具,这些工具可以提供更高层的与特定业务相关的语义。如CAERwinSysbasePowerDesigner以、RationalRose等。

4.        元数据存储工具:元数据通常存储在专用的数据库中,该数据库就如同一个“黑盒子”,外部无法知道这些工具所用到和产生的元数据是如何存储的。还有一类被称为元数据知识库(Metadata Repository)的工具,它们独立于其它工具,为元数据提供一个集中的存储空间。这些工具包括微软的RepositoryCARepositoryArdentMetaStageSybaseWCC等。

4. 元数据管理的标准化

没有规矩不成方圆。元数据管理之所以困难,一个很重要的原因就是缺乏统一的标准。在这种情况下,各公司的元数据管理解决方案各不相同。近几年,随着元数据联盟MDCMeta Data Coalition)的开放信息模型OIMOpen Information Model)和OMG组织的公共仓库模型CWMCommon Warehouse Model)标准的逐渐完善,以及MDCOMG组织的合并,为数据仓库厂商提供了统一的标准,从而为元数据管理铺平了道路。

从元数据的发展历史不难看出,元数据管理主要有两种方法:

(1) 对于相对简单的环境,按照通用的元数据管理标准建立一个集中式的元数据知识库。

(2) 对于比较复杂的环境,分别建立各部分的元数据管理系统,形成分布式元数据知识库,然后,通过建立标准的元数据交换格式,实现元数据的集成管理。

下面我们分别介绍数据仓库领域中两个最主要的元数据标准:MDCOIM标准和OMGCWM标准。

4.1 MDCOIM存储模型

MDC成立于1995年,是一个致力于建立与厂商无关的、不依赖于具体技术的企业元数据管理标准的非赢利技术联盟,该联盟有150多个会员,其中包括微软和IBM等著名软件厂商。19997MDC接受了微软的建议,将OIM作为元数据标准。

OIM的目的是通过公共的元数据信息来支持不同工具和系统之间数据的共享和重用。它涉及了信息系统(从设计到发布)的各个阶段,通过对元数据类型的标准描述来达到工具和知识库之间的数据共享。OIM所声明的元数据类型都采用统一建模语言UMLUniversal Modeling Language)进行描述,并被组织成易于使用、易于扩展的多个主题范围(Subject Areas),这些主题范围包括:

l  分析与设计(Analysis and Design:主要用于软件分析、设计和建模。该主题范围又进一步划分为:UML包(Package)、UML扩展包、通用元素(Generic Elements)包、公共数据类型(Common Data Types)包和实体关系建模(Entity Relationship Modeling)包等。

l  对象与组件(Object and Component:涉及面向对象开发技术的方方面面。该主题范围只包含组件描述建模(Component Description Modeling)包。

l  数据库与数据仓库(Database and Warehousing:为数据库模式管理、复用和建立数据仓库提供元数据概念支持。该主题范围进一步划分为:关系数据库模式(Relational Database Schema)包、OLAP模式(OLAP Schema)包、数据转换(Data Transformations)包、面向记录的数据库模式(Record-Oriented Database Schema)包、XML模式(XML Schema)包和报表定义(Report Definitions)包等。

l  业务工程(Business Engineering:为企业运作提供一个蓝图。该主题范围进一步划分为:业务目标(Business Goal)包、组织元素(Organizational Elements)包、业务规则(Business Rules)包、商业流程(Business Processes)包等。

l  知识管理(Knowledge Management:涉及企业的信息结构。该主题范围进一步划分为:知识描述(Knowledge Descriptions)包和语义定义(Semantic Definitions)包。

上述主题范围中的包都是采用UML定义的,可以说UML语言是整个OIM标准的基础。虽然OIM标准并不是专门针对数据仓库的,但数据仓库是它的主要应用领域之一。目前市场上基于该标准的元数据管理工具已经比较成熟,例如微软的RepositryCARepositry均采用了OIM标准。

4.2 OMG组织的CWM模型

OMG是一个拥有500多会员的国际标准化组织,著名的CORBA标准即出自该组织。公共仓库元模型(Common Warehouse Metamodel)的主要目的是在异构环境下,帮助不同的数据仓库工具、平台和元数据知识库进行元数据交换。20013月,OMG颁布了CWM 1.0标准。CWM模型既包括元数据存储,也包括元数据交换,它是基于以下三个工业标准制定的:

(1) UML:它对CWM模型进行建模。

(2) MOF(元对象设施):它是OMG元模型和元数据的存储标准,提供在异构环境下对元数据知识库的访问接口。

(3) XMIXML元数据交换):它可以使元数据以XML文件流的方式进行交换。

OMG元数据知识库体系结构如图3所示。

仓储公共设施

UML

MOF

XMI

ORB

对象服务

其它工具和

元数据知识库

 

 

 

 

 

 

 

 


3 OMG的元数据仓储体系结构

CWM为数据仓库和商业智能(BI)工具之间共享元数据,制定了一整套关于语法和语义的规范。它主要包含以下四个方面的规范:

(1) CWM元模型(Metamodel):描述数据仓库系统的模型;

(2) CWM XMLCWM元模型的XML表示;

(3) CWM DTDDW/BI共享元数据的交换格式

(4) CWM IDLDW/BI共享元数据的应用程序访问接口(API

下面重点讨论CWM元模型的组成,它与OIM规范一样,也是由很多包组成的。组成CWM元模型的包结构如图4所示。

 

仓库过程

 

仓库操作

 

转换

XML

记录型

多维

关系型资源

业务信息

软件发布

UML 1.3

(基础,行为元素,模型管理)

对象 (UML)

OLAP

分析

数据

挖掘

信息可视化

业务术语

数据

类型

表达式

索引

类型映射

管理

资源

分析

基础

对象模型

 

 

 


4 CWM元模型的包结构

(1) 元模型(MetaModel)包:构造和描述其它CWM包中的元模型类的基础。它是UML的一个子集,由以下四个子包组成:

a)        核心(Core)包:它的类和关联是该模型的核心,其它所有的包都以它为基础。

b)        行为(Behavioral)包:包括描述CWM对象行为的类与关联,并且它为描述所定义的行为提供了基础。

c)        关系(Relationships)包:包括描述CWM对象之间关系的类与关联。

d)       实例(Instance)包:包括表示CWM分类器(Classfier)的类与关联。

(2) 基础包(Foundation):它包括表示CWM概念和结构的模型元素,这些模型元素又可被其他CWM包所共享,它由以下六个子包组成:

a)        业务信息(Business Information)包:包括表示模型元素业务信息的类与关联。

b)        数据类型(Data Types)包:包括表示建模者可以用来创建所需数据类型的结构的类与关联。

c)        表达式(Expressions)包:包括表示表达式树的类与关联。

d)       关键字和索引(Keys and Indexes)包:包括表示键和索引的类与关联。

e)        软件发布(Software Deployment)包:包括软件如何在数据仓库中发布的类与关联。

f)         类型映射(Type Mapping)包:包括表示不同系统之间数据类型映射的类与关联。

(3) 资源包(Resource):用于描述数据资源的包,它包括以下四个子包:

a)        关系(Relational)包:包括表示关系型数据资源的元数据的类与关联。

b)        记录(Record)包:包括表示记录型数据资源的元数据的类与关联。

c)        多维(Multidimensional)包:包括表示多维数据资源的元数据的类与关联。

d)       XML包:包括表示XML数据资源的元数据的类与关联。

(4) 分析(Analysis)包:它由以下五个子包组成:

a)        转换(Transformation)包:包括表示数据抽取和转换工具的元数据的类与关联。

b)        OLAP包:包括表示OLAP工具的元数据的类与关联。

c)        数据挖掘(Data Mining)包:包括表示数据挖掘工具的元数据的类与关联。

d)       信息可视化(Information Visualization)包:包括表示信息可视化工具的元数据的类与关联。

e)        业务术语(Business Nomenclature)包:包括表示分类业务的元数据的类与关联。

(5) 管理(Management)包:用于描述数据仓库管理的包,它包括以下两个子包:

a)        仓库过程(Warehouse Process)包:包括表示仓库过程的元数据的类与关联。

b)        仓库操作(Warehouse Operation)包:包括表示仓库操作结果的元数据的类与关联。

4.3 CWMOIM之间的关系

上两节分别介绍了与数据仓库相关的两个主要标准,CWM实际上是专门为数据仓库元数据而制定的一套标准,而OIM并不是针对数据仓库元数据的。OIM所关注的元数据的范围比CWM要广,CWM只限定于数据仓库领域,而OIM模型却包括有:分析与设计模型、对象与组件、数据库与数据仓库、商业工程、知识管理等五个领域。OIMCWM在建模语言的选择(都选择UML当做自己的描述语言)、数据库模型的支持、OLAP分析模型的支持、数据转换模型的支持方面都比较一致;但是OIM并不是基于元对象设施(MOF)的,这意味着用OIM所描述的元数据需要通过其它的接口才能访问,而CWM所描述的元数据可以通过CORBA IDL来访问;在数据交换方面,OIM必须通过特定的转换形成XML文件来交换元数据,而CWM可以用XMI来进行交换。尽管如此,由于OMGMDC两个组织的合并,CWM也会与OIM相互兼容以保护厂商已有的投资。

需要说明的是,MDCOMG组织已经合并,今后所有的工具都将遵循统一的CWM标准,不过支持CWM的工具才刚刚出现,而支持OIM标准的工具已经相对成熟。

5. 针对元数据管理的相关研究工作

在数据仓库的研究课题当中,有许多是针对元数据的研究。文献〔5〕描述了一个在数据仓库环境中,基于微软的Repositry的、元数据驱动的数据转换方法,它包含了技术元数据与业务元数据;文献〔6〕中描述了一个基于元数据的数据仓库安全的解决方法,它只限定在技术元数据级别;更有名的一个研究项目是数据仓库质量项目(Data Warehouse Quality),这个项目的核心是通过元数据模型来衡量整个数据仓库中的数据质量。它是基于一个演绎数据库CONCEPTBASE的,并且使用该数据库特定的逻辑语言进行描述,目前该项目距离实用的阶段还比较远。

6. 元数据管理系统的设计原则

数据仓库环境下的元数据管理系统的建设是十分困难的。但是在实际项目的实施过程中,这个环节又是非常重要的。当前情况下,我们认为OMG组织的CWM标准将会成为数据仓库元数据领域事实上的标准,在元数据管理系统的建立过程中应尽量参考这个标准,这样使系统的可扩展性增强。可是在与之相关的工具成熟之前,我们完全可以采用OIM中的元模型(因CWMOIM是兼容的)以及支持它的元数据管理工具进行元数据管理系统的建设,而且元数据所包含的范围很广。我们在建立元数据管理系统的时候,绝对不能盲目追求大而全,要坚持目标驱动的原则,在实施的时候要采取增量式、渐进式的建设原则。具体的建设步骤如下:

(1)    如果是在建设数据仓库系统的初期,那么首先要确定系统的边界范围,系统范围确定的原则是首先保障重点,不求大,只求精。

(2)    系统边界确定以后,把现有系统的元数据整理出来,加入语义层的对应。然后存到一个数据库中,这个数据库可以采用专用的元数据知识库,也可以采用一般的关系型数据库。

(3)    确定元数据管理的范围。比如,我们只想通过元数据来管理数据仓库中数据的转换过程,以及有关数据的抽取路线,以使数据仓库开发和使用人员明白仓库中数据的整个历史过程。

(4)    确定元数据管理的工具,采用一定的工具可以完成相应的工作。当前相关工具有微软的Repositry,它带有相应的编程接口,可以借助于它来完成元模型出入库的功能;与之相似的还有PlatinumOEE;另外还有SybaseWcc,它可以通过MDC以前的一个老标准――MDIS来集成抽取工具与转换工具,在一个窗口中就可以表示数据抽取与转换,并且可以把语义层以MDIS的格式导出到一个前端工具当中(比如CognosImproptu

总之,建立元数据管理系统一定要坚持关注标准,又不被标准所束缚的原则,建立符合自身目标的元数据管理系统。

 

参考文献

[1] Stohr. T.Muller. R.and Rahm. E. An Integrative and Uniform Model for Metadata Management in Data Warehousing Environments.

[2] Marco. David.Building and managing the Meta Data Repository a full life cycle Guide  WILEY 2000

[3] http://www.olapreport.org/fasmi.html

[4] Joseph M.Firestone,Ph.d.,Data Warehouses and Data Marts:A Dynamic View,Executive Information System Inc.White Paper 3,March 27,1997;(3)

[5] 廖璘 王立刚 刘文煌,“构造数据仓库系统的元数据”,计算机工程与应用 2001.1

Metadata Coalition: Metadata Interchange Specification, Vers. 1.1, Aug. 1998. http://xml.coverpages.org/MDCOIM11-pdf.gz

[6] Jeusfeld, M.A.; Quix, C.; Jarke, M.Design and Analysis of Quality Information forData Warehouses. In Proc. 17th International Conference on Conceptual Modeling(ER'98),Singapore, Nov 16-19, 1998.

[7] Object Management Group(OMG).Common Warehouse MetaModel Specification(1.0),JAN,2000  http://www.cwmforum.org/

[8] Daniel. Dr. Chang. T. CWM Enablement Showcase:Warehouse Metadata Interchange Made Easy Using CWM http://www.cwmforum.org/.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值