OLAP介绍

一、发展背景
    
60年代,关系数据库之父E.F.Codd提出了关系模型,促进了联机事务处理(OLTP)的发展(数据以表格的形式而非文件方式存储)1993年,E.F.Codd提出了OLAP概念,认为OLTP已不能满足终端用户对数据库查询分析的需要,SQL对大型数据库进行的简单查询也不能满足终端用户分析的要求。用户的决策分析需要对关系数据库进行大量计算才能得到结果,而查询的结果并不能满足决策者提出的需求。因此,E.F.Codd提出了多维数据库和多维分析的概念,即OLAP
      为了解决大型企业虽然拥有大量业务数据但难以及时有效的提取经营管理者所需要的信息这一问题,数据仓库技术应运而生。如何有效的组织大量数据,维护数据的一致性,方便用户访问,这只是数据仓库技术的一个方面。 数据仓库技术的另一个方面是如何为经营管理人员提供有效的使用信息,使他们能够使用数据仓库系统,对企业的经营管理作出正确的决策,从而为企业带来经济效益。要达到这个目的,就要借助OLAP技术。

OLAP技术主要通过多维的方式来对数据进行分析、查询和生成报表,它不同于传统的OLTP处理应用。OLTP应用主要是用来完成用户的事务处理,如民航订票系统和银行的储蓄系统等,通常要进行大量的更新操作,同时对响应的时间要求比较高。而OLAP系统的应用主要是对用户当前的及历史数据进行分析,扶助领导决策,其典型的应拥有对银行信用卡风险的分析与预测和公司市场营销策略的制定等,主要是进行大量的查询操作,对时间的要求不太严格。

      在数据仓库应用中,OLAP应用一般是数据仓库应用的前端工具,同时OLAP工具还可以同数据挖掘工具、统计分析工具配合使用,增强决策分析功能。

 

二、什么是OLAP

定义1 OLAP(联机分析处理)是针对特定问题的联机数据访问和分析。通过对信息(维数据)的多种可能的观察形式进行快速、稳定一致和交互性的存取,允许管理决策人员对数据进行深入观察。

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

   OLTPOLAP的区别:

联机事务处理OLTPon-line transaction processing

OLTP是传统的关系型数据库的主要应用,主要是基本的、日常的事务处理,例如银行交易。

联机分析处理OLAPOn-Line Analytical Processing

OLAP是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。OLAP采用多维报表和统计图形,查询提出以及数据输入直观灵活,用户可以方便的逐层细化,切块,切片,数据旋转

下表列出了OLTPOLAP之间的比较:

 

OLTP

OLAP

用户

面向操作人员,支持日常操作

面向决策人员,支持管理需要

功能

日常操作处理

分析决策

DB 设计

面向应用,事务驱动

面向主题,分析驱动

数据

当前的,最新的细节的,二维的分立的

历史的,聚集的,多维的,集成的,统一的

存取

可更新,读/写数十条记录

不可更新,但周期性刷新,读上百万条记录

工作单位

简单的事务

复杂的查询

DB 大小

100MB-GB

100GB-TB

总的来说,OLTP就是面向我们的应用系统数据库的,OLAP是面向数据仓库的。

 

三、相关基本概念

1.维:是人们观察数据的特定角度,是考虑问题时的一类属性,属性集合构成一个维(时间维、地理维等)

2.维的层次:人们观察数据的某个特定角度(即某个维)还可以存在细节程度不同的各个描述方面(时间维:日期、月份、季度、年)

3.维的成员:维的一个取值。是数据项在某维中位置的描述。(“某年某月某日是在时间维上位置的描述)

4.多维数组:维和变量的组合表示。一个多维数组可以表示为:(1,维2,维n,变量)(时间,地区,产品,销售额)

5.数据单元(单元格):多维数组的取值。(20001月,上海,笔记本电脑,$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 relational olap,即关系olap。代表产品有Informix MetacubeMicrosoft SQL Server OLAP Services

MOLAPmultidimensional olap,即多维olap。代表产品有Hyperion(Arbor Software) EssbaseShowcase Strategy等。

HOLAP(混合型olap hybrid olap
按照处理地点:

Server OLAP:数据在服务器端的多维分析。代表产品有Microsoft SQL Server OLAP Services

Client OLAP:把部分数据下载到本地,为用户提供本地的多维分析。代表产品有Brio DesignerBusiness Object

以下是ROLAPMOLAPHOLAP三者之间优缺点对比:

 

优势

缺点

ROLAP

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

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

MOLAP

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

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

HOLAP

基于混合数据组织的OLAP实现,如低层是关系型的,高层是多维矩阵型的。这种方式具有更好的灵活。holap结构不应该是molaprolap结构的简单组合,而是这两种结构技术优点的有机结合,能满足用户各种复杂的分析请求。

迄今为止,对holap还没有一个正式的定义

 

八、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产品涉及的业务操作:

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

1.        Hyperion Essbase

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

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

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

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

5.        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模板及元数据动态生成报表
改进方法 使用JavaActiveX

 

十一、 OLAP展望

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

 

 

posted @ 2012-07-08 11:51  danjon  阅读(7092)  评论(0编辑  收藏  举报
作者:不具名的空间
出处:http:
//www.cnblogs.com/dqj1024/
版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。