还剩9页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
数据仓库与元数据管理
1.前言在事务处理系统中的数据,主要用于记录和查询业务情况随着数据仓库(DW)技术的不断成熟,企业的数据逐渐变成了决策的主要依据数据仓库中的数据是从许多业务处理系统中抽取、转换而来,对于这样一个复杂的企业数据环境,如何以安全、高效的方式来对它们进行管理和访问就变得尤为重要解决这一问题的关键是对元数据进行科学有效的管理本文首先介绍了元数据的定义、作用和意义;然后讨论了数据仓库系统中元数据管理的现状和关于元数据的标准化情况;最后提出了建立元数据管理系统的步骤和实施方法
2.元数据
2.1元数据的概念按照传统的定义,元数据(Metadata)是关于数据的数据在数据仓库系统中,元数据可以帮助数据仓库管理员和数据仓库的开发人员非常方便地找到他们所关心的数据;元数据是描述数据仓库内数据的结构和建立方法的数据,可将其按用途的不同分为两类技术元数据(TechnicalMetadata)和业务元数据(BusinessMetadata)技术元数据是存储关于数据仓库系统技术细节的数据,是用于开发和管理数据仓库使用的数据,它主要包括以下信息数据仓库结构的描述,包括仓库模式、视图、维、层次结构和导出数据的定义,以及数据集市的位置和内容;业务系统、数据仓库和数据集市的体系结构和模式汇总用的算法,包括度量和维定义算法,数据粒度、主题领域、聚集、汇总、预定义的查询与报告;由操作环境到数据仓库环境的映射,包括源数据和它们的内容、数据分割、数据提取、清理、转换规则和数据刷新规则、安全(用户授权和存取控制)业务元数据从业务角度描述了数据仓库中的数据,它提供了介于使用者和实际系统之间的语义层,使得不懂计算机技术的业务人员也能够“读懂”数据仓库中的数据业务元数据主要包括以下信息使用者的业务术语所表达的数据模型、对象名和属性名;访问数据的原则和数据的来源;系统所提供的分析方法以及公式和报表的信息;具体包括以下信息企业概念模型这是业务元数据所应提供的重要的信息,它表示企业数据模型的高层信息、整个企业的业务概念和相互关系以这个企业模型为基础,不懂数据库技术和SQL语句的业务人员对数据仓库中的数据也能做到心中有数多维数据模型这是企业概念模型的重要组成部分,它告诉业务分析人员在数据集市当中有哪些维、维的类别、数据立方体以及数据集市中的聚合规则这里的数据立方体表示某主题领域业务事实表和维表的多维组织形式业务概念模型和物理数据之间的依赖以上提到的业务元数据只是表示出了数据的业务视图,这些业务视图与实际的数据仓库或数据库、多维数据库中的表、字段、维、层次等之间的对应关系也应该在元数据知识库中有所体现
2.2元数据的作用与其说数据仓库是软件开发项目,还不如说是系统集成项目
[1],因为它的主要工作是把所需的数据仓库工具集成在一起,完成数据的抽取、转换和加载,OLAP分析和数据挖掘等如图1所示,它的典型结构由操作环境层、数据仓库层和业务层等组成图1数据仓库系统的一般体系结构其中,第一层(操作环境层)是指整个企业内有关业务的OLTP系统和一些外部数据源;第二层是通过把第一层的相关数据抽取到一个中心区而组成的数据仓库层;第三层是为了完成对业务数据的分析而由各种工具组成的业务层图中左边的部分是元数据管理,它起到了承上启下的作用,具体体现在以下几个方面1元数据是进行数据集成所必需的数据仓库最大的特点就是它的集成性这一特点不仅体现在它所包含的数据上,还体现在实施数据仓库项目的过程当中一方面,从各个数据源中抽取的数据要按照一定的模式存入数据仓库中,这些数据源与数据仓库中数据的对应关系及转换规则都要存储在元数据知识库中;另一方面,在数据仓库项目实施过程中,直接建立数据仓库往往费时、费力,因此在实践当中,人们可能会按照统一的数据模型,首先建设数据集市,然后在各个数据集市的基础上再建设数据仓库不过,当数据集市数量增多时很容易形成“蜘蛛网”现象,而元数据管理是解决“蜘蛛网”的关键如果在建立数据集市的过程中,注意了元数据管理,在集成到数据仓库中时就会比较顺利;相反,如果在建设数据集市的过程中忽视了元数据管理,那么最后的集成过程就会很困难,甚至不可能实现2元数据定义的语义层可以帮助最终用户理解数据仓库中的数据最终用户不可能象数据仓库系统管理员或开发人员那样熟悉数据库技术,因此迫切需要有一个“翻译”,能够使他们清晰地理解数据仓库中数据的含意元数据可以实现业务模型与数据模型之间的映射,因而可以把数据以用户需要的方式“翻译”出来,从而帮助最终用户理解和使用数据3元数据是保证数据质量的关键数据仓库或数据集市建立好以后,使用者在使用的时候,常常会产生对数据的怀疑这些怀疑往往是由于底层的数据对于用户来说是不“透明”的,使用者很自然地对结果产生怀疑而借助元数据管理系统,最终的使用者对各个数据的来龙去脉以及数据抽取和转换的规则都会很方便地得到,这样他们自然会对数据具有信心;当然也可便捷地发现数据所存在的质量问题甚至国外有学者还在元数据模型的基础上引入质量维
[6],从更高的角度上来解决这一问题4元数据可以支持需求变化随着信息技术的发展和企业职能的变化,企业的需求也在不断地改变如何构造一个随着需求改变而平滑变化的软件系统,是软件工程领域中的一个重要问题传统的信息系统往往是通过文档来适应需求变化,但是仅仅依靠文档还是远远不够的成功的元数据管理系统可以把整个业务的工作流、数据流和信息流有效地管理起来,使得系统不依赖特定的开发人员,从而提高系统的可扩展性
3.数据仓库元数据管理现状由以上几节我们了解到元数据几乎可以被称为是数据仓库乃至商业智能(BI)系统的“灵魂”,正是由于元数据在整个数据仓库生命周期中有着重要的地位,各个厂商的数据仓库解决方案都提到了关于对元数据的管理但遗憾的是对于元数据的管理,各个解决方案都没有明确提出一个完整的管理模式;它们提供的仅仅是对特定的局部元数据的管理当前市场上与元数据有关的主要工具见图2图2当前市场与元数据有关的主要工具如图2所示,与元数据相关的数据仓库工具大致可分为四类
1.数据抽取工具把业务系统中的数据抽取、转换、集成到数据仓库中,如Ardent的DataStage、CA(原Platinum)的DecisionBase和ETI的Extract等这些工具仅提供了技术元数据,几乎没有提供对业务元数据的支持
2.前端展现工具包括OLAP分析、报表和商业智能工具等,如MicroStrategy的DSSAgent、Cognos的PowerPlay、BusinessObjects的BO,以及Brio等它们通过把关系表映射成与业务相关的事实和维来支持多维业务视图,进而对数据仓库中的数据进行多维分析这些工具都提供了业务元数据与技术元数据相对应的语义层
3.建模工具为非技术人员准备的业务建模工具,这些工具可以提供更高层的与特定业务相关的语义如CA的ERwin、Sysbase的PowerDesigner以、Rational的Rose等
4.元数据存储工具元数据通常存储在专用的数据库中,该数据库就如同一个“黑盒子”,外部无法知道这些工具所用到和产生的元数据是如何存储的还有一类被称为元数据知识库(MetadataRepository)的工具,它们独立于其它工具,为元数据提供一个集中的存储空间这些工具包括微软的Repository,CA的Repository、Ardent的MetaStage和Sybase的WCC等
4.元数据管理的标准化没有规矩不成方圆元数据管理之所以困难,一个很重要的原因就是缺乏统一的标准在这种情况下,各公司的元数据管理解决方案各不相同近几年,随着元数据联盟MDC(MetaDataCoalition)的开放信息模型OIM(OpenInformationModel)和OMG组织的公共仓库模型CWM(CommonWarehouseModel)标准的逐渐完善,以及MDC和OMG组织的合并,为数据仓库厂商提供了统一的标准,从而为元数据管理铺平了道路从元数据的发展历史不难看出,元数据管理主要有两种方法1对于相对简单的环境,按照通用的元数据管理标准建立一个集中式的元数据知识库2对于比较复杂的环境,分别建立各部分的元数据管理系统,形成分布式元数据知识库,然后,通过建立标准的元数据交换格式,实现元数据的集成管理下面我们分别介绍数据仓库领域中两个最主要的元数据标准MDC的OIM标准和OMG的CWM标准
4.1MDC的OIM存储模型MDC成立于1995年,是一个致力于建立与厂商无关的、不依赖于具体技术的企业元数据管理标准的非赢利技术联盟,该联盟有150多个会员,其中包括微软和IBM等著名软件厂商1999年7月MDC接受了微软的建议,将OIM作为元数据标准OIM的目的是通过公共的元数据信息来支持不同工具和系统之间数据的共享和重用它涉及了信息系统(从设计到发布)的各个阶段,通过对元数据类型的标准描述来达到工具和知识库之间的数据共享OIM所声明的元数据类型都采用统一建模语言UML(UniversalModelingLanguage)进行描述,并被组织成易于使用、易于扩展的多个主题范围(SubjectAreas),这些主题范围包括分析与设计(AnalysisandDesign)主要用于软件分析、设计和建模该主题范围又进一步划分为UML包(Package)、UML扩展包、通用元素(GenericElements)包、公共数据类型(CommonDataTypes)包和实体关系建模(EntityRelationshipModeling)包等对象与组件(ObjectandComponent)涉及面向对象开发技术的方方面面该主题范围只包含组件描述建模(ComponentDescriptionModeling)包数据库与数据仓库(DatabaseandWarehousing)为数据库模式管理、复用和建立数据仓库提供元数据概念支持该主题范围进一步划分为关系数据库模式(RelationalDatabaseSchema)包、OLAP模式(OLAPSchema)包、数据转换(DataTransformations)包、面向记录的数据库模式(Record-OrientedDatabaseSchema)包、XML模式(XMLSchema)包和报表定义(ReportDefinitions)包等业务工程(BusinessEngineering)为企业运作提供一个蓝图该主题范围进一步划分为业务目标(BusinessGoal)包、组织元素(OrganizationalElements)包、业务规则(BusinessRules)包、商业流程(BusinessProcesses)包等知识管理(KnowledgeManagement)涉及企业的信息结构该主题范围进一步划分为知识描述(KnowledgeDescriptions)包和语义定义(SemanticDefinitions)包上述主题范围中的包都是采用UML定义的,可以说UML语言是整个OIM标准的基础虽然OIM标准并不是专门针对数据仓库的,但数据仓库是它的主要应用领域之一目前市场上基于该标准的元数据管理工具已经比较成熟,例如微软的Repositry和CA的Repositry均采用了OIM标准
4.2OMG组织的CWM模型OMG是一个拥有500多会员的国际标准化组织,著名的CORBA标准即出自该组织公共仓库元模型(CommonWarehouseMetamodel)的主要目的是在异构环境下,帮助不同的数据仓库工具、平台和元数据知识库进行元数据交换2001年3月,OMG颁布了CWM
1.0标准CWM模型既包括元数据存储,也包括元数据交换,它是基于以下三个工业标准制定的1UML它对CWM模型进行建模2MOF(元对象设施)它是OMG元模型和元数据的存储标准,提供在异构环境下对元数据知识库的访问接口3XMI(XML元数据交换)它可以使元数据以XML文件流的方式进行交换OMG元数据知识库体系结构如图3所示图3OMG的元数据仓储体系结构CWM为数据仓库和商业智能(BI)工具之间共享元数据,制定了一整套关于语法和语义的规范它主要包含以下四个方面的规范1CWM元模型(Metamodel)描述数据仓库系统的模型;2CWMXML CWM元模型的XML表示;3CWMDTD DW/BI共享元数据的交换格式4CWMIDL DW/BI共享元数据的应用程序访问接口(API)下面重点讨论CWM元模型的组成,它与OIM规范一样,也是由很多包组成的组成CWM元模型的包结构如图4所示图4CWM元模型的包结构1元模型(MetaModel)包构造和描述其它CWM包中的元模型类的基础它是UML的一个子集,由以下四个子包组成a核心(Core)包它的类和关联是该模型的核心,其它所有的包都以它为基础b行为(Behavioral)包包括描述CWM对象行为的类与关联,并且它为描述所定义的行为提供了基础c关系(Relationships)包包括描述CWM对象之间关系的类与关联d实例(Instance)包包括表示CWM分类器(Classfier)的类与关联2基础包(Foundation)它包括表示CWM概念和结构的模型元素,这些模型元素又可被其他CWM包所共享,它由以下六个子包组成a业务信息(BusinessInformation)包包括表示模型元素业务信息的类与关联b数据类型(DataTypes)包包括表示建模者可以用来创建所需数据类型的结构的类与关联c表达式(Expressions)包包括表示表达式树的类与关联d关键字和索引(KeysandIndexes)包包括表示键和索引的类与关联e软件发布(SoftwareDeployment)包包括软件如何在数据仓库中发布的类与关联f类型映射(TypeMapping)包包括表示不同系统之间数据类型映射的类与关联3资源包(Resource)用于描述数据资源的包,它包括以下四个子包a关系(Relational)包包括表示关系型数据资源的元数据的类与关联b记录(Record)包包括表示记录型数据资源的元数据的类与关联c多维(Multidimensional)包包括表示多维数据资源的元数据的类与关联dXML包包括表示XML数据资源的元数据的类与关联4分析(Analysis)包它由以下五个子包组成a转换(Transformation)包包括表示数据抽取和转换工具的元数据的类与关联bOLAP包包括表示OLAP工具的元数据的类与关联c数据挖掘(DataMining)包包括表示数据挖掘工具的元数据的类与关联d信息可视化(InformationVisualization)包包括表示信息可视化工具的元数据的类与关联e业务术语(BusinessNomenclature)包包括表示分类业务的元数据的类与关联5管理(Management)包用于描述数据仓库管理的包,它包括以下两个子包a仓库过程(WarehouseProcess)包包括表示仓库过程的元数据的类与关联b仓库操作(WarehouseOperation)包包括表示仓库操作结果的元数据的类与关联
4.3CWM与OIM之间的关系上两节分别介绍了与数据仓库相关的两个主要标准,CWM实际上是专门为数据仓库元数据而制定的一套标准,而OIM并不是针对数据仓库元数据的OIM所关注的元数据的范围比CWM要广,CWM只限定于数据仓库领域,而OIM模型却包括有分析与设计模型、对象与组件、数据库与数据仓库、商业工程、知识管理等五个领域OIM与CWM在建模语言的选择(都选择UML当做自己的描述语言)、数据库模型的支持、OLAP分析模型的支持、数据转换模型的支持方面都比较一致;但是OIM并不是基于元对象设施(MOF)的,这意味着用OIM所描述的元数据需要通过其它的接口才能访问,而CWM所描述的元数据可以通过CORBAIDL来访问;在数据交换方面,OIM必须通过特定的转换形成XML文件来交换元数据,而CWM可以用XMI来进行交换尽管如此,由于OMG与MDC两个组织的合并,CWM也会与OIM相互兼容以保护厂商已有的投资需要说明的是,MDC与OMG组织已经合并,今后所有的工具都将遵循统一的CWM标准,不过支持CWM的工具才刚刚出现,而支持OIM标准的工具已经相对成熟
5.针对元数据管理的相关研究工作在数据仓库的研究课题当中,有许多是针对元数据的研究文献〔5〕描述了一个在数据仓库环境中,基于微软的Repositry的、元数据驱动的数据转换方法,它包含了技术元数据与业务元数据;文献〔6〕中描述了一个基于元数据的数据仓库安全的解决方法,它只限定在技术元数据级别;更有名的一个研究项目是数据仓库质量项目(DataWarehouseQuality),这个项目的核心是通过元数据模型来衡量整个数据仓库中的数据质量它是基于一个演绎数据库CONCEPTBASE的,并且使用该数据库特定的逻辑语言进行描述,目前该项目距离实用的阶段还比较远
6.元数据管理系统的设计原则数据仓库环境下的元数据管理系统的建设是十分困难的但是在实际项目的实施过程中,这个环节又是非常重要的当前情况下,我们认为OMG组织的CWM标准将会成为数据仓库元数据领域事实上的标准,在元数据管理系统的建立过程中应尽量参考这个标准,这样使系统的可扩展性增强可是在与之相关的工具成熟之前,我们完全可以采用OIM中的元模型(因CWM对OIM是兼容的)以及支持它的元数据管理工具进行元数据管理系统的建设,而且元数据所包含的范围很广我们在建立元数据管理系统的时候,绝对不能盲目追求大而全,要坚持目标驱动的原则,在实施的时候要采取增量式、渐进式的建设原则具体的建设步骤如下
(1)如果是在建设数据仓库系统的初期,那么首先要确定系统的边界范围,系统范围确定的原则是首先保障重点,不求大,只求精
(2)系统边界确定以后,把现有系统的元数据整理出来,加入语义层的对应然后存到一个数据库中,这个数据库可以采用专用的元数据知识库,也可以采用一般的关系型数据库
(3)确定元数据管理的范围比如,我们只想通过元数据来管理数据仓库中数据的转换过程,以及有关数据的抽取路线,以使数据仓库开发和使用人员明白仓库中数据的整个历史过程
(4)确定元数据管理的工具,采用一定的工具可以完成相应的工作当前相关工具有微软的Repositry,它带有相应的编程接口,可以借助于它来完成元模型出入库的功能;与之相似的还有Platinum的OEE;另外还有Sybase的Wcc,它可以通过MDC以前的一个老标准――MDIS来集成抽取工具与转换工具,在一个窗口中就可以表示数据抽取与转换,并且可以把语义层以MDIS的格式导出到一个前端工具当中(比如Cognos的Improptu)总之,建立元数据管理系统一定要坚持关注标准,又不被标准所束缚的原则,建立符合自身目标的元数据管理系统参考文献
[1]Stohr.T.Muller.R.andRahm.E.AnIntegrativeandUniformModelforMetadataManagementinDataWarehousingEnvironments.
[2]Marco.David.BuildingandmanagingtheMetaDataRepositoryafulllifecycleGuideWILEY2000
[3]http://www.olapreport.org/fasmi.html
[4]JosephM.FirestonePh.d.DataWarehousesandDataMarts:ADynamicViewExecutiveInformationSystemInc.WhitePaper3March271997;3
[5]廖璘王立刚刘文煌,“构造数据仓库系统的元数据”,计算机工程与应用
2001.1MetadataCoalition:MetadataInterchangeSpecificationVers.
1.1Aug.
1998.http://xml.coverpages.org/MDCOIM11-pdf.gzhttp://xml.coverpages.org/MDCOIM11-pdf.gz
[6]JeusfeldM.A.;QuixC.;JarkeM.DesignandAnalysisofQualityInformationforDataWarehouses.InProc.17thInternationalConferenceonConceptualModelingER98SingaporeNov16-
191998.
[7]ObjectManagementGroupOMG.CommonWarehouseMetaModelSpecification
1.0JAN2000http://www.cwmforum.org/
[8]Daniel.Dr.Chang.T.CWMEnablementShowcase:WarehouseMetadataInterchangeMadeEasyUsingCWMhttp://www.cwmforum.org/.业务层数据仓库层操作环境层外部数据源RDBMS数据仓库企业数据模型、多维数据模型数据挖掘OLAP分析即席查询元数据知识库业务元数据技术元数据元数据管理建模工具ERwinPowerDesignerRose数据转换工具DataStageDecisionBaseExtract前端展现工具BOBrioCognosDSSAgent元数据存储工具RepositoryMetaStageWCC对象服务ORB仓储公共设施UMLMOFXMI其它工具和元数据知识库类型映射键索引表达式数据类型业务术语信息可视化数据挖掘OLAP分析基础对象UML分析资源管理UML
1.3基础,行为元素,模型管理软件发布业务信息关系型资源多维记录型XML转换仓库操作仓库过程对象模型。