ROLAP、MOLAP和HOLAP区别

对没有使用过数据仓库的人,对这三个概念确实是有点混淆不清。包括我自己本身不是做数据仓库出身,所以实际上是从实践出发,理论基础是有点匮乏的。

一、基本概念

1. OLAP

     OLAP(on-Line Analysis Processing)是使分析人员、管理人员或执行人员能够从多角度对信息进行快速、一致、交互地存取,从而获得对数据的更深入了解的一类软件技术。OLAP的核心概念是“维”(dimension),维是人们观察客观世界的角度,是一种高层次的类型划分。

     OLAP的基本多维分析操作有钻取(roll up和drill down)、切片(slice)和切块(dice)、以及旋转(pivot)、drill acros、drill through等

      1)钻取

改变维的层次,变换分析的粒度。它包括向上钻取和向下钻取。roll up是在某一维上低层次的细节数据概括到高层次的汇总数据,或者减少维数;而drill down则相反,它从汇总数据深入到细节数据进行观察或增加新维。

      2)切片和切块

在一部分维上选定值后,关心度量数据在剩余维上得分布。如果剩余的维只有两个,则是切片;如果有三个,则是切块。

      3)旋转

旋转是变换维的方向,类似于行列互换。

OLAP有多种实现方法,根据存储数据的方式不同可以分为ROLAP、MOLAP、HOLAP

2.ROLAP、MOLAP、HOLAP

名称 描述 细节数据存储位置 聚合后的数据存储位置
ROLAP(Relational OLAP) 基于关系数据库的OLAP实现 关系型数据库 关系型数据库
MOLAP(Multidimensional OLAP) 基于多维数据组织的OLAP实现 多维数据库 数据立方体
HOLAP(Hybrid OLAP) 基于混合数据组织的OLAP实现 关系型数据库 数据立方体
 

3.特性分析

ROLAP基于关系型数据库,它的OLAP引擎就是将用户的OLAP操作,如上钻下钻过滤合并等,转换成SQL语句提交到数据库中执行,并且提供聚集导航功能,根据用户操作的维度和度量将SQL查询定位到最粗粒度的事实表上去。
MOLAP事先将汇总数据计算好,存放在自己特定的多维数据库中,用户的OLAP操作可以直接映射到多维数据库的访问,不通过SQL访问。
ROLAP提供了更大的灵活度,MOLAP提供提供了更加快速的响应速度。但是带来的问题是,数据装载的效率非常低,但是带来的问题是,数据装载的效率非常低,因为其实就是将多维的数据预先填好,但是随着数据量过大维度成本越高,容易引起“数据爆炸”
原文地址:https://www.cnblogs.com/qqflying/p/9267258.html