`
阅读更多
多维数据模型与OLAP实现
2007-05-18 13:41

一、多维数据模型及相关概念
数据模型一般有两个层次:概念层(逻辑层)和物理层。逻辑数据模型是从概念角度抽象出现实世界的内在规律,如业务流程、数据架构等;物理数据模型则侧重于特定环境下的具体实现,如效率、安全性等.

多维数据模型是一个逻辑概念,该模型主要解决如何对大量数据进行快速查询和多角度展示,以便得出有利于管理决策的信息和知识。多维数据模型的应用领域主要有数据仓库、OLAP和数据挖掘三个方面。其中,多维结构是OLAP的核心。

多维数据模型通过引入维、维分层和度量等概念,将信息在概念上视为一个立方体。

1、立方体:用三维或更多的维数描述一个对象,每个维彼此垂直。数据的度量值发生在维的交叉点上,数据空间的各个部分都有相同的维属性。
2、维:是人们观察数据的特定角度,是考虑问题时的一类属性。属性的集合构成一个维(如时间维、机构维等)。
3、维分层:同一维度还可以存在细节程度不同的各个描述方面(如时间维可包括年、季度、月份、旬和日期等)。
4、维属性:维的一个取值,是数据项在某维中位置的描述(例如“某年某月某日”是在时间维上位置的描述)。
5、度量:立方体中的单元格,用以存放数据。

OLAP的基本多维分析操作有钻取(roll up,drill down)、切片(Slice)、切块(Dice)及旋转(Pivot)等。
钻取包含向下钻取和向上钻取。上卷操作,钻取的深度与维所划分的层次相对应。上卷操作通过维规约,在数据立方体上进行聚集。下钻操作是上卷操作的逆操作,由不太详细的数据到更详细的数据。

切片和切块是在一部分维上选定值后,度量数据在剩余维上的分布。在多维数据结构中,按照二维、三维进行切块可得到所需数据。如在“机构、产品、时间”三维立方体中进行切块和切片,可得到各城市、各产品的销售情况。

旋转(转轴)是变换维的方向,即在表格中重新安排维的放置(如行列互换),通过旋转得到不同视角的数据。

二、多维数据模型的物理实现
OLAP多维数据模型的实现有多种途径,其中主要有采用数组的多维数据库、关系型数据库以及两者相结合的方式,人们通常称之为MOLAP、ROLAP和HOLAP。
    
1、多维联机分析处理(多维数据库管理系统)
多维联机分析处理(molap)严格遵照库德的定义,自行建立多维数据库来存放联机分析系统的数据,它以多维数据组织方式为核心,也就是说,多维联机分析处理使用多维数组存储数据。
当利用多维数据库存储OLAP数据时,不需要将多维数据模型中的维度、层划分和立方体等概念转换成其他的物理模型,因为多维数组(矩阵)能很好地体现多维数据模型特点。
利用数组实现多维数据模型的优点,在于对数据的快速访问,但同时也会带来存储空间的冗余,即稀疏矩阵问题,进而导致对存储空间的极大需求。

为了解决稀疏矩阵问题,某些产品提出了稀疏维(Sparse)和密度维(Dense)策略。由稀疏维产生索引块,由密度维形成数据块。只有当稀疏维的组合在交易事件初次发生时才创建索引块,进而创建数据块。稀疏维和密度维的引入在一定程度上降低了立方体的存储冗余问题。此外,通过数据压缩技术可降低数据块的存储空间。

2、关系联机分析处理(关系数据库管理系统)
ROLAP以关系数据库为核心 以关系型结构进行多维数据的表示和存储,将多维数据库的多维结构划分为两类表:一类是事实表,用来存储数据和维关键字;另一类是维表,对每个维至少使用一个表来存放维的层次、成员类别等维的描述信息。维表和事实表通过主关键字和外关键字联系在一起,形成“星型模式”。对于层次复杂的维,为避免冗余数据占用过大的存储空间,可以使用多个表描述,这种星型模式的扩展称为“雪花模式”。这种多维数据的表示方式能够让使用者以较简单的方式了解这些资料,增加查询效率,并对海量数据存储空间有较少要求。

在星型架构架构中有一个事实表和未经正规化的维表。
事实表有如下特性:
①大量的数据列,存储容量可达到Tbt;
②主要是数值信息,只有少数的文字或者多媒体信息;
③有和维表连接的外关键字;
④静态数据和聚集数据。

维表中的信息是对事实表的相应说明,它主要有以下特性:
①记录数较少,可能只有上千或者上万个记录;
②大多为文字资料;
③信息具有层次结构;
④只有一个主键(Primary Key或Dimension Key);
⑤信息可修改。
雪花架构是对星型架构的变形,它将星型架构下的维表格经过正规化处理,使其能表现更丰富的信息,也使得信息处理更加灵活。

3、混合联机分析处理
混合联机分析处理(holap)利用多维联机分析处理技术存储上层汇总数据,利用关系联机分析处理存储细节数据,即低层是关系型的,高层是多维矩阵型的。这种方式具有更好的灵活性。
还有其他一些实现OLAP的方法,如提供一个专用的SQL Server,对某些存储模式(如星型、雪花型)提供对SQL查询的特殊支持。

三、存储模式的比较和选择
多维联机分析处理的优势不仅在于能清晰地表达多维概念,更重要的是它有着极高的综合速度。在关系数据库管理系统中,如果要得到某一地区的销售总量,只能逐条记录检索,找到满足条件的记录后将数据相加。而在多维数据库中,数据可以直接按行或列累加,其统计速度远远超过关系数据库管理系统。数据库中的记录数越多,其效果越明显。但是对多维联机分析处理来说,随着维度和维成员的增加,其存储空间可能出现组合爆炸。

关系联机分析处理的存储空间没有大小限制,现有的关系数据库的技术可以沿用,可以通过SQL实现详细数据与概要数据的存储,现有关系型数据库已经对OLAP做了很多优化,包括并行存储、并行查询、并行数据管理、基于成本的查询优化、位图索引、SQL的OLAP扩展等,大大提高了关系联机分析处理的访问效率。相比较而言,关系联机分析处理技术具有更大的可伸缩性。

在项目实施过程中,对OLAP产品和存储模式的选择应考虑企业数据量的大小、数据处理过程、访问效率和性价比等多个方面。由于多维联机分析处理访问具有高效性,可以将企业应用的大部分聚集层数据以MOLAP形式存储;对有大量细节数据的应用,为防止立方体存储空间过于膨胀,可考虑对于聚集数据以MOLAP方式存储;而对于原子数据可以以ROLAP方式存储。MOLAP存储依靠多维数据集聚合的设计和百分比,提供快速的查询响应能力。一般来说,MOLAP比较适合于需要频繁使用和快速查询响应的多维数据集。ROLAP查询响应通常比使用MOLAP或HOLAP的查询响应要慢。ROLAP一般用于不经常查询的大型数据集,如年份较早的历史数据等。

对访问汇总数据的查询,HOLAP与MOLAP功能相同。对访问基本数据的查询,必须从关系数据库中检索数据,其速度不如将基本数据存储在MOLAP结构中快。用HOLAP存储的多维数据集比同等的MOLAP多维数据集要小,而对于使用汇总数据的查询,其响应比ROLAP多维数据集快。HOLAP存储一般适用于对基于大量基本数据的汇总进行查询时,需要快速响应的多维数据集。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics