zoukankan      html  css  js  c++  java
  • 浅析ROLAP和MOLAP优劣

    在OLAP技术文档中,有两种主要的类型经常被提及,即Multidimensional OLAP (MOLAP)和Relational OLAP (ROLAP),并且为了结合优势,在两者的基础上提出了一种新的类型Hybrid OLAP (HOLAP),即混合OLAP技术。从技术角度来说,ROLAP(MicroStrategy实现)和MOLAP(Cognos等实现)各有千秋。前者基于关系型数据库,它的OLAP引擎就是将用户的OLAP操作,如上钻下钻过滤合并等,转换成SQL语句提交到数据库中执行,并且提供聚集导航功能,根据用户操作的维度和度量将SQL查询定位到最粗粒度的事实表上去。相比而言,MOLAP事先将汇总数据计算好,存放在自己特定的多维数据库中,用户的OLAP操作可以直接映射到多维数据库的访问,不通过SQL访问。因此,两者的区别也可以说是ROLAP提供了更大的灵活度,MOLAP提供了更加快速的相应速度。

    MOLAP

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

    优势:

    卓越的性能:MOLAP CUBE能提供快速的数据检索查询,并能提供最优的切片、旋转、切块等操作。

    可以进行复杂的计算:在MOLAP中所有的计算提前在生成CUBE时就被提前处理。因此,MOLAP不光能进行复杂的计算而且速度很快速。

    劣势:

    只能处理有限的数据:因为所有的计算在CUBE被生成时变被处理,所以在CUBE中不可能包含大量的数据,但这并意味CUBE中的数据不能处理大量的数据,只是不能将所有的数据都包含在CUBE中。但因为这种限制,所以只有summary-level(概要类)的信息才能被包含在CUBE中。

    需要额外的投入:因为CUBE技术通常通常是私有的,因此使用MOLAP是可能会遇到人力资源和财务等成本的增加。

    ROLAP

    这种方式采用依靠在关系型数据库(relational database)引擎提供切片、上钻、下钻等功能,每个切片或上钻的操作都会被转换成SQL语句提交到数据库中执行。

    优势:

    可以处理大量的数据:因为ROLAP技术依赖与关系数据库,因此它的数据都存放在关系数据库中,所以它不会存在数据存放空间的限制。

    可以使用关系型数据库自身的函数:因为ROLAP技术架构在关系型数据库之上,所以它能很方便的使用这些函数。

    劣势

    性能不高:因为ROLAP技术的本质是在关系型数据库中进行SQL 查询或者multiple SQL查询,所以当数据量很大时返回结果的时间可能会很慢。

    SQL规范限制:因为ROLAP技术主要是依赖生成SQL语句在关系型数据库中查询实现,但SQL语句不能适用于所以需求,例如,使用SQL语句进行汇总计算就比较困难。

    HOLAP

              HOLAP 技术是结合MOLAP和ROLAP两种技术的优点。针对概要类型的数据,HOLAP采用CUBE技术提供更快的性能。当需要查询大量详细信息时,HOLAP又可以“穿透”(drill through)CUBE 进入CUBE下面的相关数据。

  • 相关阅读:
    1040 最大公约数之和
    51nod 1215 数组的宽度
    51nod 1423 最大二“货” 单调栈
    51nod 1437 迈克步 单调栈
    1564 区间的价值
    51nod 1294 修改数组
    51nod1693 水群 最短路
    51nod1052 最大M子段和
    我不管,这就是水题《1》
    河工大校赛 Hmz 的女装 http://218.28.220.249:50015/JudgeOnline/problem.php?id=1265
  • 原文地址:https://www.cnblogs.com/bowenlearning/p/3871669.html
Copyright © 2011-2022 走看看