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

往往理论的学习是一件比较枯燥的事情,尤其对于计算机行业一系列的专业术语,其实搞清楚了,就那么回事,就想2年前兴起的ajax一样,在我的前一篇文章里面(公共仓库元模型(CWM)学习(一))大概介绍了CWM的一些组成元素等等一些细节的东西,下面我来给大家一个整体的认识,主要从CWM的组成结构、CWM的特点、CWM设计的目标以及CWM应用对应的人群来说。

一、 CWM的组成结构
CWM完整地描述了数据仓库元数据交换的语法和语义以及用于异质平台之间的元数据交换机制,它由三个部分组成:
1、CWM元模型
CWM元模型描述了数据仓库的组成元素,用户可以按照这些元模型开发相应的组件,比如ETL、OLAP和数据挖掘等。为了降低复杂度并达到重用,CWM元模型采用分层的方式组织它所包含的包,大家可以看看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:对业务数据进行描述,比如业务术语及其适用范围等;

管理包主要定义了一些描述数据仓库运行和调度信息的元模型,它包含的子包有:
Warehouse Process:描述数据仓库中抽取转换规则的执行过程,也就是各个转换规则的触发条件;
Warehouse 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,Warehouse Process等)和业务元数据(比如OLAP,Business Information等);

Ø 定义了一个通用且强大的Transformation包,可以表示任何数据源和数据目标之间的转换规则。此外,还为多种常用的数据源/目标(比如Relational,Record,Multidimensional,XML等)和工具相关的数据源(比如IMS,DMSII,COBOL Data,Essbase和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为系统管理和报表工具定义了元模型,使得用户能够更轻松地对系统和信息进行管理;

已有1条评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    
    Markdown is turned off in code blocks:
     [This is not a link](http://example.com)

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see http://daringfireball.net/projects/markdown/syntax

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>