1.前言
数据仓库中的数据是从许多业务处理系统中抽取、转换
而来,对于这样一个复杂的企业数据环境,如何以安全、
高效的方式来对它们进行管理和访问就变得尤为重
要。解决这一问题的关键是对元数据进行科学有效的管
理。元数据是关于数据、操纵数据的进程和应用程序的
结构和意义的描述信息,其主要目标是提供数据资源的
全面指南。元数据不仅定义了数据仓库中数据的模式、
来源以及抽取和转换规则等,而且整个数据仓库系统的
运行都是基于元数据的,是元数据把数据仓库系统中的
各个松散的组件联系起来,组成了一个有机的整体。
2.元数据
2.1元数据的概念
按照传统的定义,元数据(Metadata)是关于数据的数
据。在数据仓库系统中,元数据可以帮助数据仓库管理
员和数据仓库的开发人员非常方便地找到他们所关心
的数据;元数据是描述数据仓库内数据的结构和建立方
法的数据,可将其按用途的不同分为两类:技术元数据
(TechnicalMetadata)和业务元数据(Business
Metadata)。
技术元数据是存储关于数据仓库系统技术细节的数据,
是用于开发和管理数据仓库使用的数据。
业务元数据从业务角度描述了数据仓库中的数据,它提
供了介于使用者和实际系统之间的语义层,使得不懂计
算机技术的业务人员也能够“读懂”数据仓库中的数
据。业务元数据主要包括以下信息:使用者的业务术语
所表达的数据模型、对象名和属性名;访问数据的原则
和数据的来源;系统所提供的分析方法以及公式和报表
的信息。
2.2元数据的作用
在数据仓库系统中,元数据机制主要支持以下五类系统
管理功能:(1)描述哪些数据在数据仓库中;(2)定
义要进入数据仓库中的数据和从数据仓库中产生的数
据;(3)记录根据业务事件发生而随之进行的数据抽
取工作时间安排;(4)记录并检测系统数据一致性的
要求和执行情况;(5)衡量数据质量。
与其说数据仓库是软件开发项目,还不如说是系统集成
项目[1],因为它的主要工作是把所需的数据仓库工具集
成在一起,完成数据的抽取、转换和加载,OLAP分析
和数据挖掘等。
3.数据仓库元数据管理现状
元数据管理的主要任务有两个方面:一是负责存储和维
护元数据库中的元数据;二是负责数据仓库建模工具、
数据获取工具、前端工具等之间的消息传递,协调各模
块和工具之间的工作。
元数据几乎可以被称为是数据仓库乃至商业智能(BI)
系统的“灵魂”,正是由于元数据在整个数据仓库生命周
期中有着重要的地位,各个厂商的数据仓库解决方案
都提到了关于对元数据的管理。但遗憾的是对于元数据
的管理,各个解决方案都没有明确提出一个完整的管理
模式;它们提供的仅仅是对特定的局部元数据的管理。
与元数据相关的数据仓库工具大致可分为四类:
1.数据抽取工具:把业务系统中的数据抽取、转换、
集成到数据仓库中,如Ardent的DataStage、CA(原
Platinum)的DecisionBa和ETI的Extract等。这些
工具仅提供了技术元数据,几乎没有提供对业务元数据
的支持。
2.前端展现工具:包括OLAP分析、报表和商业智能
工具等,如MicroStrategy的DSSAgent、Cognos的
PowerPlay、BusinessObjects的BO,以及Brio等。它
们通过把关系表映射成与业务相关的事实表和维表来
支持多维业务视图,进而对数据仓库中的数据进行多维
分析。这些工具都提供了业务元数据与技术元数据相
对应的语义层。
3.建模工具:为非技术人员准备的业务建模工具,这
些工具可以提供更高层的与特定业务相关的语义。如
CA的ERwin、Sysba的PowerDesigner以及Rational
的Ro等。
4.元数据存储工具:元数据通常存储在专用的数据库
中,该数据库就如同一个“黑盒子”,外部无法知道这些
工具所用到和产生的元数据是如何存储的。还有一类被
称为元数据知识库(MetadataRepository)的工具,它
们独立于其它工具,为元数据提供一个集中的存储空
间。包括微软的Repository,CA的Repository,Ardent
的MetaStage和Syba的WCC等。
4.元数据管理的标准化
没有规矩不成方圆。元数据管理之所以困难,一个很重
要的原因就是缺乏统一的标准。在这种情况下,各公司
的元数据管理解决方案各不相同。近几年,随着元数据
联盟MDC(MetaDataCoalition)的开放信息模型OIM
(OpenInformationModel)和OMG组织的公共仓库模
型CWM(CommonWarehouModel)标准的逐渐完善,
以及MDC和OMG组织的合并,为数据仓库厂商提供
了统一的标准,从而为元数据管理铺平了道路。
从元数据的发展历史不难看出,元数据管理主要有两种
方法:
(1)对于相对简单的环境,按照通用的元数据管理标准
建立一个集中式的元数据知识库。
(2)对于比较复杂的环境,分别建立各部分的元数据管
理系统,形成分布式元数据知识库,然后,通过建立标
准的元数据交换格式,实现元数据的集成管理。
下面我们分别介绍数据仓库领域中两个最主要的元数
据标准:MDC的OIM标准和OMG的CWM标准。
4.1MDC的OIM存储模型
MDC成立于1995年,是一个致力于建立与厂商无关的、
不依赖于具体技术的企业元数据管理标准的非赢利技
术联盟,该联盟有150多个会员,其中包括微软和IBM
等著名软件厂商。1999年7月MDC接受了微软的建议,
将OIM作为元数据标准。
OIM的目的是通过公共的元数据信息来支持不同工具
和系统之间数据的共享和重用。它涉及了信息系统(从
设计到发布)的各个阶段,通过对元数据类型的标准描
述来达到工具和知识库之间的数据共享。OIM所声明的
元数据类型都采用统一建模语言UML(Universal
ModelingLanguage)进行描述,并被组织成易于使用、
易于扩展的多个主题范围(SubjectAreas)。这些主题范
围中的包都是采用UML定义的,可以说UML语言是
整个OIM标准的基础。虽然OIM标准并不是专门针对
数据仓库的,但数据仓库是它的主要应用领域之一。
目前市场上基于该标准的元数据管理工具已经比较成
熟,例如微软的Repositry和CA的Repositry均采用了
OIM标准。
4.2OMG组织的CWM模型
OMG是一个拥有500多会员的国际标准化组织,著名
的CORBA标准即出自该组织。公共仓库元模型
(CommonWarehouMetamodel)的主要目的是在异构
环境下,帮助不同的数据仓库工具、平台和元数据知识
库进行元数据交换。2001年3月,OMG颁布了CWM1.0
标准。CWM模型既包括元数据存储,也包括元数据交
换,它是基于以下三个工业标准制定的:
(1)UML:它对CWM模型进行建模。
(2)MOF(元对象设施):它是OMG元模型和元数据的
存储标准,提供在异构环境下对元数据知识库的访问接
口。
(3)XMI(XML元数据交换):它可以使元数据以XML
文件流的方式进行交换。
CWM为数据仓库和商业智能(BI)工具之间共享元数
据,制定了一整套关于语法和语义的规范。它主要包含
以下四个方面的规范:
(1)CWM元模型(Metamodel):描述数据仓库系统的模
型;
(2)CWMXML:CWM元模型的XML表示;
(3)CWMDTD:DW/BI共享元数据的交换格式
(4)CWMIDL:DW/BI共享元数据的应用程序访问接口
(API)
CWM元模型的组成与OIM规范一样,也是由很多包组
成的。
在数据抽取过程中,数据从各个业务系统中被统一转换
存储到中央数据仓库中。CWM中的转换模型定义了数
据在源和目的之间移动的过程,其中不仅包括源和目标
之间的参数,还包括转换中的业务逻辑。这些业务逻辑
可能包括一些商业规则、类库甚至是用户脚本。数据仓
库如果有一个规范的转换模型将给工具软件厂商和专
业服务提供商带来极大的好处,例如,按照统一的规
范厂商可以设计一个通用的模型从标准ERP包中抽取
数据。工具厂商甚至可以随软件提供成熟的模型,集成
商也可以将一个模型应用到多个项目中。
最终用户同样也能从CWM中受益,在使用商业智能分
析软件进行多维分析的时候,用户往往会对数据的含义
和来源产生疑问。CWM能够提供这些信息,用户可以
清楚地看到数据来自哪个系统,并且是如何组成的。
4.3CWM与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)确定元数据管理的范围。比如,我们只想通过元
数据来管理数据仓库中数据的转换过程,以及有关数据
的抽取路线,以使数据仓库开发和使用人员明白仓库中
数据的整个历史过程。
(4)确定元数据管理的工具,采用一定的工具可以完
成相应的工作。当前相关工具有微软的Repositry,它带
有相应的编程接口,可以借助于它来完成元模型出入
库的功能;与之相似的还有Platinum的OEE;另外还
有Syba的Wcc,它可以通过MDC以前的一个老标
准――MDIS来集成抽取工具与转换工具,在一个窗
口中就可以表示数据抽取与转换,并且可以把语义层以
MDIS的格式导出到一个前端工具当中(比如Cognos
的Improptu)。
5.2元数据存储模式
元数据存在的状况是有差异的,系统层元数据应随数据
库存在,且由建立在分布式网络数据库管理系统统一管
理;数据集层次元数据可以随数据库存在也可随数据集
存在;数据特征层次的元数据只能随数据集存在。
简单地,元数据存贮有两种形式:其一是以数据集为基
础,即每一个数据集有一个对应的元数据文档,每一个
元数据文件中包含对相应数据集的元数据内容。另一种
存在方式是以数据库为基础(即元数据库),给一个数
据库有一个元数据文件,该文件为一表格数据,它由若
干项组成,每一项表示元数据的一个要素,其记录为每
一个数据集的元数据内容。、
两种存贮方式各有优缺点,对于第一种存储模式,其好
处是调用数据时其相应的元数据也作为一个独立的文
件被传输,相对数据库有较强的独立性,在对元数据进
行检索时可以利用数据库的功能实现,也可以将元数
据文件调到其它数据库系统中进行操作;其问题是:每
一数据集都有一个元数据文档,那么在规模巨大的数据
库中则会有大量的元数据文件,管理上极为不便。在
第二中存在模式中,由于库中只有一个元数据文件,管
理极为方便,添加或删除数据集只把该文件中添加或删
除相应的记录项即可;但如果想获取某数据集的元数
据时,实际得到的只是关系表格数据的一个记录,则要
求数据用户使用的系统中可以接受这种特定形式的数
据。因此推荐使用元数据库的方式。
元数据库是用于存储元数据的地方,元数据库最好选用
主流的关系数据库管理系统,支持CWM标准。一个元
数据库还包含那些用于操作和查询元数据的机制;建立
元数据库的主要好处是提供了统一的关键数据结构和
业务规则,易于将企业内部的多个数据集市有机的结合
起来;特别是,现在一些客户倾向建立多个数据集市,
而不是一个庞大无比的数据仓库。可以考虑在建立数
据仓库(或数据集市)之前,先建立一个用于描述数据
的、用于应用集成的元数据库,做好数据仓库实施的初
期支持工作,对后续开发和维护有很大的帮助。
在拥有不同厂商、不同功能和不同元数据库的环境下,
要实现两种产品之间的元数据同步是非常富有挑战性
的工作。因为必须从一种产品中获得足够详细的元数
据,将其映射到另一种产品中,再指出两者意义或编
码的差别;通常系统有数百、数千个元数据,必须对每
个元数据重复这一过程。
在整个数据仓库环境中,元数据管理工具可以从各个数
据仓库组件中收集元数据,存储到元数据库中,然后向
业务用户传递和展示正确的信息。采集、集成和描述元
数据可以扩展到十分广泛的范围,可以在设计和建模的
过程中,可以在数据转换、清洗和过滤的过程中,也可
以在数据移植的过程中;可以从数据库/数据存储软
件,和前端展示工具中得到元数据。
元数据库为整个企业的宝贵信息提供了详细的记录,保
存数据存储位置和商业含义、生成和维护数据的主体、
数据驱动的应用处理、与其它数据的关系以及数据的转
换过程等。元数据库保证了数据仓库数据的一致性和准
确性,为企业进行数据质量管理提供数据依据。
另外,元数据库还支持强大的查询和报表生成工具,用
户使用报表工具可以查询元数据库,从元数据库获得重
要的决策支持信息。
5.3元数据管理模式
元数据管理涉及到各个层次的元数据,管理的内容包括
元数据的获取、元数据的更新、使用和面向应用项目的
元数据使用处理等多个方面。元数据的管理涉及数据
库、数据处理软件、数据使用系统、面向应用的数据分
析等各个环节。
通常意义上的元数据管理是指元数据通过各种途径形
成后,对其内容的添加、删除、更新等涉及内容改变的
操作和元数据内容检索、查询、放置、组织等常规性元
数据操作,从这种意义上元数据的管理可以通过两种
方式实现,即系统管理模式和用户管理模式。系统管理
模式是面向数据库的,由数据库管理系统专业人员完
成,数据用户只有使用权,没有元数据的操作权,数
据应用项目中新生成的数据集的元数据也有应用系统
传递给数据库管理员,然后由数据库管理员统一管理。
这种方式中,数据在处理过程中形成的动态元数据很
难及时记录下来。另一种管理方式是用户管理模式,它
是面向应用项目的,即允许某些数据用户在数据应用元
数据的变动信息直接反馈给元数据库,这样则能保证
元数据的动态更新和新生成数据集元数据的及时捕获
及写入元数据文件。但这种模式中数据用户的权限要适
当的控制,以避免数据库的破坏。通常对元数据的管
理是采用两者结合的模式。
总之,建立元数据管理系统一定要坚持关注标准,又不
被标准所束缚的原则,建立符合自身目标的元数据管理
系统。
本文发布于:2023-01-04 05:39:15,感谢您对本站的认可!
本文链接:http://www.wtabcd.cn/fanwen/fan/90/88929.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |