M
OLAP(多维在线分析处理)是由Arbor Software提出的
联机分析处理技术,采用多维数据库存储预计算聚合数据,其核心产品包括Hyperion Essbase和Showcase Strategy。该技术通过预先生成的多维数据立方体(
Cube)实现快速多维分析,数据存储在Analysis Services实例的多维结构中,默认存储模式为MOLAP。
数据仓库与OLAP的关系是互补的,现代OLAP系统一般以数据仓库作为基础,即从数据仓库中抽取详细数据的一个子集并经过必要的聚集存储到OLAP
存储器中供前端分析工具读取。典型的OLAP
系统体系结构如下图所示:
OLAP系统按照其存储器的
数据存储格式可以分为
关系OLAP(RelationalOLAP,简称ROLAP)、多维OLAP(MultidimensionalOLAP,简称MOLAP)和混合型OLAP(HybridOLAP,简称HOLAP)三种类型。
ROLAP将分析用的多维
数据存储在关系数据库中并根据应用的需要有选择的定义一批实视图作为表也存储在关系数据库中。不必要将每一个SQL查询都作为实视图保存,只定义那些应用频率比较高、计算工作量比较大的查询作为实视图。对每个针对OLAP服务器的查询,优先利用已经计算好的实视图来生成查询结果以提高查询效率。同时用作ROLAP
存储器的RDBMS也针对OLAP作相应的优化,比如并行存储、并行查询、并行
数据管理、基于成本的查询优化、
位图索引、SQL的OLAP扩展(cube,rollup)等等。
MOLAP将OLAP分析所用到的多维数据物理上存储为
多维数组的形式,形成“立方体”的结构。维的属性值被映射成
多维数组的下标值或下标的范围,而总结数据作为多维数组的值存储在数组的单元中。由于MOLAP采用了新的
存储结构,从
物理层实现起,因此又称为物理OLAP(PhysicalOLAP);而ROLAP主要通过一些软件工具或
中间软件实现,物理层仍采用
关系数据库的存储结构,因此称为虚拟OLAP(VirtualOLAP)。
由于MOLAP和ROLAP有着各自的优点和缺点(如下表所示),且它们的结构迥然不同,这给分析人员设计OLAP结构提出了难题。为此一个新的OLAP结构——混合型OLAP(HOLAP)被提出,它能把MOLAP和ROLAP两种结构的优点结合起来。迄今为止,对HOLAP还没有一个正式的定义。但很明显,HOLAP结构不应该是MOLAP与ROLAP结构的简单组合,而是这两种结构技术优点的有机结合,能满足用户各种复杂的分析请求。
现有
关系型数据库已经对olap做了很多优化,包括并行存储、并行查询、并行
数据管理、基于成本的查询优化、
位图索引、sql 的olap扩展(cube,rollup)等,性能有所提高