充值信息

赞助信息

推荐给好友 上一篇 | 下一篇

ROLAP和MOLAP的研究



1 引 言

    近些年来,随着商业智能和办公自动化的逐步发展,从中小企业到跨国公司,从基层政府到中央机构都拥有自己相当容量的数据库。随之而来的问题是,面对如此庞大的数据信息,我们如何能够很好的利用并且提高信息利用率。那么OLAP成为这类问题最有效的解决工具之一。

    OLAP是一种软件技术,它使分析人员通过对信息的多种可能的观察角度进行快速、准确和交互性的存取,以获得对信息的深入分析。OLAP以数据仓库为基础,对数据仓库提供的面向主题的数据,采用各种统计分析算法进行分析处理,最终将分析结果提供给决策者,作为决策者的决策支持信息。

2 OLAP的概念

    关系数据库之父E.F.Codd于1993年提出联机分析处理(OLAP)的概念。当时,Codd认为联机事务处理(OLTP)已不能满足终端用户对数据库查询分析的需要,SQL对大数据库进行的简单查询也不能满足用户分析的需求。用户的决策分析需要对关系数据库进行大量计算才能得到结果,而查询的结果并不能满足决策者提出的需求。因此Codd提出了多维数据库和多维分析的概念,即OLAP。

    目前,应用比较广泛的一些OLAP系统几乎都采用了三层客户机,服务器结构。这种客户机/服务器的结构通常将数据仓库、OLAP]艮务器与客户端严格区分。多维数据集存储在OLAPH民务器中,系统的主要处理都是由OLAP]J艮务器上的应用完成,而不是由客户端完成。这样在网络中所需要传输的只是经过分析处理以后的结果,而不是多维数据集,在多维数据集存储量很大时,还可以在数据仓库与OLAP服务器之间添加一个服务器和存储设备,专门用于多维数据集的存储与处理。那么我们要考虑如何选取OLAP所用的数据,也就是OLAP服务器。另外,还要解决如何与客户端的客户需求进行沟通,即如何将OLAP服务器处理得到的结果用直观的方式,如多维报表、饼图、柱状图、三维图等展现给最终用户。OLAP在进行数据组织处理时,可以采用专门的多维数据库系统,或者利用现在应用比较普遍的关系数据库技术来模拟多维数据集,这样在OLAP中就产生了基于多维数据库的OLAP系统(MOL&P)和基于关系数据库的OLAP系统(ROLAP)。

3 ROLAP与MOLAP的综合比较

    ROLAP(Relational OLAP)是基于关系数据库的OLAP技术。以关系数据库为核心,以关系型结构进行多维数据的表示和存储。ROLAP将多维数据库的多维结构划分为两类表:一类是事实表,用来存储数据和维关键字;另一类是维表,即对每个维至少使用一个表来存放维的层次、成员类别等维的描述信息。

    MOLAP(Multidimensional OLAP)是基于多维数据组织的OLAP技术。以多维数据组织方式为核心,EgMOLAP击E用多维数组存储数据。多维数据在存储中将形成“立方块(Cube)”的结构,在MOLAP中对“立方块”的“旋转”、“切块”、“切片”是产生多维数据报表的主要技术。

    用户可以根据各自的需要选择使用何种模式,那么下面我们就从几个方面对ROLAP和MOLAP展开比较。

    1)维度管理

    MOLAP建立在MDDB前确定各个维度的层次关系。在MDDB建立后,如果要增加新的维度,需要重新建立MDDB。ROLAP增加一个维度只增加一张维表并修改事实表,其他维表不需要更改。因而,ROLAP对于维度的管理更加方便。

    2)数据存储

    MOLAP是以多维数据库的方式存储数据,受操作系统平台中文件大小的限制,并且随着MDDB数量的增大,进行预处理的结果将占用大量空间,因此难以达到TB级(只能10-20GB)。ROLAP则利用现有的关系数据库技术来模拟多维数据,存储空间耗费小,维数没有限制。

    3)数据加载

    MOLAP在装载数据时需要计算所有立方体中的数据,然而ROLAP在加载数据时除了完成数据装载外只要创建索引和概要表就可以了。因此在处理大量数据B寸ROLAP被认为是更具快捷的方式,尤其是在维度基数很高的模式下。对于大量多种多样特殊的数据可以通过调节ETL代码。

    4)查询性能

    MOALP需要预先定义概要文件,数据查询采用索引搜索与直接寻址的方式相结合,不需要进行表连接,在查询性能测试中比起ROLAP有相当大的优势。在进行数据汇总查询之前,MOLAP需要预先按概要文件中定义的数据汇总关系进行计算,这个计算通常以批处理方式运行。计算结果回存在数据文件中,当用户查询时,直接调用计算结果,速度非常快。无论是数据汇总还是计算衍生数据,预先计算的方式实际上是用空间来换时间。当然,用户也可以选择动态计算的方式,用查询时间来换取存储空间。MOLAP可以灵活调整时空的取舍平衡。用户难以使用概要文件中没有定义的数据汇总关系和衍生指标。而在ROLAP中,SQL无法完成不分计算,例如无法完成多行的计算和维之间的计算。

    5)分析能力

    MOLAP需要预先定义概要文件,而概要文件会详细分析维度的层次关系,生成概要文件时会反映数据源的错误。因此,在MOLAP中,错误记录会被拒收,并纪录在出错日志中,供IT人员更正。很多查询很难靠ROLAP的一条sQL语句完成。虽然很多ROLAP厂商试图增加临时表,但是,MOLAP查询精度高任然具有在分析数据方面的优势。

    6)维护管理

    MOLAP在后期管理时,只需用SQI活旬输入数据即可。而ROLAP需要打开或者关闭索引,在数据加载和聚集时需要填充多个结构。加载完成后还要考虑性能是否下降,如果性能下降则要增加索引或者概要表。因此,ROLAP维护困难,MOLAP管理简便。MOLAP和ROLAP有着各自的优点和缺点。因此一个新的OLAP结构——HOLAP被提出。迄今为止,对HOLAP还没有一个正式的定义。但是,HOLAP应该不是MOLAP与ROLAP结构的简单组合,而是这两种结构技术优点的有机结合,能满足用户各种复杂的分析请求。HOLAP的优越性就在于它能将ROLAP和MOLAP相互取长补短,充分利用ROLAP的灵活性和数据存储能力以及MOLAP的多维性和高效率。不同OLAP应用的优化目标不同,有的应用优先考虑效率和相应时间,那么MOLA P的比重就应该加大,常用汇总数据都应该采用多维数据库来存储,有的应用对存储容量的要求较高,那么应该充分利用关系数据库的存储能力,把大部分统计数据用ROLAP的模式来存储。

4 结束语

    综上所述:无论ROLAP还是MOLAP,都能够实现联机分析处理的基本功能,两者在查询效率,存储空间和扩展性方面各有千秋。IT人员在选择OLAP系统时,既要考虑产品内部的实现机制,同时也应考虑假设分析,复杂计算,数据评估方面的功能,为实现决策管理信息系统打下坚实的基础。



 

评分:0

我来说两句