-
数据仓库与元数据管理
1.
前言
在事务处理系统中的数据,主要
用于记录和查询业务情况。随着数据仓库(
DW
)
技术的不断成熟,企业的数据逐渐变成了决策的主要依据。数据仓库中的数据是从许多
业务处理系统中抽取、转换而来,对于这样一个复杂的企业数据环境,如何以安全、高
< br>效的方式来对它们进行管理和访问就变得尤为重要。
解决这一问题的关键是对元数
据进
行科学有效的管理。
本文首先介
绍了元数据的定义、作用和意义;然后讨论了数据仓库系统中元数据管
理的现状和关于元
数据的标准化情况;
最后提出了建立元数据管理系统的步骤和实施方
法。
2.
元数据
2.1
元数据的概念
按照传统的定义,元数
据(
Metadata
)是关于数据的数据。在数据仓库系统中
,元
数据可以帮助数据仓库管理员和数据仓库的开发人员非常方便地找到他们所关心的数
据;元数据是描述数据仓库内数据的结构和建立方法的数据,可将其按用途的不同分为<
/p>
两类:技术元数据(
Technical
Metadata
)和业务元数据(
Business
Metadata
)
。
技术元数据是存储关于数据仓库系统技术细节的数据,
是用于开发和管理数据
仓库
使用的数据,它主要包括以下信息:
?
数据仓库结构的描述,包括仓库模
式、视图、维、层次结构和导出数据的定义,
以及数据集市的位置和内容;
?
业务系统、数据仓库和数据集市的体系结构和模式
?
汇总用的算法,包括度量和维定义
算法,数据粒度、主题领域、聚集、汇总、
预定义的查询与报告;
?
由操作环境到数据仓库环境的
映射,包括源数据和它们的内容、数据分割、数
据提取、清理、转换规则和数据刷新规则
、安全(用户授权和存取控制)
。
业
务元数据从业务角度描述了数据仓库中的数据,它提供了介于使用者和实际系统
之间的语
义层,使得不懂计算机技术的业务人员也能够“读懂”数据仓库中的数据。业
务元数据主
要包括以下信息:使用者的业务术语所表达的数据模型、对象名和属性名;
访问数据的原
则和数据的来源;系统所提供的分析方法以及公式和报表的信息;具体包
括以下信息:<
/p>
?
企业概念
模型:这是业务元数据所应提供的重要的信息,它表示企业数据模型
的高层信息、整个企
业的业务概念和相互关系。以这个企业模型为基础,不懂
数据库技术和
< br>SQL
语句的业务人员对数据仓库中的数据也能做到心中有数。
< br>
?
多维数据模型:这是企业
概念模型的重要组成部分,它告诉业务分析人员在数
据集市当中有哪些维、维的类别、数
据立方体以及数据集市中的聚合规则。这
里的数据立方体表示某主题领域业务事实表和维
表的多维组织形式。
?
业务概念模型和物理数据之间的依赖:以上提到的业务元数据只是表示出了数
据的业务视图,这些业务视图与实际的数据仓库或数据库、多维数据库中的表、
字段、
维、层次等之间的对应关系也应该在元数据知识库中有所体现。
2.2
元数据的作用
与其说数据仓库是软件开发项目,还不如说是系统集成项目
[1]
,因为它的主要工作
是把所需的数据仓库工具集成在一起,完成数据的抽取
、转换和加载,
OLAP
分析和数
据挖
掘等。如图
1
所示,它的典型结构由操作环境层、数据仓库层和
业务层等组成。
图
1
数据仓
库系统的一般体系结构
RDBMS
外部数据源
技术元数据
操作环境层
元数据
知识库
数据仓库
数据仓库层
业务元数据
即席查询
OLAP
分
析
数据挖掘
业务层
企业数据模型、多维数据模型
其中,
第一层(操作环境层)是指整个企业内有关业务的
OLTP
系统
和一些外部数
据源;第二层是通过把第一层的相关数据抽取到一个中心区而组成的数据仓
库层;第三
层是为了完成对业务数据的分析而由各种工具组成的业务层。
图中左边的部分是元数据
管理,它起到了承上启下的作用,具体体现在以下几个
方面:
(1)
元数据是进行数据集成所必需的
数据
仓库最大的特点就是它的集成性。这一特点不仅体现在它所包含的数据上,还
体现在实施
数据仓库项目的过程当中。一方面,从各个数据源中抽取的数据要按照一定
的模式存入数
据仓库中,
这些数据源与数据仓库中数据的对应关系及转换规则都要存储
在元数据知识库中;另一方面,在数据仓库项目实施过程中,直接建立数据仓库往往费
< br>时、费力,因此在实践当中,人们可能会按照统一的数据模型,首先建设数据集市,然
后在各个数据集市的基础上再建设数据仓库。不过,当数据集市数量增多时很容易形成
“蜘蛛网”现象,而元数据管理是解决“蜘蛛网”的关键。如果在建立数据集市的过程
中,注意了元数据管理,在集成到数据仓库中时就会比较顺利;相反,如果在建设数据
集
市的过程中忽视了元数据管理,那么最后的集成过程就会很困难,甚至不可能实现。
(2)
元数据定义的语义层可以帮助最终用户理解数据仓库中的数据
最终用户不可能象数据仓库系统管理员或开发人员那样熟悉数据库技术,
因此迫切
需要有一个“翻译”
,能够使他们清晰地理解
数据仓库中数据的含意。元数据可以实现
业务模型与数据模型之间的映射,因而可以把数
据以用户需要的方式“翻译”出来,从
而帮助最终用户理解和使用数据。
(3)
元数据是保证数据质量的关键
数据仓
库或数据集市建立好以后,
使用者在使用的时候,
常常会产生对
数据的怀疑。
这些怀疑往往是由于底层的数据对于用户来说是不“透明”的,使用者很自
然地对结果
产生怀疑。而借助元数据管理系统,最终的使用者对各个数据的来龙去脉以及
数据抽取
和转换的规则都会很方便地得到,这样他们自然会对数据具有信心;当然也可便
捷地发
现数据所存在的质量问题。甚至国外有学者还在元数据模型的基础上引入质量维<
/p>
[6]
,从
更高的角度上来解决这一问题
。
(4)
元数据可以支持需求变化
随着信息技
术的发展和企业职能的变化,企业的需求也在不断地改变。如何构造一
个随着需求改变而
平滑变化的软件系统,是软件工程领域中的一个重要问题。传统的信
息系统往往是通过文
档来适应需求变化,但是仅仅依靠文档还是远远不够的。成功的元
数据管理系统可以把整
个业务的工作流、数据流和信息流有效地管理起来,使得系统不
依赖特定的开发人员,从
而提高系统的可扩展性。
3.
数据仓库元数据管理现状
由以上几节
我们了解到元数据几乎可以被称为是数据仓库乃至商业智能(
BI
)系统
的“灵魂”
,正是由于元数据在整个数据仓库生命周期
中有着重要的地位,各个厂商的
数据仓库解决方案都提到了关于对元数据的管理。但遗憾
的是对于元数据的管理,各个
解决方案都没有明确提出一个完整的管理模式;
它们提供的仅仅是对特定的局部元数据
的管理。当前市场上与元数据有关的
主要工具见图
2
。
前端展现工具
:
?
BO
?
Brio
?
Cognos
?
DSS Agent
元数据存储工具
:
?
Repository
?
MetaStage
?
WCC
图
2
当前市场与元数据有关的主要工具
建模工具
:
?
ERwin
?
PowerDesigner
?
Rose
元数据管理
数据转换工具
:
?
DataStage
?
Decision Base
?
Extract
如图
2
所示,与元数据相关的数据仓库工具大致可分为
四类:
1.
数据抽取工具
:
把业务系统中的数据抽取、
< br>转换、
集成到数据仓库中,
如
A
rdent
的
DataStage
、<
/p>
CA
(原
Platinum
)的
Decision Base
和
ETI
的
Extract
等。
这些工
具仅提供了技术元数据,几乎没有提供对业务元数据的支持。
2.
前端展现工具
:包括
OLAP
分析、报表和商业智能工具等,如
MicroStrategy
的
DSS
Agent
、
Cognos
的
PowerPlay
、
Business Ob
jects
的
BO
,以及
Brio
等。它们
通过把关系表映射成与业务相关的
事实和维来支持多维业务视图,进而对数据
仓库中的数据进行多维分析。这些工具都提供
了业务元数据与技术元数据相对
应的语义层。
3.
建模工具
:为非技术人员准备的业务建模工具,这些工具可以提供更高层的与
特定业务相关的语
义。如
CA
的
ERwin
、
Sysbase
的
Pow
erDesigner
以、
Rational
< br>的
Rose
等。
4.
元数据存储工具
:
元数据通常存储在专用的数据库中,
该数据库就如同
一个
“黑
盒子”
,外部无法知道这些工
具所用到和产生的元数据是如何存储的。还有一类
被称为元数据知识库(
Metadata Repository
)的工具,它们独立于其它工具,为
元数据提供一个集中的存储空间。这些工具包括微软的
Repo
sitory
,
CA
的
Repository
、
Ardent
的
MetaStage
和
Sy
base
的
WCC
等。
4.
元数据管理的标准化
没有规矩不成方圆。元数据管理之所以困难,一个很重要的原因就是缺乏统一的标
准。在这种情况下,各公司的元数据管理解决方案各不相同。近几年,随着元数据联盟
MDC
(
Meta
Data
Coalition
)的开
放信息模型
OIM
(
Open
Information
Model
)和
OMG
组织的公共仓库模型
CWM
(
Common Warehouse
Model
)标准的逐渐完善,以及
MDC
< br>和
OMG
组织的合并,为数据仓库厂商提供了统一的标准
,从而为元数据管理铺平了道
路。
从元数据的发展历史不难看出,元数据管理主要有两种方法:
(1)
对于相对简单的环境,按照通用的元数据管理标准建立
一个集中式的元数据知
识库。
(2)
对于比较复杂的环境,分别建立各部分的元数据管理系统,形成分布式元数据
知识库,然后,通过建立标准的元数据交换格式,实现元数据的集成管理。
下面我们分别介绍数据仓库领域中两个最主要的元数据标准:
M
DC
的
OIM
标准和
< br>OMG
的
CWM
标准。
4.1 MDC
的
O
IM
存储模型
MDC
成立于
1995
年,是一个致力于建立与厂商无关的、
不依赖于具体技术的企业
元数据管理标准的非赢利技术联盟,该联盟有
< br>150
多个会员,其中包括微软和
IBM
等
著名软件厂商。
1999
年
7
月
MDC
接
受了微软的建议,将
OIM
作为元数据标准。
< br>
OIM
的目的是通过公共的元数据信息来支持不同工具
和系统之间数据的共享和重
用。它涉及了信息系统(从设计到发布)的各个阶段,通过对
元数据类型的标准描述来
达到工具和知识库之间的数据共享。
O
IM
所声明的元数据类型都采用统一建模语言
UML
(
Universal
Modeling
p>
Language
)进行描述,并被组织成易于使用、易于扩展的多
个主题范围(
Subject
Areas
)
,这些主题范围包括:
?
分析与设计(
Analysis and Design
)
:主要用于软件分析、设计和建模。该主
题
范围又进一步划分为:
UML
包
(
p>
Package
)
、
UML
扩展包、
通用元素
(
Generic
Elements
)包、公共
数据类型(
Common Data
Types
)包和实体关系建模(
Entity
Relationship
Modeling
)包等。
?
对象与组件(
Object
and
Component
)
:涉及面向对象
开发技术的方方面面。该
主题范围只包含组件描述建模(
Com
ponent Description
Modeling
)包。
?
数据库与数据仓库(
Database
and
Warehousing
)<
/p>
:为数据库模式管理、复用和
建立数据仓库提供元数据概念支持。
该主题范围进一步划分为:关系数据库模
式(
Relation
al Database Schema
)包、
OLAP
模式(
OLAP Schema
)包、数据转
换
(
Data Transforma
tions
)
包、
面向记录的数据库模
式
(
Record-Oriented Database <
/p>
Schema
)包、
XML
模式(
XML
Schema
)包和报表定义(
Report
Definitions
)包
等。
?
业务工程(
Business
Eng
ineering
)
:为企业运作提供一个蓝图。该主题范围进
一步划分为:
业务目标
(
Business Goal
)
包、
组织元素
(
Organizational Elem
ents
)
包、业务规则(
Busin
ess Rules
)包、商业流程(
Business
Processes
)包等。
?
知识管理(
Knowledge
Ma
nagement
)
:涉及企业的信息结构。该主题范围进一步
划分为:
知识描述
(
< br>Knowledge Descriptions
)
包和
语义定义
(
Semantic
Definitions
)
包。
p>
上述主题范围中的包都是采用
UML
定义的
,可以说
UML
语言是整个
OIM
p>
标准的
基础。虽然
OIM
< br>标准并不是专门针对数据仓库的,但数据仓库是它的主要应用领域之