首页 > 代码库 > MOLAP_ROLAP_HOLAP的区别和联系
MOLAP_ROLAP_HOLAP的区别和联系
在OLAP的世界里,主要有两种不同的类型:多维联机分析处理(MOLAP)和关系型联机分析处理(ROLAP)。混合联机分析处理指的是MOLAP和ROLAP技术的结合。
可以执行复杂的计算:所有的计算都在创建多维数据表时预先生成。因此,复杂的计算不仅可行,而且迅速
需要额外的成本:多维数据集技术往往是有专利或现在并不存在在某个组织中。因此,要想采用MOLAP技术,通常是要付出额外的人力和资源成本。
可以利用关系型数据库所固有的功能:关系型数据库已经具备非常多的功能。ROLAP技术,由于它是建立在关系型数据库上的,因此可以使用这些功能。
受限于SQL的功能:因为ROLAP技术主要依赖于生成SQL语句查询关系数据库,SQL语句并不能满足所有的需求(举例来说,使用SQL很难执行复杂的计算),ROLAP技术因此受限于SQL所能做的事情。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的区别和联系
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。