当前位置:文档之家› 第五章联机分析处理(OLAP)-Read

第五章联机分析处理(OLAP)-Read

第五章联机分析处理(OLAP)DW是管理决策分析的基础,若要有效地利用DW中的信息资源,必须有强大的工具对信息进行分析、决策,OLAP就是一个得到广泛用的DW技术。

OLAP专门用于支持复杂的决策分析,是支持信息管理和业务管理人员决策活动的一种决策分析工具。

它可以根据分析人员的要求,迅速、灵活地对大量数据进行复杂的查询处理,并且以直观的、容易理解的形式将查询结果提供给各种决策人员,使他们迅速、准确地掌握企业的运营情况,了解市场的需求。

OLAP技术主要有两个特点:一是在线(On-Line),表现为对用户请求的快速响应和交互操作,它的实现是由客户机/服务器体系结构完成的;二是多维分析(Multi-Analysis),这也是OLAP技术的核心所在。

§ 5.1 OLAP技术基本概念一、OLAP的定义OLAP是E.F.Codd于1993年提出的。

OLAP理事会的定义:OLAP是一种软件技术,他使分析人员能够迅速、一致、交互地从各个方面观察信息,以达到深入理解数据的目的,这些信息是从原始数据直接转换过来的,他们以用户容易理解的方式反映企业的真实情况。

OLAP大部分策略都是将关系型的或普通的数据进行多维数据存贮,以便于进行分析,从而达到联机分析处理的目的。

这种多维DB也被看作一个超立方体,沿着各个维方向存贮数据,它允许用户沿事物的轴线方便地分析数据,与主流业务型用户相关的分析形式一般有切片和切块以及下钻、挖掘等操作。

共享多维信息的快速分析。

二、OLAP的功能特征:OLAP是一种数据分析技术,其功能特征是:1、快速性用户对OLAP的快速反映有很高的要求,一般要求能在5秒内对分析要求有反映。

设计时应考虑:专门的数据存贮格式,大量的事先运算,特别的硬件设计。

2、可分析性OLAP系统应能处理与应用有关的任何逻辑分析和统计分析。

因为事先编程并不能定义所有的应用,所以,在OLAP分析的过程中,用户无需编程就可以定义新的计算,将成为分析的一部分,且以用户希望的方式给出报告。

实现功能:(1)用户可以在OLAP平台上分析;(2)可连接到其他外部分析工具上,如时间序列分析工具,成本分析工具,意外报警,数据挖掘等。

3、多维性多维性是OLAP的关键属性,系统能够提供对数据分析的多维视图和分析,包括对层次维和多重层次维的支持。

多维分析是分析企业数据的最有效的方法,是OLAP的灵魂。

4、信息性不论数据量有多大,也不管数据存贮在何处,OLAP系统应能及时获得信息,并且管理大容量信息。

5、共享性在大量用户间实现潜在地共享秘密数据所必需的安全性需求。

三、几个基本概念1、维——维是人们观察问题的特定角度,例如:时间维、地理维、产品维。

2、维层次——人们在观察数据的某个特定角度(即某个维)还可以存在细节程度不同的多个描述方面,我们称这多个描述方面为维的层次。

例时间维:日期,月份,季度,年不同层次。

3、维成员——维的一个取值成为该维的一个维成员。

如果维已经分成了多层次的,则维成员就是不同维层次取值的组合。

例如:某公司销售数据在省、市、县,地理维有三个层次,则“山东省潍坊市昌邑县”就构成地理维的一个维成员。

维成员并不一定要在维的每一个层次上都取值,例如:山东省,山东省潍坊市,潍坊市昌邑县都是地理维的维成员。

4、多维数据集——数据立方体或超立方多维数据集是决策支持的支柱,也是OLAP的核心。

多维数据集可以用一个多维数组表示。

多维数据集的形式化表示:(维1,维2,...,维n,观察变量)。

对于三维数据集可用图5-1表示:5、数据单元多维数据集的取值称为数据单元。

当在多维数据集的每个维都选中一个维成员以后,这些维成员的组合就惟一确定了观察变量的值。

数据单元也就可以表示为:(维1维成员,维2维成员,维3维成员,观察变量)例如:在图5-1中,在时间、销售地区、产品维度上分别取‘2002-10-12’、‘上海’、‘服装’,则可以唯一确定观察变量的值10000,因此该数据单元应该为(2002-10-12,上海,服装,10000)。

图5-1 数据立方体6、多维数据集的度量值(测量值)多维数据集的度量值是基于多维数据集中事实表的一列或多列,数值型数字。

多维数据集的度量值是OLAP分析的核心值,是用户在DW中需要查看的数据,一般是销售量、成本、费用等。

四、OLAP与DW的关系1、OLAP与DW的关系如图5-2所示。

在DW中,OLAP和DW是密不可分的,但是两者具有不同的概念。

DW是一个包含企业历史数据的大规模数据库,这些历史数据主要用于对企业的经营决策提供分析和支持。

DW中的数据是不能用于连机事务处理系统(OLTP)的。

OLAP技术则是利用DW的数据进行连机分析,将复杂的分析查询结果快速地返回给用户。

OLAP用多维数据集和数据聚集技术对DW中的数据进行组织和汇总,用连机分析和可视化工具对这些数据迅速进行评价。

图5-2 数据仓库与OLAP关系图数据仓库的结构将直接影响立方体的设计和构造,也就影响OLAP的工作效率。

2.在设计DW时应考虑的一些因素:(从OLAP使用的效率角度考虑)(I)、尽可能使用星型架构,如果采用雪花模型,就要最小化事实表底层维度表以后的维度表数量;(II)、为用户设计包含事实表的维度表,这些维度表应该包含有意义的,用户希望了解的信息;(III)、维度表的设计应符合通常意义上的范式约束,维度表中不要出现无关的数据;(IV)、事实表中不要包含汇总数据。

事实表中所包含的用户需要访问的数据应该具有必要的粒度,这些数据应该是同一层次的数据;(V)、对事实表和维度表中的关键字必须创建索引,同一种数据尽可能是用一个事实表。

(VI)、保证数据的参照完整性,使事实表中的所有数据都出现在所有的维度表中,避免事实表中的某些数据行在立方体进行聚集运算时没有参加进来。

§5.2 OLAP的基本分析操作一、切片(slice)定义1:在多维数据集的某一维上选定某一维成员的动作称为切片。

定义2:选定多维数据集的一个二维子集的动作叫做切片。

例:多维数据集S(地区,时间,产品,销售渠道,销售额)。

选定地区维与产品维,另外的维取一个维成员(如时间维取1999年,销售渠道维取批发),就可以得到多维数据集S在地区和产品维上的一个切片:(地区、产品、销售额)。

此切片表示1999年各地区、各产品的批发销售情况。

切片的结果一定是一个二维的平面。

切片的实质:1、切片的作用或结果就是舍弃一些观察角度,使人们能在两个维上集中观察数据;2、一个切片最终是由除切片所在平面两个维之外的其他维的成员值确定的。

二、切块(Dice)定义1、在多维数据集的某一维上选定某一区间的维成员的动作称为切块。

定义2、选定多维数据集的一个三维子集的动作称为切块。

实际上,切块操作也可以看成进行多次切片以后,将每次切片操作所得的切片重叠在一起而形成的三、旋转(rotate)旋转即改变一个报告或页面显示的维方向。

例如:旋转可能包含交换行和列,或是把某一个行维移到列维中去,或把叶面显示中的一个维和页面外的维进行交换。

如图5-3所示。

产品维时间维产品维产品维维图5-3 旋转操作示意图四、下钻(down drill)使用户在DW的多层数据中能通过导航信息而获得更多的细节性数据。

大多数OLAP工具可让用户下钻到一个数据集中有更好细节描述的数据层,更完整的工具则可让用户随处钻探:上翻、交叉钻探(让用户从同一个层次的一个数据集横向地移到另一个数据集进行查看和分析),数据分析主要是帮助用户回答“为什么”的问题。

五、其他操作统计表中最高值和最低值的项数,计算平均值、增长率、利润、投资回报率等统计计算。

§5.3 基于多维的OLAPOLAP系统在具体实现时,需要解决采用多维数据库还是采用关系数据系统存贮数据的问题,如果采用多维数据库(MDDB—Muoti Dimensional DataBase)存贮、显示数据,则这种OLAP系统就是基于多维的OLAP,即MOLAP;否则,如果在OLAP的实现中采用关系数据库(RDBMS),这种OLAP就是基于关系的OLAP,称为ROLAP。

本节讲MOLAP。

一、多维数据库1、多维数据库的概念多维数据库可在OLAP系统中直观地表达现实世界中的多对多关系。

例:要反映两种产品在三个地区的销售情况,用关系数据库存贮数据如表5-1所示:表5-1产品名称销售地区销售数量电器江苏940..上海450..北京340服装江苏830..上海350..北京270如果用多维数据库存贮这些数据,所的结果如表5-2所示:表5-2江苏上海北京电器940 450 340服装830 350 270比较发现多维数据比关系数据库表达的关系更加清晰明了,而且所消耗的存贮容量更少,查询处理也格外简单,若要查某地区的销售量,只要按列统计一下即可,若要查某个产品的销售量,则只要按行统计即可。

2、多维数据库的汇总具有汇总值的多维数据库如表5-3 所示:表5-3江苏上海北京汇总电器940 450 340 1730服装830 350 270 1450汇总1170 800 610 3180在MDDB中没有重复出现的冗余数据,其统计速度远快于关系型数据库,将汇总数据也存贮在数据库中,只要在原数据库中增加一行、一列就可以了。

3、多维数据库的数据存贮在多维数据库中二维数据容易理解,但当维数扩展到三维或更高的维数时,多维数据库MDDB就成了一种“超立方”体的结构。

实际上,多维数据库是由许多经过压缩的类似于数组的对象构成。

这种对象通常带有高度压缩的索引及指针结构。

每个对象由聚集成组的单元块组成,每个单元块都按类似于多维数组的结构存贮,并通过直接偏移计算进行存取。

由于索引只需一个较小的数来表示单元块,因此多维数据库的索引一般较小,只占数据空间的一小部分,正因为它们如此之小,以至于可以很容易地将整个索引装入内存,这将极大地提高性能。

在实际的多维分析中,可能需要将任一维与其他维进行组合,因而需要能够旋转数据立方体及切片的视图,即用多维方式显示数据。

在MDDB中,并非维之间的任何组合都会产生实际的值。

实际上,许多组合没有值,是空的或者为0。

另外,许多值重复存贮,如一年中的价格可能一直不变。

因此,多维数据库必须具有高效的稀疏矩阵处理能力,能略过零元、缺失和重复数据。

4、多维数据库与数据仓库多维数据库为终端用户提供一种可对数据进行灵活访问的信息结构,利用MDDB可以对数据进行切片、切块、动态地观察汇总数据与细节数据的关系。

数据仓库中的细节数据则为MDDB提供非常健全和便捷的数据源,数据需要定图5-4 MDDB与DW的关系由于业务处理数据在导入DW时就被集成了,MDDB不必再从业务处理系统抽取与集成。

(I)、MDDB与DW的区别:(1)、数据量:DW中存贮了大量的数据;MDDB只存贮某些类型用户需要的集成数据,在数量上比DW少得多。

相关主题