联机分析处理.ppt
第3章 联机分析处理(1),第3章 联机分析处理,3.1 OLAP概念3.2 OLAP的数据模型3.3 多维数据的显示3.4 OLAP多维数据分析(上)(3.4.1 3.4.2),联机分析处理(On Line Analytical Processing,OLAP)在数据仓库系统中,联机分析处理是重要的数据分析工具。OLAP的基本思想是从多方面和多角度,以多维的形式来观察企业的状态和了解企业的变化。,3.1 OLAP概念,OLAP是以数据仓库为基础的数据分析处理。它有两个特点:一是在线性(On Line),由网络上的客户机/服务器这种体系结构来完成的;二是多维分析,这也是OLAP的核心所在。,3.1.1 OLAP定义,1.OLAP理事会给出的定义 联机分析处理(OLAP)是一种软件技术,它使分析人员能够迅速、一致、交互地从各个方面(多维)观察信息,以达到深入理解数据的目的。这些信息是从原始数据转换过来的,按照用户的理解,它反映了企业真实的方方面面。,2.OLAP的简单定义,联机分析处理是共享多维信息的快速分析。它体现了四个特征:(1)快速性:用户对OLAP的快速反应能力有很高的要求。(2)可分析性:OLAP系统应能处理任何逻辑分析和统计分析。(3)多维性:系统必须提供对数据分析的多维视图和分析。(4)信息性:OLAP系统应能及时获得信息,并且管理大容量的信息。,1993年,E.F.Codd提出OLAP的12条准则,其主要的准则有以下四条:(1)多维数据分析;(2)客户/服务器结构;(3)多用户支持;(4)一致的报表性能等。在12条准则中,挑选如下几条说明:,3.1.2 OLAP准则,1.多维概念视图,企业的数据空间本身就是多维的。因此OLAP的概念模型也应是多维的。用户可以对多维数据模型进行切片、切块、旋转坐标或进行多维的综合(概括和聚集)分析。,4.一致稳定的报表性能,报表操作不应随维数增加而削弱,即当数据维数和数据的综合层次增加时,提供的报表能力和响应速度不应该有明显的降低。,5客户/服务器体系结构,OLAP是建立在网络上的客户/服务器体系结构。多维数据库服务器能够被不同的应用和工具所访问。客户端负责用户的应用逻辑及界面。,8多用户支持能力 当多个用户要在同一分析模式上并行工作,OLAP工具应能够提供并发访问等功能(客户/服务器结构能满足这个要求)。11灵活的报表生成 报表必须充分反映数据分析模型的多维特征,并可按用户需要的方式来显示它。,(1)变量:变量是数据的实际意义,即描述数据“是什么”。(2)维:维是人们观察数据的特定角度。如产品维、顾客维、时间维(即座标系中的座标)等。(3)维的层次:数据的细节不同程度为维的层次 如日、月、季、年是时间维的层次。(4)维成员:维的一个取值称为该维的一个维成员。如“某年某月某日”是时间维的一个成员。,3.1.3 OLAP的基本概念,(5)多维数组:一个多维数组可以表示为:(维1,维2,维n,变量)一个4维的结构,即(产品,地区,时间,销售渠道,销售额)。(6)数据单元(单元格):多维数组的取值称为数据单元。如:4维数据单元(牙膏,上海,1998年12月,批发,销售额为100000)。,OLAP的基本概念(续),3.2 OLAP的数据模型,3.2.1 MOLAP数据模型3.2.2 ROLAP数据模型3.2.3 MOLAP与ROLAP的比较3.2.4 HOLAP数据模型,3.2.1 MOLAP的数据模型,MOLAP是基于多维数据库存储方式建立的OLAP;表现为“超立方”结构,采用类似于多维数组的结构。例如,二维MDDB(数组,即矩阵)的数据组织见表3.1所示。,表3.1 MDDB(二维)数据组织,3.2.2 ROLAP数据模型,ROLAP是基于关系数据库的OLAP。它是一个平面结构,用关系数据库表示多维数据时,采用星型模型。,表3.3 关系数据库RDBMS数据组织,3.2.3 MOLAP与ROLAP的比较,1.数据存取速度(MOLAP的响应速度快)2.数据存储的容量(ROLAP存储容量上没有限制)3.多维计算的能力(MOLAP能够支持高性能计算)4.维度变化的适应性(ROLAP对于维表的变更有很好的适应性)5.数据变化的适应性(ROLAP对于数据变化的适应性高)6.软硬件平台的适应性(ROLAP适应性很好),1.数据存取速度,ROLAP服务器需要将SQL语句转化为多维存储语句,临时“拼合”出多维数据立方体。因此,ROLAP的响应时间较长。MOLAP在数据存储速度上性能好,响应速度快。,2.数据存储的容量,ROLAP使用的传统关系数据库的存储方法,在存储容量上基本没有限制。MOLAP通常采用多平面叠加成立体的方式存放数据。当数据量超过操作系统最大文件长度时,需要进行数据分割。多维数据库的数据量级难以达到太大的字节级。,3.多维计算的能力,MOLAP能够支持高性能的决策支持计算。ROLAP无法完成多行的计算和维之间的计算。,4.维度变化的适应性,MOLAP增加新的维度,则多维数据库通常需要重新建立。ROLAP对于维表的变更有很好的适应性。,5.数据变化的适应性,当数据频繁的变化时,MOLAP需要进行大量的重新计算,甚至重新建立索引乃至重构多维数据库。在ROLAP中灵活性较好,对于数据变化的适应性高。,6.软硬件平台的适应性ROLAP对软硬件平台的适应性很好,而MOLAP相对较差。7.元数据管理目前在元数据的管理,MOLAP和ROLAP都没有成形的标准。,MOLAP和ROLAP的对比简表,3.2.4 HOLAP数据模型,HOLAP(Hybrid OLAP),即混和OLAP介于MOLAP和ROLAP之间。在HOLAP中,对最常用的维度和维层次,使用多维数据表来存储,对于用户不常用的维度和数据,采用ROLAP星型结构来存储。在HOLAP的多维数据表中的数据维度少于MOLAP中的维度表,数据存储容量也少于MOLAP方式。HOLAP在数据存取速度上又低于MOLAP。,3.3 多维数据的显示,3.3.1 多维数据显示方法3.3.2 多维类型结构(MTS)3.3.3 多维数据的分析视图,3.3.1 多维数据显示方法,多维数据的显示只能在平面上展现出来。三维数据无法在平面上展现出来。三维数据显示见表3.6所示。,3.3.2 多维类型结构(MTS),表示方法是:每一个维度用一条线段来表示。维度中的每一个成员都用线段上的一个单位区间来表示。例如,用三个线段分别表示时间、产品和指标三个维的多维类型结构如图3.3所示。,图3.3 三维MTS例,在图3.3多维类型结构(MTS)中,指定:时间维成员是3月,产品维成员是鞋,指标维成员是销售量,这样它代表了三维数据的一个空间数据点,如图3.4所示。,图3.4多维类型结构中的空间数据点,3.3.3 多维数据的分析视图,在平面的屏幕上显示多维数据,是利用行、列和页面三个显示组来表示的。例如,对上例的四维MTS实例,在页面上选定商店维度中“商店3”,在行中选定时间维的“1月、2月、3月”共3个成员,在列中选定产品维中的“上衣、裤、帽子”三个成员,在指标维中的“固定成本、直接销售”二个成员。该四维数据的显示如图3.6所示。,图3.6 四维数据的显示,对于更多维度的数据显示,需要选择维度及其成员分布在行或者列中。在页面上可以选定多个维度,但每个维度只能显示一个成员。在行或者列中一般只选择二个维,每个维可以多个成员。例如,对6个维度数据,它的MTS如图3.7所示。,图3.7 六维维MTS例,对以上六维数据中,设定页面维度为商店的成员是“商店3”,客户维度成员是“老年”。行维度含时间维和产品维共2个维度,其中时间维中成员为“1月、2月、3月”。产品维中成员为“桌子、台灯”。列维度含指标维和场景维共2个维度,其中指标维中成员为“直接销售、间接销售、总销售”。场景维中成员为“实际、计划”。具体的显示数据如图3.8所示。,图3.8六维数据的显示,3.4 OALP的多维数据分析,3.4.1 多维数据分析的基本操作3.4.2 多维数据分析实例3.4.3 广义OLAP功能3.4.4 数据立方体3.4.5 多维数据分析的MDX语言及其应用,OLAP的目的是为管理决策人员通过一种灵活的多维数据分析手段,提供辅助决策信息。基本的多维数据分析操作包括切片、切块、旋转、钻取等。我们把在多维数据分析中加入数据分析模型和商业分析模型称为广义OLAP。随着OLAP的深入发展,出现了多维数据聚集计算的数据立方体和多维数据分析的MDX语言。,例如,以“产品、城市、时间”三维数据,如图,3.4.1 多维数据分析的基本操作,1.切片 对三维数据,通过“切片”,分别从城市和产品等不同的角度观察销售情况:,2.切块,(1)在多维数组的某一个维上选定某一区间的维成员的操作 切块可以看成是在切片的基础上,确定某一个维成员的区间得到的片段,也即由多个切片叠合起来。(2)选定多维数组的一个三维子集的操作 在多维数组(维1,维2,维n,变量)中选定3个维,维i、维j、维k,在这3个维上分别取一个区间,或任意维成员,而其它维都取定一个维成员。,图3.11 三维数据切块,3.钻取,钻取有向下钻取(drill down)和向上钻取(drill up)操作。向下钻取是使用户在多层数据中能通过导航信息而获得更多的细节性数据。向上钻取获取概括性的数据。,钻取:例如,2005年各部门销售收入表如下:,对时间维进行下钻操作,获得新表如下:,4.旋转,通过旋转可以得到不同视角的数据。旋转操作相当于平面数据将坐标轴旋转。例如,旋转可能包含了交换行和列,或是把某一个行维移到列维中去。或是把页面显示中的一个维和页面外的维进行交换(令其成为新的行或列中的一个),旋 转,3.4.2 多维数据分析实例,1切片为了对广东省全省营业税和个人所得税在2006-2007两年的纳税情况进行全面了解,需要对全省税收数据按城市进行切片显示,部分城市数据如表3.10所示。,表3.10 广东省各市营业税和个人所得税表(亿元),由表中数据可知:广州营业税增加:32.8亿元,增长率为16.5%。广州个人所得税增加:25.6亿元,增长率为26.7%。东莞营业税增加:16.9亿元,增长率为31.68%。东莞个人所得税增加:6.2亿元,增长率为24.6%。对营业税而言,增长量最大的城市是广州,增加速度较快的城市是东莞(31.68%)。,2向下钻取为了更深入分析东莞市的各行业的营业税情况,需要对东莞营业税数据下钻分析。2006、2007两年部分行业的纳税情况见表3.11所示。,表3.11东莞市各行业的营业税表(百万元),由表中数据可知,东莞市:农、林、牧、渔业下降了5.5百万元,下降率为35.2%。采矿业下降0.02百万元,下降率为10.5%。房地产业增加306.5百万元,增加率为21%。金融业增加222.4百万元,增加率为46.8%。,四种行业的增减率用直方图表示,3数据分析(1)宏观分析 从表3.10中的数据可以宏观的看出,东莞市的营业税增长很突出,在广东省中名列前位。,(2)深入分析东莞的农、林、牧、渔业下降明显,采矿业也下降。而房地产业增长明显,金融业增长突出。通过调查得到原因是,随着经济的发展,东莞的外来合资企业越来越多,本地农民很多把地卖了或者租出去建厂房然后收租金,是产生农林渔营业税下降的主要原因,东莞市近年逐步实现产业转移,由农业更多的转向制造业和加工业。,