首页 > 代码库 > MOLAP_ROLAP_HOLAP的区别和联系

MOLAP_ROLAP_HOLAP的区别和联系

在OLAP的世界里,主要有两种不同的类型:多维联机分析处理(MOLAP)和关系型联机分析处理(ROLAP)。混合联机分析处理指的是MOLAP和ROLAP技术的结合。

MOLAP

概述:

这是OLAP分析的传统方式。在MOLAP中,数据存储在一个多维数据集(cube)中,存储并不是在传统的关系型数据库中,而是自定义的格式。

优势:

卓越的性能:MOLAP cubes为了快速数据检索而构建,具有最佳的slicing dicing操作
可以执行复杂的计算:所有的计算都在创建多维数据表时预先生成。因此,复杂的计算不仅可行,而且迅速

劣势:

它可以处理的数据量有限:因为所有的计算都是执行在构建的多维数据集上,多维数据集本身不可能包括大量的数据。当然这并不是大数据不能派生出多维数据集。事实上,这是可以的。但是在这种情况下,只有汇总的信息能够包含在多维数据集中。
需要额外的成本:多维数据集技术往往是有专利或现在并不存在在某个组织中。因此,要想采用MOLAP技术,通常是要付出额外的人力和资源成本。

ROLAP

概述:

这种方法依赖于操作存储在关系型数据库中的数据,给传统的OLAP slicing 和 dicing功能。本质上,每个slicing或dicing功能和SQL语句中"WHERE"子句的功能是一样的。

优势:

可以处理大数据量:ROLAP技术的数据量大小就是底层关系数据库存储的大小。换句话说,ROLAP本身没有对数据量的限制。
可以利用关系型数据库所固有的功能:关系型数据库已经具备非常多的功能。ROLAP技术,由于它是建立在关系型数据库上的,因此可以使用这些功能。

劣势:

性能可能会很慢:因为每个ROLAP包裹实际上是一个SQL查询(或多个SQL查询)关系数据库,可能会因为底层数据量很大,使得查询的时间很长。
受限于SQL的功能:因为ROLAP技术主要依赖于生成SQL语句查询关系数据库,SQL语句并不能满足所有的需求(举例来说,使用SQL很难执行复杂的计算),ROLAP技术因此受限于SQL所能做的事情。ROLAP厂商已经通过构建工具以减轻这种风险,而且允许用户自定义函数。

HOLAP

概述:

HOLAP技术试图将MOLAP和ROLAP技术的优势结合起来。总体来说,HOLAP利用了多维数据集的技术从而得到更快的性能。

当需要详细信息时,HOLAP可以从多维数据集“穿过”到底层的关系数据库。



MOLAP_ROLAP_HOLAP的区别和联系