联机分析处理(OLAP)方案的设计
MOLAP, ROLAP, HOLAP 和其它!
在解决了从数据仓库中提取业务信息相关的数据,有了联机分析处理(OLAP)立方体相关维度和测量的设计之后,下一步就是为联机分析处理(OLAP)立方体选择一种存储类型了。
在数据仓库项目的起初就做出正确的设计决定能降低执行和持续维护的成本。并能为业务用户提供快速和易于访问的分析信息。 设计者可以将联机分析处理(OLAP)的数据存储于数据仓库本身或为立方体存储的优化独立的存储器。根据你数据仓库解决方案的规模和预计中的连接加载,可以选择理想的储存方法。对于大型带有查询频繁的实施,选择一个独立而优化的在线分析处理 (OLAP)存储器再恰当不过了。
针对一个联机分析处理(OLAP)立方体的查询要使用大量的计算机资源。在一种完美的情况下,我们可以对联机分析处理(OLAP)立方体每一个维度的组合上的每一层的测试进行存储。因此在每一次查询的时候,它可以从预先的聚合计算中获得一个值,因为不必对源数据进行查询而节省了时间。
然而,在大多数实际应用中,这并不切合实际。聚合的数量以联机分析处理(OLAP)的层和维度数量的指数级增加: a = l^d a – 聚合, l – 层级, d – 维度  表1. OLAP的聚合数量呈指数级增加
许多用于实际的立方体拥有十多个维度,可容纳四个或四个以上的层。这些将需要超过1 ,048,576,048的聚合量。要预先计算一个百万或超过百万的聚合需要无法估量的时间和计算机资源。数据仓库管理员往往预先计算更为通用的聚合来减少对数据库的要求。企业也通常也会选择设定一些用户限制他们使用联机分析处理(OLAP)。 在最近对一家大型连锁零售企业的一次数据仓库(DW)的实施审核中,他们对通用的查询进行了预先的聚合计算。这些为广泛的用户易于访问。用户能根据他们的许可层次自由执行联机分析处理(OLAP)查询。
 图表1. 查询OLAP数据库的权限
使用这个设计策略能节约相当数量的硬件和软件成本。连同合理的数据管理政策一起,企业使用这一设计策略在不牺牲功能性和可靠性的情况下,大大地节约了数据仓库的实施成本。
联机分析处理(OLAP)的存储是在设计解决方案中一个关键的选择。联机分析处理(OLAP)的存储有三种形式:
MOLAP - 多维联机分析处理 (OLAP)。在MOLAP中,无论是源数据还是聚合数据都以多维的格式进行存储。MOLAP是数据检索最快的选择,但它需要最多的硬盘空间,随着存储和加工成本的降低,对硬盘空间的关注也越来越少了。
ROLAP - 关系型联机分析处理 (OLAP)。所有的数据,包括聚合数据在内,存储在关系型数据库中。在具有更高的使用需求的大型数据仓库的实施时,这可能会让人担心的。ROLAP的数据访问是最慢的。不管一个聚合数据是否存在,一个ROLAP数据库访问数据仓库本身。ROLAP最适合小型数据仓库的实施。
HOLAP - 混合联机分析处理 (OLAP)。HOLAP是上述两种存储方法的结合。HOLAP数据库将已有的聚合数据存储在一个多维结构里,保留单元层数据本身在关系格式。数据进行预聚合的地方,HOLAP执行一次MOLAP,而数据必须从表中取出。HOLAP的速度与 ROLAP一样慢。
由于硬件和处理成本的减少,MOLAP一般情况下是最常用的。如果解决方案是访问一个独立的数据库, HOLAP是比较好的解决方案。当查询需求相对较低,又在一个独立的数据库进行时,ROLAP是最方便建立的。
|