请兄台们用白话文给我解释解释Rolap\Molap\Holap
最近兴趣点还是在BI上,昨天听了些cognos的培训,说cogos建立完数据源后,在建立Cube时候相关数据已经在Cube中了,而我一直以为Cube只是其的是中间服务的功能,然后开始查OLAP的存储,Rolap\Molap\Holap,谁能用白话文给我解释解释这几个存储模式,谢谢了。
------解决方案--------------------ROLAP(relational OLAP),细节数据、聚合后的数据都保存在关系型的数据库中。这种方式效率最低,不推荐使用。
HOLAP(hybrid OLAP),细节数据保留在关系型数据库的事实表中,但是聚合后的数据保存在cube中。
MOLAP(multidimensional OLAP),将细节数据和聚合后的数据均保存在cube中。
SSAS中HOLAP和MOLAP的区别之处在于细节数据如何存储
MOLAP:由于将事实表中的细节数据完整复制一份,放入cube中,因此MOLAP方式会占用较大的空间
HOLAP:而由于在查询细节数据时,必须到关系型数据库中去取出,因此,HOLAP在涉及到细节数据查询时,效率会比较低。另外,处理一个 MOLAP模式的cube所需要的时间,会比处理HOLAP模式的cube所需要的时间更长。
更改SSAS Cube的存储方式:打开Cube 设计 -》属性-》ProactiveCaching 、StorageMode(H/M/ROLAP)
------解决方案--------------------联机分析处理ROLAP、MOLAP和HOLAP区别(转)(2009-05-12 09:25:15)转载标签: 杂谈 分类: 数据库问题
OLAP(on-Line Analysis Processing)是使分析人员、管理人员或执行人员能够从多角度对信息进行快速、一致、交互地存取,从而获得对数据的更深入了解的一类软件技术。OLAP的目标是满足决策支持或者满足在多维环境下特定的查询和报表需求,它的技术核心是"维"这个概念。
“维”(dimension)是人们观察客观世界的角度,是一种高层次的类型划分。“维”一般包含着层次关系,这种层次关系有时会相当复杂。通过把一个实体的多项重要的属性定义为多个维(dimension),使用户能对不同维上的数据进行比较。因此OLAP也可以说是多维数据分析工具的集合。
OLAP的基本多维分析操作有钻取(roll up和drill down)、切片(slice)和切块(dice)、以及旋转(pivot)、drill across、drill through等。
·钻取是改变维的层次,变换分析的粒度。它包括向上钻取(roll up)和向下钻取(drill down)。roll up是在某一维上将低层次的细节数据概括到高层次的汇总数据,或者减少维数;而drill down则相反,它从汇总数据深入到细节数据进行观察或增加新维。
·切片和切块是在一部分维上选定值后,关心度量数据在剩余维上的分布。如果剩余的维只有两个,则是切片;如果有三个,则是切块。
·旋转是变换维的方向,即在表格中重新安排维的放置(例如行列互换)。
OLAP有多种实现方法,根据存储数据的方式不同可以分为ROLAP、MOLAP、HOLAP。
ROLAP表示基于关系数据库的OLAP实现(Relational OLAP)。以关系数据库为核心,以关系型结构进行多维数据的表示和存储。ROLAP将多维数据库的多维结构划分为两类表:一类是事实表,用来存储数据和维关键字;另一类是维表,即对每个维至少使用一个表来存放维的层次、成员类别等维的描述信息。维表和事实表通过主关键字和外关键字联系在一起,形成了"星型模式"。对于层次复杂的维,为避免冗余数据占用过大的存储空间,可以使用多个表来描述,这种星型模式的扩展称为"雪花模式"。特点是将细节数据保留在关系型数据库的事实表中,聚合后的数据也保存在关系型的数据库中。这种方式查询效率最低,不推荐使用。
MOLAP表示基于多维数据组织的OLAP实现(Multidimensional OLAP)。以多维数据组织方式为核心,也就是说,MOLAP使用多维数组存储数据。多维数据在存储中将形成"立方块(Cube)"的结构,在MOLAP中对"立方块"的"旋转"、"切块"、"切片"是产生多维数据报表的主要技术。特点是将细节数据和聚合后的数据均保存在cube中,所以以空间换效率,查询时效率高,但生成cube时需要大量的时间和空间。
HOLAP表示基于混合数据组织的OLAP实现(Hybrid OLAP)。如低层是关系型的,高层是多维矩阵型的。这种方式具有更好的灵活性。特点是将细节数据保留在关系型数据库的事实表中,但是聚合后的数据保存在cube中,聚合时需要比ROLAP更多的时间,查询效率比ROLAP高,但低于MOLAP。
还有其他的一些实现OLAP的方法,如提供一个专用的SQL Server,对某些存储模式(如星型、雪片型)提供对SQL查询的特殊支持。
OLAP工具是针对特定问题的联机数据访问与分析。它通过多维的方式对数据进行分析、查询和报表。维是人们观察数据的特定角度。例如,一个企业在考虑产品的销售情况时,通常从时间、地区和产品的不同角度来深入观察产品的销售情况。这里的时间、地区和产品就是维。而这些维的不同组合和所考察的度量指标构成的多维数组则是OLAP分析的基础,可形式化表示为(维1,维2,……,维n,度量指标),如(地区、时间、产品、销售额)。多维分析是指对以多维形式组织起来的数据采取切片(Slice)、切块(Dice)、钻取(Drill-down和Roll-up)、旋转(Pivot)等各种分析动作,以求剖析数据,使用户能从多个角度、
多侧面地观察数据库中的数据,从而深入理解包含在数据中的信息。
根据综合性数据的组织方式的不同,目前常见的OLAP主要有基于多维数据库的MOLAP及基于关系数据库的ROLAP两种。MOLAP是以多维的方式组织和存储数据,ROLAP则利用现有的关系数据库技术来模拟多维数据。在数据仓库应用中,OLAP应用一般是数据仓库应用的前端工具,同时OLAP工具还可以同数据挖掘工具、统计分析工具配合使用,增强决策分析功能。
------解决方案--------------------我来给你个最白话的版本:
RLOAP : 所有的维度,事实以及聚合运算后的数据实际上未处理计算保存下来,所以每次访问都会重新计算结果.就像我们的OLTP一样,每次查询都是实时查询,所以这种方式反应速度慢,但是胜在实时性好,不占空间(话说,OLAP项目谁去要求实时性?那么大的数据量)
MLOAP : 所有的维度,事实以及聚合运算后的数据处理计算保存下来,所以每次访问的都是已经计算好的结果.优点在于:访问速度,响应速度快 缺点在于:占空间,实时性差
HLOAP : 就是介于RLOAP 与 MLOAP之间的存储计算方式,部分放在关系型数据库,部分计算结果保存下来,具体哪部分,看自定义设定.
一般都采取MLOAP方式.