公共仓库元模型(CWM)学习(一)

更新时间:2023-06-25 21:28:20 阅读: 评论:0

公共仓库元模型(CWM)学习(⼀)
⼀、什么是CWM?
在我们学习⼀个新东西时,⾸先得弄懂明⽩它是⽤来⼲什么的?然后通过实例与理论交错学习,CWM——Common Warehou Metamodel,很明显翻译过来时公共仓库元模型,CWM的提出主要基于以下背景:
从数据仓库开发者的⾓度:单⼀⼯具很少能完全满⾜⽤户不断变化的需求,但同时⼜很难对各种产品进⾏集成;
从数据仓库⽤户的⾓度:⾯对的信息量太⼤,⽆法轻易找到⾃⼰真正需要的,⽽且把这些信息完整正确地表⽰出来也是个挑战;
从数据仓库供应商的⾓度:⽬前信息的共享还没有标准格式,元数据集成的代价太⼤;
现在有很多数据仓库产品,它们对元数据都有⾃⼰的定义和格式,百家争鸣,都不愿与其他⼚商共享,然后最终的客户往往⼜不会选择⼀家公司为其建设数据仓库,其主要原因我想还是怕在⼀棵树上吊死, 因此创建、管理和共享元数据很耗时⽽且容易出错。要解决上⾯这些问题,就必须得⽤标准的语⾔描述数据仓库元数据的结构和语义,并提供标准的元数据交换机制。CWM就是满⾜这些条件的⼀个规范。
OMG(对象管理组织)在2000年发布了CWM规范,旨在推动数据仓库、智能商务和知识管理⽅⾯元数据的共享和交换。和OMG合作提出CWM 规范的公司有:IBM,Unisys,NCR,Hyperion Solutions,Oracle,UBS AG,Genesis Development,Dimension EDI。还有⼀些公司明确表⽰⽀持CWM,包括:Deere & Company,Sun,HP,Data Access Technologies,InLine Software,Aonix,Hitachi, Ltd。
说⽩了,CWM其实就是⼀个元数据交换的标准,为各种数据仓库产品提出的⼀个标准。
⼆、CWM组成元素?
CWM主要基于以下三个⼯业标准:
UML(Unified Modeling Language):统⼀建模语⾔,是OMG的⼀个建模标准;
MOF(Meta Object Facility):元对象⼯具,是OMG关于元模型和元数据库的⼀个标准;
XMI(XML Metadata Interchange),XML元数据交换,是OMG关于元数据交换的标准;
咋⼀看,是不是很熟悉,尤其是UML 、 XML ⼤家应该很明⽩这是⼲什么的吧,这三个标准是OMG元数据库体系结构的核⼼,UML定义了表⽰模型和元模型的语法和语义。MOF为构建模型和元模型提供
了可扩展的框架,并提供了存取元数据的程序接⼝。⽽利⽤XMI则可以将元数据转换为标准的XML数据流或⽂件的格式,以便进⾏交换,这⼤⼤增强了CWM的通⽤性。
三、CWM元素之间的关系?
从⼩⽼师就教我们团结就是⼒量,如果单独的⾥⾯的某个元素出来,⼲的事情肯定寥寥⽆⼏,⽽且还不尽完美,所以明⽩之间的关系很重要,为了说明CWM和这三个标准之间的关系,⾸先介绍⼀下元数据的层次。传统的元数据有四个层次,除了最底层外,每⼀层都对它的下⼀层进⾏描述。最底层是⽤户对象层(M0),包括⽤户要描述的信息,这些信息统称为数据。向上⼀层是模型层(M1),由描述信息的元数据组成,在这⼀层,元数据⼀般都组合成模型的形式。再向上⼀层是元模型层(M2),由定义M1层元数据格式和语义的描述信息组成,也就是元元数据,⼀般组合成元模型的形式。最⾼层是元元模型层(M3),它定义了元模型的结构和语义。下⾯举个例⼦对这种四层结构进⾏说明。
有关读书的诗四层的内容解释如下:
数据层是学⽣记录(Record)的实例,即具体的某个学⽣;
模型层描述学⽣这个记录类型的内容,它有⼀个名字(“Student”)和两个字段(Field),每个字段都有⼀个名字和类型,⽐如第⼀个字段的名字是“name“,字段类型是String;
元模型层对Record这种类型进⾏定义,在这⼀层, Record是元类metaClass的⼀个实例,⼀个Record拥有两个元属性metaAttribute,第⼀个name定义它的名字,是String类型,第⼆个fields定义它包含的字段集,字段集中的成员是Field类型。类似的,元类field应该也包含两个元属性:名字name和类型type;
难忘初心元元模型层的结构是基本固定的,它将所有概念抽象为以下这些组件:元类meta-Class、元属性meta-Attribute和元关联meta-
Association,并定义了元类之间的关系,主要包括:包含(Contains),继承(Generalizes),类型引⽤(IsOfType)和依赖
(DependsOn);
理论上,还可以再向上抽象,但由于元元模型层是⾃描述的,所以四层就⾜够了。⾄于为什么要抽象出上⾯两层,则是为了⽀持各种不同的模型和元模型。
综上所述,可以⽤下⾯这张表来描述OMG的上述规范和元数据四层结构的对应关系:
image.png
英语三级作文四、 CWM的组成结构
CWM完整地描述了数据仓库元数据交换的语法和语义以及⽤于异质平台之间的元数据交换机制,它由三个部分组成:
1、CWM元模型
CWM元模型描述了数据仓库的组成元素,⽤户可以按照这些元模型开发相应的组件,⽐如ETL、OLAP和数据挖掘等。为了降低复杂度并达到重⽤,CWM元模型采⽤分层的⽅式组织它所包含的包,⼤家可以看看CWM元模型的包结构图:
如图中所⽰,CWM元模型主要包括四层:基础包Foundation,资源包Resource,分析包Analysis和管理包Management。美国本科留学
基础包主要定义了为CWM其它包所共享的⼀些基本概念和结构,它包含的⼦包有:
Business Information:定义了⾯向业务的通⽤信息,⽐如负责⼈信息等;
Data Types:定义了其它包⽤以创建⾃⼰所需的数据类型的元模型组件;
Expressions:定义了CWM其它包定义表达式树所需的元模型组件;
Keys and Indexes:定义了描述关键字和索引的共享元模型;
Software Deployment:描述⼀个软件在数据仓库中如何被使⽤的元模型;
Type Mapping:⽀持不同系统之间数据类型的映射的元模型;
资源包主要定义了⼀些描述常⽤的数据源/⽬标的元模型,它包含的⼦包有:
Relational:描述通过关系型接⼝访问的数据库的数据模型和元模型,⽐如RDBMS,ODBC,JDBC等;
Record:描述记录的基本概念和结构的元模型,这⾥记录的概念很⼴泛,它可以描述任何结构化的信息,⽐如数据库的⼀条记录、⽂档等;Multidimensional:描述多维型数据库的元模型;
XML:描述⽤XML表⽰的数据源和数据⽬标;
分析包主要定义了⼀些描述数据仓库⼯具的元模型,它包含的⼦包有:
Transformation:定义数据仓库中抽取转换规则的元模型,它包含对各种类型数据源之间的转换规则的描述;
OLAP:对OLAP⼯具和应⽤进⾏描述,并定义了它到实际系统的映射;
Data Mining:对数据挖掘⼯具和应⽤进⾏描述;
Information Visualization:定义了问题领域中有关信息发布或者信息可视化的元模型;
Business Nomenclature:对业务数据进⾏描述,⽐如业务术语及其适⽤范围等;
管理包主要定义了⼀些描述数据仓库运⾏和调度信息的元模型,它包含的⼦包有:
Warehou Process:描述数据仓库中抽取转换规则的执⾏过程,也就是各个转换规则的触发条件;
Warehou Operation:描述数据仓库⽇常运⾏情况的元模型;
2、CWM DTD 和CWM XML CWM DTD和XML是对应于CWM中所有包的DTD和XML,它们都遵循XMI规范。定义CWM DTD和XML的主要⽬的是为了基于XML进⾏元数据交换,因为XML在各个领域的应⽤越来越⼴泛,CWM提供元模型到XML的转换,⽆疑⼤⼤增加了⾃⼰的通⽤性,各种分析⼯具和元数据库可以利⽤这些模板为⾃⼰的元模型⽣成DTD和XML⽂档,就可以和其它的⼯具之间进⾏元数据交换。
3、CWM IDL
CWM IDL为上⾯所有的包定义了符合MOF1.3的IDL接⼝,这样就可以利⽤CORBA进⾏元数据交换。⽤户可以创建⼀些具有分析功能的软件包,
⽐如数据挖掘组件等。提供CWM中规定的IDL接⼝,就可以被其它⽀持CWM的⼯具和数据仓库调⽤,这⼤⼤增强了CWM的灵活性和适⽤性。
五、CWM的特点
通过对CWM组成结构的介绍,可以看出CWM具有以下特点:
婚姻线Ø 对所有的数据仓库功能元数据定义了详细的元模型和交换⽅式,包括技术元数据(⽐如Software
Deployment,Transformation,Warehou Process等)和业务元数据(⽐如OLAP,Business Information等);
Ø 定义了⼀个通⽤且强⼤的Transformation包,可以表⽰任何数据源和数据⽬标之间的转换规则。此外,还为多种常⽤的数据源/⽬标(⽐如Relational,Record,Multidimensional,XML等)和⼯具相关的数据源(⽐如IMS,DMSII,COBOL Data,Essba和Express等)定义了元模型和交换⽅式;
Ø 对所有的数据仓库运⾏元素定义了元模型和交换⽅式,包括调度、状态报告和历史记录等;大众点评招聘
Ø 对所有的分析型数据以及主要的分析型数据模型定义了元模型和交换⽅式,⽐如多维型;
Ø 对操作型数据以及主要的操作型数据模型定义了元模型,⽐如关系型和⾯向对象型;
六、CWM的设计⽬标
红薯煮多久
CWM主要的设计⽬标和原则有以下⼏个⽅⾯:
Ø 对UML中概念的重⽤:UML 1.3 是整个CWM的设计基础,CWM在任何可能的地⽅对UML中的概念进⾏重⽤,所有的CWM对象类型都直接或间接地继承于UML,因此也继承了它们的属性和⽅法。这样可以节省很多重复⼯作,并且使CWM更容易理解,所有熟悉UML的⽤户都可以有⼀个⽐较⾼的起点;
Ø 模块化:CWM元模型被分成许多包,以便它们分别实现并减少复杂度。
Ø通⽤化:CWM元模型独⽴于任何具体的数据仓库⼯具,但同时,它尽量多地包含了基于特定⼯具实现的有代表性且通⽤的数据仓库特点。也就是说,只有那些多种⼯具共享的信息才会被CWM元模型包含进来;
七、CWM的应⽤⼈群
CWM主要⾯向以下⼏类⽤户:
孩子该不该打
Ø 数据仓库平台和⼯具提供商:CWM为他们提供了⼀个组件可插卸的通⽤系统框架。因为这是⼀种全球通⽤的元数据交换协议,所以他们可以很⽅便地在各种异质平台上发布⾃⼰的产品;
Ø 数据仓库服务提供者:可重⽤、可编辑、可扩展的CWM元数据⼤⼤提⾼了他们的⼯作效率。因为CWM与产品⽆关,所以可以避免⼤量的重复设计⼯作;
Ø 数据仓库管理员:数据仓库管理员有时需要对现有⼯具进⾏整合,⽽CWM XML⽆疑为他们提供了⼀种最⽅便的整合⽅式。另外,管理员经常需要对资源进⾏增减、分区或者重新分配,CWM提供了这⽅⾯的元数据以帮助他们完成这些⼯作,并对改变造成的影响作出评估;
Ø 终端⽤户:CWM为查询和展⽰⼯具定义了元模型,以便更⽅便快捷地为终端⽤户展⽰他们所需的信息;
Ø信息技术管理者:CWM为系统管理和报表⼯具定义了元模型,使得⽤户能够更轻松地对系统和信息进⾏管理;

本文发布于:2023-06-25 21:28:20,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/89/1054832.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:模型   数据仓库   数据   定义   描述
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图