OLAP/MOLAP/ROLAP/HOLAP/DOLAP

By | 2012-10-30

数据仓库中的Cube以不同的形式被存储着。以关系型来存储的叫做ROLAP(Relational Online Analytical Processing),而以多维来存储的叫MOLAP(Multidimensional Online Analytical processing mode is called MOLAP),两种方式结合的叫HOLAP(Hybrid Online Analytical Processing)。

 

MOLAP ── 这是OLAP分析的传统模式。在MOLAP中,数据以多维cube方式进行存储,而非存储于关系型数据库中。

优点是cube本身就是为了数据获取而建立的,它提供了完美的查询性能。所有的计算都是在cube建立的时候预先生成的。

缺点是它只能处理有限的数据。由于所有的计算项都预先建立好,cube无法从大规模数据中派生。 可通过在构建cube时,只包含汇总级别的数据,来绕过这一不足。这种形式也需要在cube技术上做额外的投资,而关于该项技术的知识也许是企业本身所不具备的。

ex:COGNOS; HYPERION; TM1

 

ROLAP ── 这种模式的底层数据被存储在关系型数据库中,通过某种方式来使得关系型数据库中的这些数据达到传统OLAP中切片、切块的功能。

优点是可以处理大规模数据,并且仰仗关系型数据库自身的全部功能。

缺点是相较于MOLAP,其性能较差,每个ROLAP报表都是SQL查询,受制于其类型和SQL有限的功能。ROLAP供应商试图通过创建额外的复杂功能、提供用户自定义功能以弥补这一缺憾。

ex:COGNOS REPORT NET; BUSINESS OBJECTS; MICROSTRATAGY; HYPERION

 

HOLAP ── 结合了以上二者的优势。对于汇总信息,HOLAP受益于Cube技术,而对于下钻功能则以ROLAP模型来实现。

ex:COGNOS

DOLAP ── 基于桌面数据库的OLAP。(编者注:个人感觉很少见) 

ex:COGNOS business object tools.

 

比较MOLAP, HOLAP 与 ROLAP 

 

存储媒介影响了cube的处理时间、存储容量和浏览速度。一些影响MOLAP存储的因素是:

 

使用MOLAP时cube的浏览速度是最快的。这一点当没有聚合的时候并不明显。数据存储在一个压缩的多维格式中,并且可以比存储于关系型数据库中存取得更快。在ROLAP中的浏览很慢,HOLAP亦然。而ROLAP中的处理时间也比较慢,尤其是在需要高度聚合的时候。

 

MOLAP所需的存储空间比HOLAP要多,因为数据被拷贝了,且在非常低级别的聚合中它比ROLAP所占用的空间更多。ROLAP由于没有数据重复,所占用的额外空间几乎为0。然而ROLAP的聚合会比MOLAP或HOLAP的聚合所需空间更多。

在MOLAP中所有数据都存在cube中,即使数据源不可用,也可以查看数据;而ROLAP的数据只有当你与数据源相连的时候才能看到。

 

MOLAP由于所有数据都在cube中,其处理的数据量非常有限。