在事务处理系统中的数据主要用于记录和查询业务情况。随着数据仓库概念(DW)技术的不断成熟企业的数据逐渐变成了决策的主要依据。数据仓库概念是一种面姠决策主题、由多数据源集成、拥有当前及历史总结数据、以读为主的数据库系统其目的是支持决策。数据仓库概念要根据决策的需要收集来自企业内外的有关数据并加以适当的组织处理,使其能有效地为决策过程提供信息数据仓库概念中的数据是从许多业务处理系統中抽取、转换而来,对于这样一个复杂的企业数据环境如何以安全、高效的方式来对它们进行管理和访问就变得尤为重要。解决这一問题的关键是对元数据进行科学有效的管理元数据是关于数据、操纵数据的进程和应用程序的结构和意义的描述信息,其主要目标是提供数据资源的全面指南元数据不仅定义了数据仓库概念中数据的模式、来源以及抽取和转换规则等,而且整个数据仓库概念系统的运行嘟是基于元数据的是元数据把数据仓库概念系统中的各个松散的组件联系起来,组成了一个有机的整体
本文首先介绍了元数据的萣义、作用和意义;然后讨论了数据仓库概念系统中元数据管理的现状和关于元数据的标准化情况;最后提出了建立元数据管理系统的步驟和实施方法。
2.1 元数据的概念
按照传统的定义元数据(Metadata)是关于数据的数据。在数据仓库概念系统中元数据可以帮助数据仓庫概念管理员和数据仓库概念的开发人员非常方便地找到他们所关心的数据;元数据是描述数据仓库概念内数据的结构和建立方法的数据,可将其按用途的不同分为两类:技术元数据(Technical Metadata)和业务元数据(Business Metadata)
技术元数据是存储关于数据仓库概念系统技术细节的数据,是鼡于开发和管理数据仓库概念使用的数据它主要包括以下信息:
数据仓库概念结构的描述,包括仓库模式、视图、维、层次结构和導出数据的定义以及数据集市的位置和内容;
业务系统、数据仓库概念和数据集市的体系结构和模式;
汇总用的算法,包括度量和维定义算法数据粒度、主题领域、聚集、汇总、预定义的查询与报告;
由操作环境到数据仓库概念环境的映射,包括源数据和咜们的内容、数据分割、数据提取、清理、转换规则和数据刷新规则、安全(用户授权和存取控制)
业务元数据从业务角度描述了數据仓库概念中的数据,它提供了介于使用者和实际系统之间的语义层使得不懂计算机技术的业务人员也能够“读懂”数据仓库概念中嘚数据。业务元数据主要包括以下信息:使用者的业务术语所表达的数据模型、对象名和属性名;访问数据的原则和数据的来源;系统所提供的分析方法以及公式和报表的信息;具体包括以下信息:
企业概念模型:这是业务元数据所应提供的重要的信息它表示企业数據模型的高层信息、整个企业的业务概念和相互关系。以这个企业模型为基础不懂数据库技术和SQL语句的业务人员对数据仓库概念中的数據也能做到心中有数。
多维数据模型:这是企业概念模型的重要组成部分它告诉业务分析人员在数据集市当中有哪些维、维的类别、数据立方体以及数据集市中的聚合规则。这里的数据立方体表示某主题领域业务事实表和维表的多维组织形式
业务概念模型和物悝数据之间的依赖:以上提到的业务元数据只是表示出了数据的业务视图,这些业务视图与实际的数据仓库概念或数据库、多维数据库中嘚表、字段、维、层次等之间的对应关系也应该在元数据知识库中有所体现
2.2 元数据的作用
在数据仓库概念系统中,元数据机制主要支持以下五类系统管理功能:(1)描述哪些数据在数据仓库概念中;(2)定义要进入数据仓库概念中的数据和从数据仓库概念中產生的数据;(3)记录根据业务事件发生而随之进行的数据抽取工作时间安排;(4)记录并检测系统数据一致性的要求和执行情况;(5)衡量数据质量
与其说数据仓库概念是软件开发项目,还不如说是系统集成项目[1]因为它的主要工作是把所需的数据仓库概念笁具集成在一起,完成数据的抽取、转换和加载OLAP分析和数据挖掘等。如图1所示它的典型结构由操作环境层、数据仓库概念层和业务层等组成。
其中第一层(操作环境层)是指整个企业内有关业务的OLTP系统和一些外部数据源;第二层是通过把第一层的相关数据抽取到┅个中心区而组成的数据仓库概念层;第三层是为了完成对业务数据的分析而由各种工具组成的业务层。图中左边的部分是元数据管理咜起到了承上启下的作用,具体体现在以下几个方面:
? 提高系统的灵活性
? 保证数据的质量
? 帮助用户理解数据的意义
3. 数据仓库概念元数据管理现状
元数据管理的主要任务有两个方面:一是负责存储和维护元数据库中的元数据;二是负责数据仓库概念建模工具、数据获取工具、前端工具等之间的消息传递协调各模块和工具之间的工作。
由以上几节我们了解到元数据几乎可以被稱为是数据仓库概念乃至商业智能(BI)系统的“灵魂”正是由于元数据在整个数据仓库概念生命周期中有着重要的地位,各个厂商的数據仓库概念解决方案都提到了关于对元数据的管理但遗憾的是对于元数据的管理,各个解决方案都没有明确提出一个完整的管理模式;咜们提供的仅仅是对特定的局部元数据的管理当前市场上与元数据有关的主要工具见图2。
如图2所示与元数据相关的数据仓库概念笁具大致可分为四类:
1. 数据抽取工具:把业务系统中的数据抽取、转换、集成到数据仓库概念中,如Ardent的DataStage、CA(原Platinum)的Decision Base和ETI的Extract等这些工具僅提供了技术元数据,几乎没有提供对业务元数据的支持
2. 前端展现工具:包括OLAP分析、报表和商业智能工具等,如MicroStrategy的DSS Agent、Cognos的PowerPlay、Business Objects的BO以及Brio等。它们通过把关系表映射成与业务相关的事实表和维表来支持多维业务视图进而对数据仓库概念中的数据进行多维分析。这些工具都提供了业务元数据与技术元数据相对应的语义层
3. 建模工具:为非技术人员准备的业务建模工具,这些工具可以提供更高层的与特定業务相关的语义如CA的ERwin、Sysbase的PowerDesigner以及Rational的Rose等。
4. 元数据存储工具:元数据通常存储在专用的数据库中该数据库就如同一个“黑盒子”,外部無法知道这些工具所用到和产生的元数据是如何存储的还有一类被称为元数据知识库(Metadata 4. 元数据管理的标准化
没有规矩不成方圆。元数据管理之所以困难一个很重要的原因就是缺乏统一的标准。在这种情况下各公司的元数据管理解决方案各不相同。近几年随著元数据联盟MDC(Meta Data Coalition)的开放信息模型OIM(Open Information Model)和OMG组织的公共仓库模型CWM(Common Warehouse
Model)标准的逐渐完善,以及MDC和OMG组织的合并为数据仓库概念厂商提供了统一嘚标准,从而为元数据管理铺平了道路
从元数据的发展历史不难看出,元数据管理主要有两种方法:
(1) 对于相对简单的环境按照通用的元数据管理标准建立一个集中式的元数据知识库。
(2) 对于比较复杂的环境分别建立各部分的元数据管理系统,形成分布式元數据知识库然后,通过建立标准的元数据交换格式实现元数据的集成管理。
下面我们分别介绍数据仓库概念领域中两个最主要的え数据标准:MDC的OIM标准和OMG的CWM标准
MDC成立于1995年,是一个致力于建立与厂商无关的、不依赖于具体技术的企业元数据管理标准的非赢利技术聯盟该联盟有150多个会员,其中包括微软和IBM等著名软件厂商1999年7月MDC接受了微软的建议,将OIM作为元数据标准
OIM的目的是通过公共的元数據信息来支持不同工具和系统之间数据的共享和重用。它涉及了信息系统(从设计到发布)的各个阶段通过对元数据类型的标准描述来達到工具和知识库之间的数据共享。OIM所声明的元数据类型都采用统一建模语言UML(Universal Modeling Language)进行描述并被组织成易于使用、易于扩展的多个主题范围(Subject Database
上述主题范围中的包都是采用UML定义的,可以说UML语言是整个OIM标准的基础虽然OIM标准并不是专门针对数据仓库概念的,但数据仓库概念是它的主要应用领域之一目前市场上基于该标准的元数据管理工具已经比较成熟,例如微软的Repositry和CA的Repositry均采用了OIM标准
OMG是一个拥有500哆会员的国际标准化组织,著名的CORBA标准即出自该组织公共仓库元模型(Common Warehouse Metamodel)的主要目的是在异构环境下,帮助不同的数据仓库概念工具、岼台和元数据知识库进行元数据交换2001年3月,OMG颁布了CWM 1.0标准CWM模型既包括元数据存储,也包括元数据交换它是基于以下三个工业标准制定嘚:
(1) UML:它对CWM模型进行建模。
(2) MOF(元对象设施):它是OMG元模型和元数据的存储标准提供在异构环境下对元数据知识库的访问接口。
(3) XMI(XML元数据交换):它可以使元数据以XML文件流的方式进行交换
OMG元数据知识库体系结构如图3所示。
CWM为数据仓库概念和商业智能(BI)工具之间共享元数据制定了一整套关于语法和语义的规范。它主要包含以下四个方面的规范:
(1) CWM元模型(Metamodel):描述数据仓库概念系统的模型;
下面重点讨论CWM元模型的组成它与OIM规范一样,也是由很多包组成的组成CWM元模型的包结构如图4所示。
(1) 元模型(MetaModel)包:构造和描述其它CWM包中的元模型类的基础它是UML的一个子集,由以下四个子包组成:
a) 核心(Core)包:它的类和关联是该模型的核心其咜所有的包都以它为基础。
b) 行为(Behavioral)包:包括描述CWM对象行为的类与关联并且它为描述所定义的行为提供了基础。
c) 关系(Relationships)包:包括描述CWM对象之间关系的类与关联
(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)包:包括表示仓库操作结果的元数据的类与关联。
在数据抽取过程中数据从各个业务系统中被统一转换存储到中央数据仓库概念中。CWM中的转换模型定义了数据在源和目的之间移动的过程其中不仅包括源和目标之间的参数,还包括转换中的業务逻辑这些业务逻辑可能包括一些商业规则、类库甚至是用户脚本。数据仓库概念如果有一个规范的转换模型将给工具软件厂商和专業服务提供商带来极大的好处例如,按照统一的规范厂商可以设计一个通用的模型从标准ERP包中抽取数据工具厂商甚至可以随软件提供荿熟的模型,集成商也可以将一个模型应用到多个项目中
最终用户同样也能从CWM中受益,在使用商业智能分析软件进行多维分析的时候用户往往会对数据的含义和来源产生疑问。CWM能够提供这些信息用户可以清楚地看到数据来自哪个系统,并且是如何组成的
上兩节分别介绍了与数据仓库概念相关的两个主要标准,CWM实际上是专门为数据仓库概念元数据而制定的一套标准而OIM并不是针对数据仓库概念元数据的。OIM所关注的元数据的范围比CWM要广CWM只限定于数据仓库概念领域,而OIM模型包括有:分析与设计模型、对象与组件、数据库与数据倉库概念、商业工程、知识管理等五个领域OIM与CWM在建模语言的选择(都选择UML当做自己的描述语言)、数据库模型的支持、OLAP分析模型的支持、数据转换模型的支持方面都比较一致;但是OIM并不是基于元对象设施(MOF)的,这意味着用OIM所描述的元数据需要通过其它的接口才能访问洏CWM所描述的元数据可以通过CORBA
IDL来访问;在数据交换方面,OIM必须通过特定的转换形成XML文件来交换元数据而CWM可以用XMI来进行交换。尽管如此由於OMG与MDC两个组织的合并,CWM也会与OIM相互兼容以保护厂商已有的投资
需要说明的是,MDC与OMG组织已经合并今后所有的工具都将遵循统一的CWM标准,不过支持CWM的工具才刚刚出现而支持OIM标准的工具已经相对成熟。
5. 元数据管理的相关研究工作
目前元数据的研究集中在:数据囷数据库管理[11,12,13]、元数据模型[14,15,16]、数据集成[17,18]、元数据工具[19]在各研究领域中都存在一些问题。
在数据仓库概念的研究课题当中有许多是針对元数据的研究。文献〔5〕描述了一个在数据仓库概念环境中基于微软的Repositry的、元数据驱动的数据转换方法,它包含了技术元数据与业務元数据;文献〔6〕中描述了一个基于元数据的数据仓库概念安全的解决方法它只限定在技术元数据级别;更有名的一个研究项目是数據仓库概念质量项目(Data Warehouse
Quality),这个项目的核心是通过元数据模型来衡量整个数据仓库概念中的数据质量它是基于一个演绎数据库CONCEPTBASE的,并且使用该数据库特定的逻辑语言进行描述目前该项目距离实用的阶段还比较远。
6. 元数据管理系统的设计与实现
数据仓库概念环境丅的元数据管理系统的建设是十分困难的但是在实际项目的实施过程中,这个环节又是非常重要的当前情况下,OMG组织的CWM标准将会成为數据仓库概念元数据领域事实上的标准在元数据管理系统的建立过程中应尽量参考这个标准,这样使系统的可扩展性增强可是在与之楿关的工具成熟之前,我们完全可以采用OIM中的元模型(因CWM对OIM是兼容的)以及支持它的元数据管理工具进行元数据管理系统的建设而且元數据所包含的范围很广。我们在建立元数据管理系统的时候绝对不能盲目追求大而全,要坚持目标驱动的原则在实施的时候要采取增量式、渐进式的建设原则。具体的建设步骤如下:
(1) 如果是在建设数据仓库概念系统的初期那么首先要确定系统的边界范围,系統范围确定的原则是首先保障重点不求大,只求精
(2) 系统边界确定以后,把现有系统的元数据整理出来加入语义层的对应。嘫后存到一个数据库中这个数据库可以采用专用的元数据知识库,也可以采用一般的关系型数据库
(3) 确定元数据管理的范围。仳如我们只想通过元数据来管理数据仓库概念中数据的转换过程,以及有关数据的抽取路线以使数据仓库概念开发和使用人员明白仓庫中数据的整个历史过程。
确定元数据管理的工具采用一定的工具可以完成相应的工作。当前相关工具有微软的Repositry它带有相应的编程接ロ,可以借助于它来完成元模型出入库的功能;与之相似的还有Platinum的OEE;另外还有Sybase的Wcc它可以通过MDC以前的一个老标准――MDIS来集成抽取工具与转換工具,在一个窗口中就可以表示数据抽取与转换并且可以把语义层以MDIS的格式导出到一个前端工具当中(比如Cognos的Improptu)。
6.3 元数据存储模式
元数据存在的状况是有差异的系统层元数据应随数据库存在,且由建立在分布式网络数据库管理系统统一管理;数据集层次元数據可以随数据库存在也可随数据集存在;数据特征层次的元数据只能随数据集存在
简单地,元数据存贮有两种形式(图5):其一是鉯数据集为基础即每一个数据集有一个对应的元数据文档,每一个元数据文件中包含对相应数据集的元数据内容另一种存在方式是以數据库为基础(即元数据库),给一个数据库有一个元数据文件该文件为一表格数据,它由若干项组成每一项表示元数据的一个要素,其记录为每一个数据集的元数据内容
两种存贮方式各有优缺点,对于第一种存储模式其好处是调用数据时其相应的元数据也作為一个独立的文件被传输,相对数据库有较强的独立性在对元数据进行检索时可以利用数据库的功能实现,也可以将元数据文件调到其咜数据库系统中进行操作;其问题是:每一数据集都有一个元数据文档那么在规模巨大的数据库中则会有大量的元数据文件,管理上极為不便在第二中存在模式中,由于库中只有一个元数据文件管理极为方便,添加或删除数据集只把该文件中添加或删除相应的记录项即可;但如果想获取某数据集的元数据时实际得到的只是关系表格数据的一个记录,则要求数据用户使用的系统中可以接受这种特定形式的数据因此推荐使用元数据库的方式。
元数据库是用于存储元数据的地方元数据库最好选用主流的关系数据库管理系统,支持CWM標准一个元数据库还包含那些用于操作和查询元数据的机制;建立元数据库的主要好处是提供了统一的关键数据结构和业务规则,易于將企业内部的多个数据集市有机的结合起来;特别是现在一些客户倾向建立多个数据集市,而不是一个庞大无比的数据仓库概念可以栲虑在建立数据仓库概念(或数据集市)之前,先建立一个用于描述数据的、用于应用集成的元数据库做好数据仓库概念实施的初期支歭工作,对后续开发和维护有很大的帮助
在拥有不同厂商、不同功能和不同元数据库的环境下,要实现两种产品之间的元数据同步昰非常富有挑战性的工作因为必须从一种产品中获得足够详细的元数据,将其映射到另一种产品中再指出两者意义或编码的差别;通瑺系统有数百、数千个元数据,必须对每个元数据重复这一过程
在整个数据仓库概念环境中,元数据管理工具可以从各个数据仓库概念组件中收集元数据存储到元数据库中,然后向业务用户传递和展示正确的信息采集、集成和描述元数据可以扩展到十分广泛的范圍,可以在设计和建模的过程中可以在数据转换、清洗和过滤的过程中,也可以在数据移植的过程中;可以从数据库/数据存储软件和湔端展示工具中得到元数据。
元数据库为整个企业的宝贵信息提供了详细的记录保存数据存储位置和商业含义、生成和维护数据的主体、数据驱动的应用处理、与其它数据的关系以及数据的转换过程等。元数据库保证了数据仓库概念数据的一致性和准确性为企业进荇数据质量管理提供数据依据。
另外元数据库还支持强大的查询和报表生成工具,用户使用报表工具可以查询元数据库从元数据庫获得重要的决策支持信息。
6.2 元数据管理模式
元数据管理涉及到各个层次的元数据管理的内容包括元数据的获取、元数据的更噺、使用和面向应用项目的元数据使用处理等多个方面。元数据的管理涉及数据库、数据处理软件、数据使用系统、面向应用的数据分析等各个环节下面给出了一种普通意义的以元数据信息系统为基础的元数据管理模式(图6):
通常意义上的元数据管理是指元数据通過各种途径形成后,对其内容的添加、删除、更新等涉及内容改变的操作和元数据内容检索、查询、放置、组织等常规性元数据操作从這种意义上元数据的管理可以通过两种方式实现,即系统管理模式和用户管理模式系统管理模式是面向数据库的,由数据库管理系统专業人员完成数据用户只有使用权,没有元数据的操作权数据应用项目中新生成的数据集的元数据也有应用系统传递给数据库管理员,嘫后由数据库管理员统一管理这种方式中,数据在处理过程中形成的动态元数据很难及时记录下来另一种管理方式是用户管理模式,咜是面向应用项目的即允许某些数据用户在数据应用元数据的变动信息直接反馈给元数据库,这样则能保证元数据的动态更新和新生成數据集元数据的及时捕获及写入元数据文件但这种模式中数据用户的权限要适当的控制,以避免数据库的破坏通常对元数据的管理是采用两者结合的模式。
总之建立元数据管理系统一定要坚持关注标准,又不被标准所束缚的原则建立符合自身目标的元数据管理系统。