当前位置:文档之家› 元数据管理

元数据管理

1.前言数据仓库中的数据是从许多业务处理系统中抽取、转换而来,对于这样一个复杂的企业数据环境,如何以安全、高效的方式来对它们进行管理和访问就变得尤为重要。

解决这一问题的关键是对元数据进行科学有效的管理。

元数据是关于数据、操纵数据的进程和应用程序的结构和意义的描述信息,其主要目标是提供数据资源的全面指南。

元数据不仅定义了数据仓库中数据的模式、来源以及抽取和转换规则等,而且整个数据仓库系统的运行都是基于元数据的,是元数据把数据仓库系统中的各个松散的组件联系起来,组成了一个有机的整体。

2.元数据2.1 元数据的概念按照传统的定义,元数据(Metadata)是关于数据的数据。

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

技术元数据是存储关于数据仓库系统技术细节的数据,是用于开发和管理数据仓库使用的数据。

业务元数据从业务角度描述了数据仓库中的数据,它提供了介于使用者和实际系统之间的语义层,使得不懂计算机技术的业务人员也能够“读懂”数据仓库中的数据。

业务元数据主要包括以下信息:使用者的业务术语所表达的数据模型、对象名和属性名;访问数据的原则和数据的来源;系统所提供的分析方法以及公式和报表的信息。

2.2 元数据的作用在数据仓库系统中,元数据机制主要支持以下五类系统管理功能:(1)描述哪些数据在数据仓库中;(2)定义要进入数据仓库中的数据和从数据仓库中产生的数据;(3)记录根据业务事件发生而随之进行的数据抽取工作时间安排;(4)记录并检测系统数据一致性的要求和执行情况;(5)衡量数据质量。

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

3.数据仓库元数据管理现状元数据管理的主要任务有两个方面:一是负责存储和维护元数据库中的元数据;二是负责数据仓库建模工具、数据获取工具、前端工具等之间的消息传递,协调各模块和工具之间的工作。

元数据几乎可以被称为是数据仓库乃至商业智能(BI)系统的“灵魂”,正是由于元数据在整个数据仓库生命周期中有着重要的地位,各个厂商的数据仓库解决方案都提到了关于对元数据的管理。

但遗憾的是对于元数据的管理,各个解决方案都没有明确提出一个完整的管理模式;它们提供的仅仅是对特定的局部元数据的管理。

与元数据相关的数据仓库工具大致可分为四类: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 Repository)的工具,它们独立于其它工具,为元数据提供一个集中的存储空间。

包括微软的Repository,CA的Repository,Ardent 的MetaStage和Sybase的WCC等。

4.元数据管理的标准化没有规矩不成方圆。

元数据管理之所以困难,一个很重要的原因就是缺乏统一的标准。

在这种情况下,各公司的元数据管理解决方案各不相同。

近几年,随着元数据联盟MDC(Meta Data Coalition)的开放信息模型OIM (Open Information Model)和OMG组织的公共仓库模型CWM(Common Warehouse Model)标准的逐渐完善,以及MDC和OMG组织的合并,为数据仓库厂商提供了统一的标准,从而为元数据管理铺平了道路。

从元数据的发展历史不难看出,元数据管理主要有两种方法:(1) 对于相对简单的环境,按照通用的元数据管理标准建立一个集中式的元数据知识库。

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

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

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

1999年7月MDC接受了微软的建议,将OIM作为元数据标准。

OIM的目的是通过公共的元数据信息来支持不同工具和系统之间数据的共享和重用。

它涉及了信息系统(从设计到发布)的各个阶段,通过对元数据类型的标准描述来达到工具和知识库之间的数据共享。

OIM所声明的元数据类型都采用统一建模语言UML(Universal Modeling Language)进行描述,并被组织成易于使用、易于扩展的多个主题范围(Subject Areas)。

这些主题范围中的包都是采用UML定义的,可以说UML语言是整个OIM标准的基础。

虽然OIM标准并不是专门针对数据仓库的,但数据仓库是它的主要应用领域之一。

目前市场上基于该标准的元数据管理工具已经比较成熟,例如微软的Repositry和CA的Repositry均采用了OIM标准。

4.2 OMG组织的CWM模型OMG是一个拥有500多会员的国际标准化组织,著名的CORBA标准即出自该组织。

公共仓库元模型(Common Warehouse Metamodel)的主要目的是在异构环境下,帮助不同的数据仓库工具、平台和元数据知识库进行元数据交换。

2001年3月,OMG颁布了CWM 1.0标准。

CWM模型既包括元数据存储,也包括元数据交换,它是基于以下三个工业标准制定的:(1) UML:它对CWM模型进行建模。

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

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

CWM为数据仓库和商业智能(BI)工具之间共享元数据,制定了一整套关于语法和语义的规范。

它主要包含以下四个方面的规范:(1) CWM元模型(Metamodel):描述数据仓库系统的模型;(2) CWM XML:CWM元模型的XML表示;(3) CWM DTD:DW/BI共享元数据的交换格式(4) CWM IDL:DW/BI共享元数据的应用程序访问接口(API)CWM元模型的组成与OIM规范一样,也是由很多包组成的。

在数据抽取过程中,数据从各个业务系统中被统一转换存储到中央数据仓库中。

CWM中的转换模型定义了数据在源和目的之间移动的过程,其中不仅包括源和目标之间的参数,还包括转换中的业务逻辑。

这些业务逻辑可能包括一些商业规则、类库甚至是用户脚本。

数据仓库如果有一个规范的转换模型将给工具软件厂商和专业服务提供商带来极大的好处,例如,按照统一的规范厂商可以设计一个通用的模型从标准ERP包中抽取数据。

工具厂商甚至可以随软件提供成熟的模型,集成商也可以将一个模型应用到多个项目中。

最终用户同样也能从CWM中受益,在使用商业智能分析软件进行多维分析的时候,用户往往会对数据的含义和来源产生疑问。

CWM能够提供这些信息,用户可以清楚地看到数据来自哪个系统,并且是如何组成的。

4.3 CWM与OIM之间的关系上两节分别介绍了与数据仓库相关的两个主要标准,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. 元数据管理系统的设计与实现5.1 设计原则数据仓库环境下的元数据管理系统的建设是十分困难的。

但是在实际项目的实施过程中,这个环节又是非常重要的。

当前情况下,OMG组织的CWM标准将会成为数据仓库元数据领域事实上的标准,在元数据管理系统的建立过程中应尽量参考这个标准,这样使系统的可扩展性增强。

可是在与之相关的工具成熟之前,我们完全可以采用OIM中的元模型(因CWM对OIM是兼容的)以及支持它的元数据管理工具进行元数据管理系统的建设,而且元数据所包含的范围很广。

我们在建立元数据管理系统的时候,绝对不能盲目追求大而全,要坚持目标驱动的原则,在实施的时候要采取增量式、渐进式的建设原则。

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

(2)系统边界确定以后,把现有系统的元数据整理出来,加入语义层的对应。

然后存到一个数据库中,这个数据库可以采用专用的元数据知识库,也可以采用一般的关系型数据库。

(3)确定元数据管理的范围。

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

相关主题