• 1.摘要
  • 2.基本信息
  • 3.简介
  • 4.特点
  • 5.对比

多维联机分析处理

多维联机分析处理

多维联机分析处理(多维OLAP)是一个直接编入多维数据库的联机分析处理(OLAP)。

基本信息

  • 中文名

    多维联机分析处理

  • 外文名

    Multidimensional online analytical processing

  • 又称

    多维OLAP

  • 拼音

    duō wéi lián jī fèn xī chù lǐ

简介

一般来说,一个OLAP应用程序以多维方式处理数据。用户可以观察数据集合体的不同方面,例如销售时间,地点和产品模型。如果数据贮存在相关的数据库里,那么它能被多维的观察,但是只能用连续的访问和处理数据集合体的一个方面的表格的方式。MOLAP处理已经存贮在多维列表里的数据,在列表里数据可能的结合都被考虑,每个数据都在一个能够直接访问的单元里。因为这个原因,对大多数用途来说,MOLAP都比关系型联机分析处理(Relational Online Analytical Processing)要更快和更受用户欢迎。也有HOLAP(混合OLAP),结合了ROLAP和MOLAP的一些特性。

多维OLAP,基于多维数据存储的在线分析处理,MOLAP服务器提供数据存储管理,一般是放在物理的“立方块(Cube)”当中。

MOLAP常常用作数据仓库应用程序的一部分。

MOLAP使用一种持久稳固的立方体结构,与关系型数据库是分离的。Hyperion Essbase、Microsoft Analysis Services、Cognos PowerPlay都是使用了这种方法。因为一个立方体包含一个预先计算好的数据子集,所以与DOLAP和ROLAP相比响应时间更快速且可以预测。 MOLAP数据库传统上还具有更大程度的多维计算,比ROLAP中也更容易实现。例如,Hyperion Essbase使用一个@DESCENDANTS功能,让你将一个特定级别中的成员指向同一层次(如,一月、二月、三月并列是第一季度的下一级)。尽管一些关系数据库具有CASE功能,也可以使你在一个计算中指向这些行,但并不是所有都能做到,而且计算并不一定都是直截了当。

MOLAP的大幅下降是因为它是需要IT支持、管理、维护的另外一种数据存储。公司抱怨维护200个立方体需要很多努力,或公司拥有的是花费一个星期重新计算的设计不良的立方体,这都是很平常的。当一个维空间改变,如增加一个新的产品或改组业务单元,你可能就不得不重新计算整个MOLAP立方体。

MOLAP是事先生成多维立方体,供以后查询分析用,而ROLAP是通过动态的生成Sql,去做查询关系型数据库,如果没有做性能优化,数据量很大的时候,性能问题就会显得比较突出了。

以多维数据组织方式为核心,也就是说,MOLAP使用多维数组存储数据。多维数据在存储中将形成“立方块(Cube)”的结构,在MOLAP中对“立方块”的“旋转”、“切块”、“切片”是产生多维数据报表的主要技术。

特点

在MOLAP中,不但把多维实视图在概念上看成一个超立方体,而且在物理上把多维实视图组成一个多维数据库,而不像ROLAP那样,以表的形式存储实视图。

在MOLAP中,维的属性值被映射成多维数组的下标值或下标的范围,而总结数据作为多维数组的值存储在数据的单元中。维可以看作为自变量,总结数据称为因变量。自变量相当于关系中的主关键字,由多个维组成,总结数据是由自变量的值决定的。

ROLAP在节省存储空间、灵活性、与关系数据库保持一致等方面有明显的优势;MOLAP则在性能和管理的简便性方面有其优点。虽然MOLAP的查询速度比较快,但是在实现时也有下面3方面的限制:

1) 用多维数组实现多维实视图,需要很大的存储空间。在实际的数据仓库中,每维的属性值个数可达数万,乃至更多。例如几万种产品、几万个连锁店等。而实际的维数可能多达几十乃至几百。耗费的存储空间相当可观,由此带来加载、维护等问题。

2) 在多维数组中,很可能有些单元是空白的,例如节假日商店不营业;某些产品在某些地区不销售等。

3) MOLAP与关系数据库系统从存储结构到查询语言都有相当大的差别,不可能在RDBMS的基础上实现。

对比

Rolap

Molap

沿用现有的关系数据库的技术

专为olap所设计

响应速度比molap慢:现有关系型数据库已经对olap做了很多优化,包括并行存储、并行查询、并行数据管理、基于成本的查询优化、位图索引、sql 的olap扩展(cube,rollup)等,性能有所提高

性能好、响应速度快

数据装载速度快

数据装载速度慢

存储空间耗费小,维数没有限制

需要进行预计算,可能导致数据爆炸,维数有限;无法支持维的动态变化