MOLAP和ROLAP集大成者-润乾SOLAP

  
2011/1/17 15:13:03
1993年,关系型数据库之父E.F.Codd明确定义了联机分析的概念并完善为十二条准则,他认为用户的决策分析需要对数据进行大量计算才能得到结果,而关系型数据库简单的查询并不能满足决策者提出的需求。



本文关键字: MOLAP ROLAP 润乾SOLAP

一、内容提要

1993年,关系型数据库之父E.F.Codd明确定义了联机分析的概念并完善为十二条准则,他认为用户的决策分析需要对数据进行大量计算才能得到结果,而关系型数据库简单的查询并不能满足决策者提出的需求。跟随这一革命性的概念,OLAP多维分析工具在十几年里逐渐成熟壮大,获得了市场的广泛认可。

润乾SOLAP是一款企业级多维分析工具,拥有完全自主的知识产权,采用了业内首创的先进数学模型,既适合对海量数据进行高性能的拖拽切片,也适合对实时数据进行即时的钻取透视。

普通的OLAP产品根据实现原理不同,大致分为MOLAP和ROLAP两类,两者各有优缺点又难以统一,使用户处于深深地纠结状态。润乾SOLAP集MOLAP和ROLAP两种分析模型于一体,具有统一的外部接口,不仅能够适应TB级的数据库和GB级的文件数据,还可以分析钻取实时的业务数据,是结束这场纠结的最佳选择。

二、两大阵营:MOLAP和ROLAP

多维分析派别林立,但纠其根本就会发现可分为MOLAP和ROLAP两大阵营,其他类别都是从这两类中细分出来的,差别甚微。MOLAP和ROLAP的主要区别是:分析数据是存放在数据库中还是存放在多维文件中。

Multidimension OLAP简称MOLAP,是Arbor Software最先严格遵照Codd的定义,自行建立多维数据库,存放联机分析系统数据,开创了多维数据存储的先河。MOLAP将OLAP分析所用到的多维数据物理上存储为多维数组的形式,形成“多维立方体(CUBE)”的结构。维的属性值被映射成多维数组的下标值或下标的范围,而汇总数据作为多维数组的值存储在数组的单元中。由于MOLAP采用了新的存储结构,从物理层实现起,因此又称为“物理OLAP”(Physical OLAP)。其结构如下图:

在MOLAP的结构中,分散在企业内部各OLTP数据库中的数据经过提取、清洁、转换等步骤后提交给多维数据库。这些数据在被存入多维数据库时,将根据它们所属的维进行一系列的预处理操作(计算和合并),并把结果按一定的层次结构存入多维数据库中。用户通过客户端应用软件的界面递交分析需求给OLAP服务器,再由OLAP服务器检索MDDB数据库以得到结果并返回给用户。

MOLAP在多维文件中预算了大量数据,它的优点主要有:

专为olap所设计

性能好、响应速度快

支持高性能的决策支持计算

设计部署简便

Relational OLAP简称ROLAP,ROLAP将分析用的多维数据存储在关系数据库中,对每个针对OLAP服务器的查询,优先利用已经计算好的实视图来生成查询结果以提高查询效率。同时用作ROLAP存储器的RDBMS也针对OLAP作相应的优化,比如并行存储、并行查询、并行数据管理、基于成本的查询优化、位图索引、SQL的OLAP扩展(cube,rollup)等等。其结构如下图:

 ROLAP的底层数据库是关系型数据库,而不是多维数据库。用户通过客户端工具提交多维分析请求给OLAP服务器,后者动态将这些请求转换成SQL语句执行,分析的结果经多维处理转化为多维视图返回给用户。

ROLAP基于灵活的数据库,他的优点主要有:

可沿用旧的关系数据库的技术

借用RDBMS存储数据,没有文件大小限制

数据实时性强

方便存储明细数据

有优点就有缺点,一方的优点恰好是另一方的缺点,两者的优势如何兼具是个令人纠结的问题;个别厂商意识到了这个问题,已经通过收购推出了两者兼具的产品,但因为是商业收购行为没有从底层创新突破,所以这类产品外形虽统一相似可用起来就会明显区分出两类产品的强行合并,在接口体验集成上都存在巨大的障碍。

三、纠结:性能迅捷OR数据实时

首先纠结的是性能和实时性。

MOLAP由于专为OLAP所设计,其数据存储结构是为了优化多维数据,预算了大量统计数据,因此在执行时无需等待,无需表关联,直接寻址,直接响应用户的查询请求。这样的结果就是MOLAP在用户体验上总是以性能迅捷著称,非常适合领导决策类的面向领导、面向宏观的分析。

相反地,MOLAP不能直接从数据库取数,因此业务数据的变化不能迅速反应到MOLAP中,无法做到实时分析数据,这对一些实时性要求很强的业务就不适合了。另外在读写TB级的多维文件时MOLAP的性能优势亦不复存在,其读写性能显著减低,会明显影响用户体验。 MOLAP的性能曲线起点高,但随体积变化下降较快,在10GB之内有其王者地位。

ROLAP基于数据库,其数据可直接来自于业务系统或者镜像的数据库,即使是数据仓库也可以用触发器实时同步数据,因此基于数据库的ROLAP分析的数据实时性高,非常适合对实时性要求敏感的业务类型。另外数据库有分表,分区,集群的能力,因此对数据量的大小不敏感,TB级的数据库经过优化后速度和GB级的没有显著区别。ROLAP的性能曲线起点低,但随体积变化下降较慢,其性能只能在10GB之外体现出来。

相反地,ROLAP要把用户的请求最终转化为SQL语句。SQL语句本来不适合执行多维分析,其分析过程充满了“多维请求-〉拆分成SQL->优化SQL->取数-〉整合数据-〉优化为多维结果”,因此其分析过程曲折复杂,硬凑的痕迹明显,其性能大打折扣。

一种是分析性能,一种是数据实时性。前者在面向领导、面向宏观决策的分析中用的较多,比如股票宏观分析、道路交通规划分析、航班政策分析。后者在实时性要求很强的业务中用的较多,比如股票买卖分析,道路交通预警分析,航班调度分析。

两类需求都在系统中存在的时候如何选取?比如交通系统中,给领导看的道路交通规划分析和给实时道路交通分析师看的交通预警分析都会存在,难道要牺牲性能让领导在慢吞吞的操作中抓耳挠腮?或者是牺牲实时性让交通分析师去敬告司机“昨天东二环堵车,请绕行通惠河北路”?----显然单选谁都不靠谱。

谁能解决这个矛盾?怎么解决这个矛盾?

四、纠结:钻取明细OR钻取立方体
 

其次纠结的是钻取明细和钻取立方体(cube)

MOLAP把数据加工成可直接进行多维分析的数据,这使用户进行多维分析的时候速度大大加快,但是----用户在分析中难道只进行多维分析吗?答案是否定的----钻取明细就是一种和多维分析紧密相关,但最适合用关系型数据库表现的功能。

明细指的是当前CUBE所依赖的原始聚合来源。这个来源一般是一条条的历史流水信息,比如合同订单列表、商品销售流水、日志表,这些流水信息不便于分析,因此经过汇总加工后,形成多维分析中的统计值供用户使用。用户在多维分析中观察到敏感数据后,往往希望了解这些敏感数据的明细,这时就要做汇总明细的反操作:钻取明细。

钻取明细这类数据往往数量庞大,查询简单,又不是多维模型中的一部分,因此适合存储在ROLAP中,不适合在MOLAP中存储,勉强存储在MOLAP中只会大幅度影响分析的性能。

钻取立方体指从当前维度位置下钻一级形成新的立方体,比如用户当前察看的数据是08年按季度、东北地区按省份显示的数据,在3季度、辽宁省这个位置钻取出3季度按月,辽宁省按城市显示的CUBE。钻取立方体有助于用户逐步逐级的去发现敏感数据。

钻取立方体是多维模型的一部分,是原始CUBE的一种映射,对MOLAP来说从原CUBE到钻取立方体几乎没有多余的运算,效率非常高。相反对ROLAP来说,几乎等于重新构建一个多维分析,无谓的运算很多,需要消耗大量的资源。

在实际应用中两者都有用武之地,钻取明细便于用户察看统计数据的来源组成,钻取立方体便于用户层层下钻快速定位敏感数据。但两者的运行效率和其所采用的OLAP模型紧密相关,想钻取明细快一些,就不得不采用ROLAP;想钻取立方体快一些,就不得不采取MOLAP,显然这是用户不愿意看到的。
还是那句话,谁能解决这个矛盾?

五、 纠结:各自为政OR统一协作

个别厂商也看到了MOLAP和ROLAP统一的巨大需求,因此推出了两者都可以支持的产品,混合型OLAP----好像事情很顺利,但且慢----MOLAP和ROLAP模型差异巨大,底层算法完全不同,一直是相对独立的产品,两者的厂商也掌握着完全不同的核心技术,融合两种模型谈何容易。

实际的融合并不顺利,用户在使用中逐步发现:号称能支持两种模型的OLAP产品,其实只是一种商业收购及产品封装行为。

MOLAP在多维分析市场由于性能获得了比ROLAP更多的市场份额,但其产品单一,资金实力相对弱;反观ROLAP厂商虽然在OLAP领域份额不多,但通常有强力的数据库产品为依托,资金实力雄厚。因此OLAP市场上就发生了戏剧性的一幕:市场份额较小的ROLAP厂商纷纷收购市场份额较大的MOLAP厂商。
仅靠收购是远远不够的,MOLAP和ROLAP毕竟在底层差异巨大,必须从底层让两者完美的统一起来,简单的封装只会让用户在使用中更为纠结。

简单封装后的产品虽然入口看似统一了,但进一步操作还是往往还是要用不同的工具来定义不同的模型,展现风格也大相径庭,只能做到形似而不能神似,甚至发生过一家产品内部互相不兼容的笑话,以至于大部分客户还是只采购其中一种产品,让合并后的多维工具厂商大为尴尬。虽然采购成本略有下降,但总体工作量没有比以前少多少,两者的不兼容反而引发了系统的不稳定,让维护的工作量大幅上升;而数据库厂商往往对收购来的多维工具限定了对自家数据库有更好的支持,反而让客户怀念起以前独立的多维分析工具对数据库的低依赖性。

总之一句话:还是各自为政

六、 结束纠结:润乾SOLAP

有没有一种多维分析工具,完全构造一种新的模型,从底层建立良好的数学分析模式,完美的统一MOLAP和ROLAP,结束这场纠结?

有,那就是在BI领域拼搏10多年,以技术创新为经营理念,拥有自主的“非线性报表”专利数学模型,缔造过润乾报表产品神化,在国内BI市场处于领头羊位置的润乾公司的SOLAP产品。

润乾SOLAP是一款企业级多维分析工具,拥有完全自主的知识产权,其特点是:适合快速建模部署,采用了先进的离散数据集数学模型,提供了完善的多维分析功能,包括拖拽、旋转、切片、切块、钻取、统计图、自定义指标等。该产品集MOLAP和ROLAP两种分析模型于一体,具有统一的外部接口和内部模型,不仅能够适应TB级的数据库和GB级的文件数据,还可以分析钻取实时的业务数据,解决了同类产品数据量和实时性无法兼顾的矛盾。

七、离散数据集:创新技术推动应用进步

润乾SOLAP可以完美的结合ROLAP和MOLAP,源自于其采用了业界先进的“离散数据集”数学模型,该模型从底层就为统一MOLAP和ROLAP而生,专门针对海量矩阵数据做了特殊的优化,因此在容量和速度上都足以支撑企业级的分析应用。
润乾SOLAP的结构图如下:

该产品以SOLAP引擎为核心,支持对外形式一致的4种类型的矩阵,分别是:数据库矩阵、物理矩阵、序表矩阵、导出矩阵。用户可以使用B/S或C/S进行在线分析。其中数据库矩阵即通常意义上的ROLAP、物理矩阵即通常意义上的MOLAP。两者使用同一套工具定义分析,并且对外部有一致的接口和功能,对程序员和最终用户都是透明的,用户和程序员在使用时无须关注这两种矩阵的区别。

除了本文提到的使MOLAP和ROLAP统一协作的特点,SOLAP还具有如下特点:

纯J2EE产品架构

无需服务器的客户端应用方案

标准OLAP分析模式

多数据源的维度统一定义接口

灵活的CUBE映射机制

完善的权限管理机制

丰富的OLAP计算功能

精确的图表输出及打印机制

深度集成润乾系列产品

以上详细信息以及润乾SOLAP的其他两种矩阵:序表矩阵、导出矩阵,均可参考SOLAP技术白皮书。


 

责编:张欢
vsharing微信扫一扫实时了解行业动态
portalart微信扫一扫分享本文给好友

著作权声明:畅享网文章著作权分属畅享网、网友和合作伙伴,部分非原创文章作者信息可能有所缺失,如需补充或修改请与我们联系,工作人员会在1个工作日内配合处理。
最新专题
IT系统一体化时代来了

2009年Oracle 用Exadata服务器告诉企业,数据中心的IT服务一体化解决方案才是大势所趋,而当前企业对大数据处理的..

高性能计算——企业未来发展的必备..

“天河二号”问鼎最新全球超级计算机500强,更新的Linpack值让世界认识到了“中国速度”。但超算不能只停留于追求..

    畅享
    首页
    返回
    顶部
    ×
      信息化规划
      IT总包
      供应商选型
      IT监理
      开发维护外包
      评估维权
    客服电话
    400-698-9918