资源描述
联机分析处理OLA1第第3 3章章 联机分析处理联机分析处理-OLAP-OLAPo本章学习目标:n通过 OLAP 技术概念介绍了解 OLAP 的发展和特点。n通过多维分析学习掌握多维的基本概念。n通过 OLAP 的实施掌握 OLAP 实施方法。n通过MOLAP 与ROLAP 的学习掌握MOLAP 与ROLAP的概念。n通过 OLAP 技术评价学习掌握对 OLAP 技术的评价。联机分析处理OLA23.1 概述概述3.2 OLAP定义和基本概念定义和基本概念3.3 OLAP的数据模型的数据模型3.4 多维数据分析多维数据分析3.5 OLAP的结构与分析工具的结构与分析工具第第3 3章章 联机分析处理联机分析处理-OLAP-OLAP联机分析处理OLA33.1 概述概述o60年代,关系数据库之父年代,关系数据库之父E.F.Codd提出提出了关系模型,促进了联机事务处理了关系模型,促进了联机事务处理(OLTP)的发展的发展(数据以表格的形式而非文件方式存数据以表格的形式而非文件方式存储储)。o1993年,年,E.F.Codd提出了多维数据库和提出了多维数据库和多维分析的概念,即多维分析的概念,即OLAP。联机分析处理OLA4OLTP VS.OLAP面向操作人员,支持日常操作面向操作人员,支持日常操作面向决策人员,支持管理需要面向决策人员,支持管理需要面向应用,事务驱动面向应用,事务驱动面向分析,分析驱动面向分析,分析驱动一次处理的数据量小一次处理的数据量小一次处理的数据量大一次处理的数据量大可更新可更新不可更新,但周期性刷新不可更新,但周期性刷新当前值数据当前值数据历史数据历史数据细节性数据细节性数据综合性和提炼性数据综合性和提炼性数据原始数据原始数据导出数据导出数据OLTP数据数据OLAP数据数据联机分析处理OLA5OLAP基本思想基本思想o联机分析处理(联机分析处理(OnLine Analysis Processing,OLAP)在数据仓库系统中,联机在数据仓库系统中,联机分析处理是重要的数据分析工具。分析处理是重要的数据分析工具。oOLAP的基本思想是从的基本思想是从多方面多方面和和多角度多角度以以多维多维的形的形式来观察企业的状态和了解企业的变化。式来观察企业的状态和了解企业的变化。oOLAP是独立于数据仓库的一种技术概念是独立于数据仓库的一种技术概念o当当OLAP与数据仓库结合时,与数据仓库结合时,OLAP的数据源为数的数据源为数据仓库,数据仓库的大量数据是根据多维方式组织据仓库,数据仓库的大量数据是根据多维方式组织的。的。联机分析处理OLA63.2 OLAP定义o联机分析处理(联机分析处理(OLAP)是一种软件技术,)是一种软件技术,它使分析人员能够迅速、一致、交互地从各它使分析人员能够迅速、一致、交互地从各个方面观察信息,以达到深入理解数据的目个方面观察信息,以达到深入理解数据的目的。这些信息是从原始数据转换过来的,按的。这些信息是从原始数据转换过来的,按照用户的理解,它反映了企业真实的方方面照用户的理解,它反映了企业真实的方方面面。(面。(OLAP理事会理事会)联机分析处理OLA7OLAP目标o是满足决策支持或多维环境特定的查询和报是满足决策支持或多维环境特定的查询和报表需求,它的技术核心是表需求,它的技术核心是“维维”这个概念,这个概念,因此因此OLAP也可以说是多维数据分析工具的也可以说是多维数据分析工具的集合。集合。联机分析处理OLA8OLAP基本概念o变量变量:从现实系统抽象出来的,用于描述数据的实际含义,即描述数据即描述数据“是什么是什么”o维维:是与某一事件相关的因素在关系模型的抽象,是人们观察数据的特定角度。如产品是人们观察数据的特定角度。如产品维、顾客维、时间维等。维、顾客维、时间维等。o维的层次性维的层次性:是由观察数据细致程度不同造成的。如日、月、季、年是时间维的层次。如日、月、季、年是时间维的层次。o维的取值维的取值:即维的成员。如如“某年某月某日某年某月某日”是时间维的一个成员。是时间维的一个成员。联机分析处理OLA9OLAP基本概念o维的分类:按照一定的划分标准对维的所有取值集合的一个分类划分,用于数据钻取和聚合。如上半年、下半年是对时间维的划分。o事实:不同维度在某个取值下的交叉点,是对事件的度量。如(牙膏,上海,(牙膏,上海,1998年年12月,批发,月,批发,销售额为销售额为100000)o多维数据立方体联机分析处理OLA10维的例子o一个电子公司的销售一般从三个方面分析销售额:一个电子公司的销售一般从三个方面分析销售额:n时间:时间:在某一段时间内的销售情况,其度量为(年、季在某一段时间内的销售情况,其度量为(年、季度、月、旬、天)度、月、旬、天)n地区:地区:在某个地区的销售情况,度量可分为(地区、国在某个地区的销售情况,度量可分为(地区、国家、省、市)家、省、市)n产品:产品:某类或某型号产品的销售情况,度量可分为(类某类或某型号产品的销售情况,度量可分为(类别、型号等)别、型号等)o此处,(时间,地区,产品)就构成了三个维。维此处,(时间,地区,产品)就构成了三个维。维有层次结构,可以在某个层上察看数据。有层次结构,可以在某个层上察看数据。联机分析处理OLA11维的例子o地区的层次全国江苏北京上海苏州市扬州市宝应县联机分析处理OLA12维的例子o正好构成一个数据立方体,可以有更高阶的维,但正好构成一个数据立方体,可以有更高阶的维,但仍然称为仍然称为数据立方体。数据立方体。时间时间地区地区产品产品原点原点联机分析处理OLA13OLAP数据立方体的计算(物化)数据立方体的计算(物化)o数据立方体的个数数据立方体的个数o有产品有产品(type)、城市、城市(city)、日期、日期(date)三个维,则:三个维,则:alldatetypecitytype datecity datecity type city type date0-D(顶点)方体1-D方体2-D方体3-D(基本)方体联机分析处理OLA14OLAP数据立方体的计算(物化)数据立方体的计算(物化)o一般,若有一般,若有n个维,则立方体个数是个维,则立方体个数是nnnnnccc2.10(city,item,date),(city,item),(city,date),(item,date),(city),(item),(date),all all 表示不对任何维分组,这组形成了该数据立方体的方体格联机分析处理OLA15OLAP数据立方体的计算(物化)数据立方体的计算(物化)o实际维上有分层,如(年、季度、月、星期、日),所以实际实际维上有分层,如(年、季度、月、星期、日),所以实际的立方体个数是极大的。所以,实时计算的工作量极大,但全的立方体个数是极大的。所以,实时计算的工作量极大,但全部事先计算,则存储量又极大。部事先计算,则存储量又极大。o方体的选择计算:方体的选择计算:n不物化:即不预先计算任何不物化:即不预先计算任何“非基本非基本”方体方体n全物化:预先计算所有的方体全物化:预先计算所有的方体n部分物化:在整个可能的方体集中,有选择地物化一个适当的部分物化:在整个可能的方体集中,有选择地物化一个适当的子集子集o在在OLAP中一般采用部分物化,应考虑三个因素中一般采用部分物化,应考虑三个因素:n(1)确定要物化的方体子集;确定要物化的方体子集;n(2)利用查询处理时物化的方体;利用查询处理时物化的方体;n(3)在装入和刷新时,有效地更新物化的方体。在装入和刷新时,有效地更新物化的方体。联机分析处理OLA163.3 OLAP的数据模型的数据模型o3.3.1 MOLAP数据模型数据模型o3.3.2 ROLAP数据模型数据模型o3.3.3 MOLAP与与ROLAP的比较的比较o3.3.4 HOLAP数据模型数据模型联机分析处理OLA173.3.1 MOLAP的数据模型oMOLAPMOLAP是基于多维数据库存储方式建立的是基于多维数据库存储方式建立的OLAPOLAP;表;表现为现为“超立方超立方”结构,采用类似于结构,采用类似于多维数组多维数组的结构。的结构。o例如,二维例如,二维MDDB(数组,即矩阵)的数据组织(数组,即矩阵)的数据组织见下表见下表北京上海广州衣服600700500鞋800900700帽子10020080联机分析处理OLA183.3.2 ROLAP数据模型数据模型oROLAP是基于关系数是基于关系数据库的据库的OLAP。o它是一个平面结构,它是一个平面结构,用关系数据库表示多用关系数据库表示多维数据时,采用星型维数据时,采用星型模型。模型。产品名产品名地区地区销售量销售量衣服衣服北京北京600衣服衣服上海上海700衣服衣服广州广州500鞋鞋北京北京800鞋鞋上海上海900鞋鞋广州广州700帽子帽子北京北京100帽子帽子上海上海200帽子帽子广州广州80联机分析处理OLA193.3.3 MOLAP与与ROLAP的比较的比较o1.数据存取速度o2.数据存储的容量o3.多维计算的能力o4.维度变化的适应性o5.数据变化的适应性o6.软硬件平台的适应性o7.元数据管理联机分析处理OLA201.数据存取速度数据存取速度oROLAP服务器需要将服务器需要将SQL语句转化为多维语句转化为多维存储语句,临时存储语句,临时“拼合拼合”出多维数据立方体。出多维数据立方体。因此,因此,ROLAP的响应时间较长。的响应时间较长。o MOLAP在数据存储速度上性能好,响应在数据存储速度上性能好,响应速度快。速度快。联机分析处理OLA212.数据存储的容量数据存储的容量oROLAP使用的传统关系数据库的存储方法,在存使用的传统关系数据库的存储方法,在存储容量上基本没有限制。储容量上基本没有限制。oMOLAP通常采用多平面叠加成立体的方式存放数通常采用多平面叠加成立体的方式存放数据。据。oMOLAP受操作系统平台中文件大小的限制,受操作系统平台中文件大小的限制,当数当数据量超过操作系统最大文件长度时,需要进行数据据量超过操作系统最大文件长度时,需要进行数据分割。分割。o多维数据库的数据量级难以达到多维数据库的数据量级难以达到TB TB 级级(只能只能1020G1020G)联机分析处理OLA223.多维计算的能力多维计算的能力oMOLAP能够支持高性能的决策支持计算。能够支持高性能的决策支持计算。oROLAP无法完成多行的计算和维之间的计无法完成多行的计算和维之间的计算。算。联机分析处理OLA234.维度变化的适应性维度变化的适应性oMOLAP增加新的维度,则多维数据库通常增加新的维度,则多维数据库通常需要重新建立。需要重新建立。oROLAP对于维表的变更有很好的适应性。对于维表的变更有很好的适应性。联机分析处理OLA245.数据变化的适应性数据变化的适应性o当数据频繁的变化时,MOLAP需要进行大量的重新计算,甚至重新建立索引乃至重构多维数据库。o在ROLAP中灵活性较好,对于数据变化的适应性高。联机分析处理OLA25MOLAP VS ROLAPMOLAPMOLAPROLAPROLAP固定维固定维可变维可变维维交叉计算维交叉计算多维视图多维视图行级计算行级计算超大型数据库超大型数据库读读-写应用写应用维数据变化速度快维数据变化速度快数据集市数据集市数据仓库数据仓库联机分析处理OLA263.3.4 HOLAP数据模型 oHOLAP(Hybrid OLAP),即混和型OLAP介于MOLAP和ROLAP之间。在HOLAP中,对最常用的维度和维层次,使用多维数据表来存储,对于用户不常用的维度和数据,采用ROLAP星型结构来存储。oHOLAP得宜于得宜于ROLAP的可伸缩性的可伸缩性,和和MOLAP的快的快速计算。(如速计算。(如MS SQL SERVER)o在HOLAP的多维数据表中的数据维度少于MOLAP中的维度表,数据存储容量也少于MOLAP方式。oHOLAP在数据存取速度上又低于MOLAP。联机分析处理OLA273.4 OLAP的基本操作o数据切片:多维数据是由多个维度组成的,如果在某个维度上选定一个取值,则多维数据从n维下降成n-1维o数据切块:将完整的数据立方体切取一部分数据而得到的新的数据立方体。o数据钻取(下钻):从较高的维度层次下降到较低的维度层次上来观察多维数据o数据聚合(上卷):对数据进行高层次综合的操作o数据旋转:改变维度的位置关系,使最终用户可从其他视角来观察多维数据。联机分析处理OLA28基本操作示例o 以以“城市、产品、时间城市、产品、时间”三维数据为例,如下图三维数据为例,如下图联机分析处理OLA2920294035504138372321393426273632时间时间产品产品地区地区一季度一季度二季度二季度三季度三季度四季度四季度北京北京上海上海南京南京广州广州VCD手机手机电脑电脑空调空调69(北京,二季度,电脑的销售额)(北京,二季度,电脑的销售额)联机分析处理OLA30o对三维数据,通过对三维数据,通过“切片切片”,分别从产品和城市,分别从产品和城市等不同的角度观察销售情况:等不同的角度观察销售情况:广州上海电视机电冰箱联机分析处理OLA31切片示例120294035504138372321393426273632时间时间产品产品地区地区一季度一季度二季度二季度三季度三季度四季度四季度北京北京上海上海南京南京广州广州VCD手机手机电脑电脑空调空调切片切片(slice):地区地区=“北京北京”意义:北京地区四个季度意义:北京地区四个季度空调、电脑、手机、空调、电脑、手机、VCD的销售金额的销售金额联机分析处理OLA32切片示例220294035504138372321393426273632时间时间产品产品地区地区一季度一季度二季度二季度三季度三季度四季度四季度北京北京上海上海南京南京广州广州VCD手机手机电脑电脑空调空调切片:切片:产品产品=“空调空调”意义:空调产品在四个季意义:空调产品在四个季度中各地区的销售金额度中各地区的销售金额联机分析处理OLA332.切块o(1)在多维数组的某一个维上选定某一区间的维成员的操作o切块可以看成是在切片的基础上,确定某一个维成员的区间得到的片段,也即由多个切片叠合起来。o(2)选定多维数组的一个三维子集的操作o在多维数组(维1,维2,维n,变量)中选定3个维,维i、维j、维k,在这3个维上分别取一个区间,或任意维成员,而其它维都取定一个维成员。联机分析处理OLA34切块示例2029403550413837时间时间产品产品地区地区一季度一季度二季度二季度三季度三季度四季度四季度南京南京广州广州手机手机空调空调分块分块(dice):地区地区=“南京南京”AND“广州广州”产品产品“空调空调”AND“手机手机”联机分析处理OLA353.钻取o钻取有向下钻取(drill down)和向上钻取(drill up)操作。o向下钻取是使用户在多层数据中能通过导航信息而获得更多的细节性数据。o向上钻取获取概括性的数据。联机分析处理OLA362029403550413837时间时间产品产品地区地区一季度一季度二季度二季度三季度三季度四季度四季度南京南京广州广州手机手机空调空调下钻(下钻(drill_down):按时间分到月、甚至按时间分到月、甚至天为单位天为单位668817161413时间时间南京南京广州广州手机手机8131113141413121610101513111016空调空调1 2 3 4 5 6 7 8 9 10 11 12下钻下钻联机分析处理OLA37上卷(上卷(roll_up):按时间上卷到半年为单位按时间上卷到半年为单位2029403550413837时间时间产品产品地区地区一季度一季度二季度二季度三季度三季度四季度四季度南京南京广州广州手机手机空调空调时间时间产品产品南京南京广州广州手机手机空调空调49759175上半年上半年 下半年下半年联机分析处理OLA384.旋转o通过旋转可以得到不同视角的数据。旋转操作相当于平面数据将坐标轴旋转。例如,旋转可能包含了交换行和列,或是把某一个行维移到列维中去。o或是把页面显示中的一个维和页面外的维进行交换(令其成为新的行或列中的一个)联机分析处理OLA39时间维产品维产品维时间维行列交换旋转以改变显示布局时间维产品维地区维时间维地区维产品维联机分析处理OLA40旋转示例o旋转前的数据旋转前的数据o旋转后的数据旋转后的数据
展开阅读全文