OLAP介绍


一、发展背景
二、什么是OLAP?
三、相关基本概念
四、OLAP特性
五、OLAP多维数据结构
六、OLAP多维数据分析
七、OLAP分类
八、OLAP评价准则
九、流行的OLAP工具
十、OLAP发展
十一、OLAP展望


一、发展背景
60年代,关系数据库之父E.F.Codd提出了关系模型,促进了联机事务处理(OLTP)的发展(数据以表格的形式而非文件方式存储)。1993年,E.F.Codd提出了OLAP概念,认为OLTP已不能满足终端用户对数据库查询分析的需要,SQL对大型数据库进行的简单查询也不能满足终端用户分析的要求。用户的决策分析需要对关系数据库进行大量计算才能得到结果,而查询的结果并不能满足决策者提出的需求。因此,E.F.Codd提出了多维数据库和多维分析的概念,即OLAP。
     OLTP数据                     OLAP数据     
            原始数据           导出数据     
          细节性数据           综合性和提炼性数据     
          当前值数据           历史数据     
            可更新           不可更新,但周期性刷新     
    一次处理的数据量小           一次处理的数据量大     
    面向应用,事务驱动           面向分析,分析驱动     
面向操作人员,支持日常操作         面向决策人员,支持管理需要     

二、什么是OLAP?
定义1 :OLAP(联机分析处理)是针对特定问题的联机数据访问和分析。通过对信息(维数据)的多种可能的观察形式进行快速、稳定一致和交互性的存取,允许管理决策人员对数据进行深入观察。
定义2 :OLAP(联机分析处理) 是使分析人员、管理人员或执行人员能够从多种角度对从原始数据中转化出来的、能够真正为用户所理解的、并真实反映企业维特性的信息进行快速、一致、交互地存取,从而获得对数据的更深入了解的一类软件技术。(OLAP委员会的定义)
OLAP的目标是满足决策支持或多维环境特定的查询和报表需求,它的技术核心是“维”这个概念,因此OLAP也可以说是多维数据分析工具的集合。

三、相关基本概念
1.维:是人们观察数据的特定角度,是考虑问题时的一类属性,属性集合构成一个维(时间维、地理维等)。
2.维的层次:人们观察数据的某个特定角度(即某个维)还可以存在细节程度不同的各个描述方面(时间维:日期、月份、季度、年)。
3.维的成员:维的一个取值。是数据项在某维中位置的描述。(“某年某月某日”是在时间维上位置的描述)
4.多维数组:维和变量的组合表示。一个多维数组可以表示为:(维1,维2,…,维n,变量)。(时间,地区,产品,销售额)
5.数据单元(单元格):多维数组的取值。(2000年1月,上海,笔记本电脑,$100000)

四、OLAP特性
(1)快速性:用户对OLAP的快速反应能力有很高的要求。系统应能在5秒内对用户的大部分分析要求做出反应。
(2)可分析性:OLAP系统应能处理与应用有关的任何逻辑分析和统计分析。
(3)多维性:多维性是OLAP的关键属性。系统必须提供对数据的多维视图和分析,包括对层次维和多重层次维的完全支持。。
(4)信息性:不论数据量有多大,也不管数据存储在何处,OLAP系统应能及时获得信息,并且管理大容量信息。

五、OLAP多维数据结构
1.超立方结构(Hypercube)
超立方结构指用三维或更多的维数来描述一个对象,每个维彼此垂直。数据的测量值发生在维的交叉点上,数据空间的各个部分都有相同的维属性。(收缩超立方结构。这种结构的数据密度更大,数据的维数更少,并可加入额外的分析维)。
2.多立方结构(Multicube)
即将超立方结构变为子立方结构。面向某一特定应用对维进行分割, 它具有很强的灵活性,提高了数据(特别是稀疏数据)的分析效率。

六、OLAP多维数据分析
1.切片和切块(Slice and Dice)
在多维数据结构中,按二维进行切片,按三维进行切块,可得到所需要的数据。如在“城市、产品、时间”三维立方体中进行切块和切片,可得到各城市、各产品的销售情况。
2.钻取(Drill)
钻取包含向下钻取(Drill-down)和向上钻取(Drill-up)/上卷(Roll-up)操作, 钻取的深度与维所划分的层次相对应。
3.旋转(Rotate)/转轴(Pivot)
通过旋转可以得到不同视角的数据。

七、OLAP分类
按照存储方式:ROLAP、MOLAP、HOLAP。
按照处理地点:ServerOLAP、ClientOLAP

ROLAP优势:
没有大小限制
现有的关系数据库的技术可以沿用.
可以通过SQL实现详细数据与概要数据的存储
现有关系型数据库已经对OLAP做了很多优化,包括并行存储、并行查询、并行数据管理、基于成本的查询优化、位图索引、SQL 的OLAP扩展(cube,rollup)等大大提高ROALP的速度

MOLAP优势:
性能好、响应速度快
专为OLAP所设计
支持高性能的决策支持计算
复杂的跨维计算
多用户的读写操作
行级的计算

ROLAP缺点:
一般比MDD响应速度慢
不支持有关预计算的读写操作
SQL无法完成部分计算
无法完成多行的计算
无法完成维之间的计算

MOLAP缺点
增加系统复杂度,增加系统培训与维护费用
受操作系统平台中文件大小的限制,难以达到TB 级(只能10~20G)
需要进行预计算,可能导致数据爆炸
无法支持维的动态变化
缺乏数据模型和数据访问的标准

八、OLAP评价准则
准则1   OLAP模型必须提供多维概念模型
准则2   透明性准则
准则3   存取能力准则
准则4   稳定的报表性能
准则5   客户/服务器体系结构
准则6   维的等同性准则
准则7   动态稀疏矩阵处理准则
准则8   多用户支持能力准则
准则9   非受限的跨维操作
准则10 直观的数据处理
准则11 灵活的报表生成
准则12 非受限的维与维的层次

九、、流行的OLAP工具介绍
OLAP产品:
Hyperion Essbase
Oracle Express
IBM DB2 OLAP Server
Sybase Power dimension
Informix Metacube
Microsoft Plato
Brio
Cognos
Business Object
MicroStrategy

OLAP产品涉及的业务操作:
由外部或内部数据源批量装入数据
由业务系统增量装入数据
沿数据层次汇总数据
对基于业务模型的新数据进行计算
时间序列分析
高复杂的查询
沿数据层次细化分析
随机查询
多个联机会话(多用户同时访问)

•Hyperion Essbase
以服务器为中心的分布式体系结构
有超过100个的应用程序
有300多个用Essbase作为平台的开发商
具有几百个计算公式,支持多种计算
用户可以自己构件复杂的查询。
快速的响应时间,支持多用户同时读写
有30多个前端工具可供选择
支持多种财务标准
能与ERP或其他数据源集成
全球用户超过1500家

Oracle Express
Oracle DW支持GB~TB数量级
采用类似数组的结构,避免了连接操作,提高分析性能
提供一组存储过程语言来支持对数据的抽取
用户可通过Web和电子表格使用
灵活的数据组织方式,数据可以存放在Express Server内,也可直接在RDB上使用
有内建的分析函数和4GL用户自己定制查询
全球超过3000家

IBM DB2 OLAP Server
把Hyperion Essbase的OLAP引擎和DB2的关系数据库集成在一起。
与Essbase API完全兼容
数据用星型模型存放在关系数据库DB2中

Informix Metacube
采用metacube技术,通过OLE和ODBC对外开放,
采用中间表技术实现多维分析引擎,提高响应时间和分析能力
开放的体系结构可以方便地与其他数据库及前台工具进行集成

Sybase Power dimension
数据垂直分割(按“列”存储)
采用了突破性的数据存取方法------bit-wise索引技术
在数据压缩和并行处理方面有多到之处
提供有效的预连接(Pro-Jion)技术

十、OLAP发展
应用领域
市场和销售分析(Marketing and Sales analysis)
电子商务分析(Clickstream analysis)
基于历史数据的营销(Database marketing)
预算(Budgeting)
财务报告与整合(Financial reporting and consolidation)
管理报告(Management reporting)
利益率分析(Profitability analysis)
质量分析(Quality analysis)
OLAP标准APB-1(AQT-Analytical Query Time作为统计指标)

从联机分析处理到联机分析挖掘(OLAM/OLAP挖掘)
将联机分析处理与数据挖掘以及在多维数据库中发现知识集成在一起。
联机分析挖掘提供在不同的数据子集和不同的抽象层上进行数据挖掘的工具.
联机分析挖掘为用户选择所期望的数据挖掘功能动态修改挖掘任务提供了灵活性 。
超立方体计算与传统挖掘算法的结合
先进行立方体计算,后进行数据挖掘
先对多维数据作数据挖掘,然后再利用立方体计算算法对挖掘结果分析
立方体计算与数据挖掘同时进行
回溯特性
OLAP基于Web的应用
静态方法     静态HTML报表
动态方法     通过HTML模板及元数据动态生成报表
改进方法     使用Java或ActiveX

十一、 OLAP展望
面向对象的联机分析处理
O3LAP(Object-Oriented OLAP)
对象关系的联机分析处理
OROLAP (Object Relational OLAP)
分布式联机分析处理
DOLAP (Distributed OLAP)
时态联机分析处理
TOLAP (Temporal OLAP)