首页 百科知识 数据仓库的数据组织和数据模型

数据仓库的数据组织和数据模型

时间:2022-10-17 百科知识 版权反馈
【摘要】:粒度是对数据仓库中的数据综合程度高低的一个度量,它既影响数据仓库中的数量的多少,也影响数据仓库所能回答查询的种类。在传统数据库中,数据字典就是一种元数据。第二种是为管理数据仓库中的数据而建立的元数据。一般数据仓库的数据组织方式可以分为虚拟存储方式、基于关系表的存储方式和多维数据库存储方式。其数据组织采用多维数组结构文件进行数据存储,并有维索引及相应的元数据管理文件与数据相对应。

10.4.2 数据仓库的数据组织和数据模型

在对数据仓库的基本概念和特点有了基本认识以后,现在我们学习数据仓库的组织结构、组织方式和数据模型。

一、数据仓库中的数据

数据仓库中的数据分为四个级别:早期细节级、当前细节级、轻度综合级和高度综合级。源数据经过抽取和转换,首先进入当前细节级,并根据具体需要进行进一步的综合,从而进入轻度综合级乃至高度综合级,老化的数据将进入早期细节级,如图10-13所示。

由此可见,数据仓库中存在着不同的综合级别,一般称之为“粒度”。粒度越大,表示细节程度越低,综合程度越高。粒度是对数据仓库中的数据综合程度高低的一个度量,它既影响数据仓库中的数量的多少,也影响数据仓库所能回答查询的种类。粒度越小,综合程度越低,回答查询的种类越多;粒度越高,综合程度越高,查询的效率也越高。由于数据仓库的作用不是作为事务处理用的,而主要是为联机分析处理或者决策支持做数据准备,因此数据仓库的数据粒度应该选取适当的粒度,粒度过小或者粒度过大都不利于数据仓库的性能。

img199

图10-13

数据仓库中还有一种重要的数据——元数据,它是“关于数据的数据”。在传统数据库中,数据字典就是一种元数据。在数据仓库环境下,主要有3种元数据:

第一种是为了从操作性环境向数据仓库转化而建立的元数据,包括数据字典信息、主题信息、外部和非结构化数据信息及其在数据仓库中的转换规则等。这些元数据主要表示数据的转换规则,源数据的来源、转换的逻辑规则和目标等都需要用这些元数据来描述。

第二种是为管理数据仓库中的数据而建立的元数据。一方面数据仓库中的数据量很大,需要划分不同的粒度层次,选择分割策略,建立各种各样的索引等;另一方面,数据仓库中包含着较长时期内的数据,不同时期不同的需求使得其数据从“形式”到“内容”都可能不同,它们都需要在元组中进行描述和管理。

第三种是用来和终端用户的多维商业模型、前端工具之间建立映射,此种元数据又称为DSS元数据,常用来开发更先进的决策支持工具。

为了有效地管理数据仓库中数据,数据仓库中的元数据应该包括以下内容:数据仓库的主题描述、外部数据和非结构化数据的描述、记录系统定义、逻辑模型的定义、数据进入数据仓库的转换规则、数据的抽取历史、数据粒度的定义、数据分割的定义、广义索引、有关存储路径和结构描述。这里所说的只不过是数据仓库通常所必须包括的内容,其他的内容与具体的应用环境有关。

二、数据仓库的数据组织

下面介绍数据仓库中几种常见的数据积累的形式:

(1)简单堆积文件:它就是简单地将数据库中提取的数据做简单的积累和存储,这种方法的结果必然是数据量越来越大。

(2)轮转综合文件:数据存储单位被分为日、月、年等几个级别。在一个星期的7天中,数据被逐一记录在每日数据集中;然后,7天的数据被综合并记录在周数据集中;接下去的一个星期,日数据集被重新使用,以记录新数据。同理,周数据集达到5个后,数据再一次被综合并记入月数据集。以此类推。轮转综合结构十分简捷,数据量较简单堆积结构大大减少。当然,它是以损失数据细节为代价的,越久远的数据,细节损失越多。

(3)简化直接文件:它类似于简单堆积文件,但它是间隔一定时间的数据库快照,如每隔一星期或一个月做一次。

(4)连续文件:通过两个连续的简化直接文件,可以生成另一种连续文件,它是通过比较两个简单直接文件的不同而生成的。当然,连续文件同新的简单直接文件也可生成新的连续文件。

对于上述各种结构的最终实现,在关系数据库中仍然要靠“表”这种最基本的结构。一般数据仓库的数据组织方式可以分为虚拟存储方式、基于关系表的存储方式和多维数据库存储方式。

虚拟存储方式是虚拟数据仓库的数据组织形式,它没有专门的数据仓库存储,数据仓库中的数据仍然在源数据中。只是根据用户的多维需求及形成的多维视图,临时在源数据中找出所需要的数据,完成多维分析。

基于关系表的存储方式是将数据仓库的数据存储在关系数据库的表结构中,在元数据的管理下完成数据仓库的功能,这种组织方式在建库时有两个主要过程用以完成数据的抽取。首先要提供一种图形化的点击操作界面,使分析员能对数据源中的内容进行选择,定义多维数据模型,然后编制程序把数据库中的数据抽取到数据仓库的数据库中。

多维数据库的组织是直接面向OLAP分析操作的数据组织形式,这种数据库产品比较多,实现方法也不尽相同。其数据组织采用多维数组结构文件进行数据存储,并有维索引及相应的元数据管理文件与数据相对应。

三、数据仓库的数据追加

数据的组织,解决的是数据仓库的存储问题。数据仓库中的数据并不是一次存储以后就不再改变,数据仓库中的数据主要是为分析做的数据准备,因此数据要能反映新的情况,所以数据仓库要每隔一定的时间把新的变化的数据输入到数据仓库,这就是数据追加。数据追加常用的技术和方法有以下几种:

(1)时标法:就是为数据记录增加一个时间标记。当数据发生了修改,则更改时间标记,反映出修改发生的时间。数据库会检索到具有新时间标记的记录,作为追加的内容。但并非所有的数据库都有时间标记。

(2)前后映像比较法:其思想是将上次执行完数据追加任务的数据库快照记录下来,同时与执行新的数据追加任务前的数据快照进行对比,比较两次快照的不同,来确定追加内容。这种方法简单,但进行全数据库的比较会耗费大量的资源和时间,所以这种方法并不实用。

(3)DELTA文件法:数据的变化肯定都是由程序引起的,应用程序可以知道其对数据的修改情况,因此应用程序完全可以将其修改的内容记录下来,形成DELTA文件作为追加的内容。但是要使所有的应用程序都支持DELTA文件的功能在实际应用中很难,所以这种方法也没有得到实用化。

(4)日志文件法:各个应用程序都是通过数据库服务器来实现其数据访问功能,因此数据库服务器能够感知数据的变化,利用系统日志,数据库服务器将会把它所执行的所有操作都记录下来,我们可以通过分析数据库日志来获取数据变化的情况。虽然日志文件法需要对日志文件本身进行比较复杂的分析,但是由于它能够极大程度地减少工作量,所以得到了广泛的应用。

四、数据仓库的数据模型

关系数据库采取二维数据模型来组织数据,这个模型下各个实体是对等的,但在数据仓库中的数据是按主题来组织,它是大量相关表的有机联合,每个表的地位是不对等的。因此,经典的二维数据模型不能很好地适应数据仓库,数据仓库和OLAP采用多维数据模型来表示数据,它利用维和度量的概念来刻画数据,将数据看做数据立方体(Data Cube)的形式。维是人们观察数据的特定角度,因此数据仓库要将基于二维的数据多维化。多维化是将面向平面、行和列的数据转化为一个虚拟的多面体,将数据组织成一个多维矩阵,每一维描述一个重要视角。

常用的多维模型有星型模型、雪花模型、事实星座模型等。这里主要介绍星型模型和雪花模型。

我们首先介绍事实表(Fact Table)和维度表(Dimension Table)的概念。事实表可以看成是这样的元组的集合,其中每一个元组对应一个事实,事实表中包含数据。维度表是由维属性的元组组成。例如产品表(产品号、地区名称、日期标识)是一个事实表,则和其相关联的地区表(地区名称、省、市)、日期表(日期标识、年、月、日)等就是维度表。事实表中的每一个元组只是包含了一些指针(即外键),而对应的主键则放在不同的表中,如“日期标识”放在日期表中,每一个指针指向一个维度表。

星型模型是由一个包含主题的事实表和多个包含事实的非正规化描述的维度表来组成的。如星型模型可以采用关系型数据库结构,模型的核心是事实表,围绕事实表的是维度表。通过事实表将各种不同的维度表连接起来,各个维度表都连接到中央事实表。维度表中的对象通过事实表与另一维度表中的对象相关。通过事实表把多个维度表进行关联,就建立了各个维度表对象之间的联系。每一个维度表通过一个主键与事实表进行连接,如图10-14所示。

事实表主要包含了描述特定商业事件的数据,即某些特定商业事件的度量值。一般情况下,事实表中的数据不允许修改,新的数据只是简单地添加进事实表中,维度表主要包含了存储在事实表中数据的特征数据。每一个维度表利用维度关键字通过事实表中的外键约束于事实表中的某一行,实现与事实表的关联,这就要求事实表中的外键不得为空,这与一般数据库中外键允许为空是不同的。这种结构使用户能够很容易地从维度表中的数据分析开始,获得维度关键字,以便连接到中心的事实表进行查询,这样就可以减少在事实表中扫描的数据量,以提高查询性能。

雪花模型是对星型模型的扩展,每一个维度都可以向外连接到多个详细类别表。如图10-15所示,在这种模式中维度表除了具有星型模型中维度表的功能外,还连接上对事实表进行详细描述的详细类别表,详细类别表通过对事实表在有关维上的详细描述达到了缩小事实表、提高查询效率的目的。

img200

图10-14

img201

图10-15

雪花模型对星型模型的维度表进一步标准化,对星型模型中的维度表进行了规范化处理。雪花模型的维度表中存储了正规化的数据,这种结构通过把多个较小的标准化表(而不是星型模型中大的非标准化表)联合在一起来改善查询性能。由于采取了标准化及维的低粒度,雪花模型提高了数据仓库应用的灵活性。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈