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

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第五章联机分析处理(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 基于多维的OLAP
OLAP系统在具体实现时,需要解决采用多维数据库还是采用关系数据系统存贮数据的问题,如果采用多维数据库(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少得多。

(2)、数据存贮的时间:
DW存贮的数据可能长达5—10年;
MDDB存贮的数据大约在1年左右。

(3)、灵活访问:
DW只允许少量的分析人员进行少量的访问,而MDDB允许种多用户进行大量的非预知的数据访问和分析。

(II)、MDDB不可以从操作型环境直接抽取数据的五大理由:
<A>增加数据抽取部分的工作量;
<B>缺乏统一的数据源和分析结论;
<C>加大系统的维护工作量;
<D>缺乏对元数据的有效管理;
<E>加大OLAP系统的开发投入。

二、MOLAP
MOLAP是基于MDDB的OLAP技术,在多维数据存贮方式中,OLAP的服务设施包含OLAP服务软件和多维数据库,数据在逻辑上按数组存贮,一般可选用超立方体或多立方体。

MDDB中的数据是按应用中处理数据的方式来组织的,作为一种规则,应按概括或聚集形式存贮数据。

这样使MDDB中信息粒度较大,因而索引较小,可常驻内存,使查询效率大为提高。

由于MDDB以数据方式存贮,数组中值得修改可以不影响索引,这样能很好地适应读写应用。

1、MOLAP提供给用户的主要功能:
(1)对内涵查询的快速响应;
(2)与多维数据库进行交互,使其支持预测、预先计划、预算等应用。

(3)发掘多维元素间丰富的联系,以便发现微妙的关系;
(4)强大的计算引擎和比较分析,包括分级、比较、按百分比分类、最大值、最小值、平均值、按时期比较等;
(5)交叉维计算;
(6)综合统计、趋势分析、时间序列分析等;
(7)灵巧计时;
(8)具有查询DW中底层细节数据的能力;
(9)沿单维或多维处理的基准点、表格、细剖和统览以及其他强有力的导航功能。

2、MOLAP分析基本步骤:
(1)选择功能;例如:销售收入分析和财务报告分析。

(2)指明数字信息;例如:销售收入和顾客的度量信息
(3)确定维(时间、地区、产品等)以及每一维的粒度;
(4)定义逻辑模型并装载多维数据存贮;
(5)分析、展现结果。

§5.4 基于关系的OLAP
如果在OLAP的实现中采用关系数据库,这种OLAP就是基于关系的OLAP即ROLAP。

一、ROLAP的三个规则:
1、支持OLAP
尽管ROLAP是将数据存贮在关系数据库中,但是它的基本功能依然是在线分析处理,应该和任何OLAP一样支持数据的多维特性,能够对数据进行切片、切块、旋转,并能进行可视化显示。

2、数据存贮在某一个关系数据库中
关系数据库中的数据在存入DB之前,为适应OLAP的需要,进行了某些方式的处理,应该能进行反处理,以保证其他程序的应用。

3、支持某种形式的聚集导航
(1)什么是聚集导航?
聚集导航是一种为用户的不同查询,选择一个最小可用表的软件。

(2)为什么需要聚集导航:
在DW中数据量大,为了满足客户快速查询的要求,要建一定的概要表。

用户怎么知道有概要表,又如何知道在哪些情况下,应该使用这种概要表等等;聚集导航器就可以为用户的不同查询提供寻找最小可用概要表,因此ROLAP应该支持某种形式的聚集导航。

(3)聚集导航器如何了解概要表的大小:
〈I〉由数据仓库管理员通知每个概要表达小;
〈II〉由聚集导航器利用自身具备的例程定期检查每个表的大小。

二、ROLAP的多维表示方法结构简图如图5-5所示:
图5-5 ROLAP结构简图
1、星型模型在关系数据库中的表示:
多维数据库在关系数据库中表示时,要分成两类表,其一是事实表,其二是维表。

示例:销售情况的OLAP分析,其星型模型如下:
事实表通过每个维表的主码值与维表联系在一起,应用二维关系表实现了多维数据模式。

构成星型模式之后,就可以在关系数据库中模拟OLAP中的多维查询,并且通过维表的主码,对事实表和维表进行连接操作。

在一次查询操作中,可以获得查询对象的事实之以及对数据的多维描述。

在OLAP中,用户及分析人员可以应用存贮在维表中的用户习惯描述来说明一个查询需求,而这种需求可被ROLAP 依靠维表转换成维的代码或值,完成用户的最终请求。

2、雪花模型在关系数据库中的表示。

(略)
二.OLAP的选择与评价标准
1.混合OLAP(HOLAP)
HOLAP 方法是结合ROLAP 和MOLAP产生的。

它得益于ROLAP较
大的可伸缩性和MOLAP的快速计算。

例如,HOLAP允许将大量详细
数据存放在关系数据库表中,而聚集数据保存在分离的MOLAP 存储
中。

微软的SQL Server 7.0 的OLAP 服务支持HOLAP 服务器。

2.MOLAP与ROLAP的比较:
(1)查询性能
MOLAP查询能力较好;
MDDB中事先做好了许多计算,是MOLAP的查询能力可以预测,并且
较为理想;
ROLAP速度较MOLAP慢,且不易预测。

(2)数据加载性能
MOLAP加载数据时间较长,每月一次;
ROLAP加载数据时间较短,每天刷新。

(3)分析能力
MOLAP在分析过程中的精度较高,具有分析的优势;
ROLAP分析效果不如MOLAP,受SQL语言限制。

因为对于现实中的许
多问题的解决很难用一条SQL语句来实现。

(4)数据集市的大小
MOLAP在实际应用中的数据存贮量往往增加较快,有时会使多维表形
成稀疏矩阵。

随着维数的增加,呈现爆炸性增长趋势。

ROLAP不会出现稀疏矩阵的情况,关系数据库可以支持无限增长的数
据存贮要求。

(5)维的管理
ROLAP采用星型模式构建,其维表可能很宽,可以包含很多列。

分析
人员可以在这样的一个表中的所有列进行查询、汇总、钻取等操作。

MOLAP
很难完成如此复杂的操作。

(6)维护能力
MOLAP能够较好的进行自我维护,在数据更新加载时,只需要用SQL语句对其输入数据就可以了。

ROLAP在维护与聚集时却比较困难。

结论:
如果需要建立一个大型的、功能复杂的企业级数据仓库,就要选择ROLAP。

例如:SQL Server 2000中建立的维度表超过一千万以上维成员时,就不能采用MOLAP模式。

如果希望建立一个目标单一、维数不是很多的分析型数据集市,则MOLAP 可能是一个较佳的选择。

2、OLAP的衡量标准
1993年,E.F.Codd 在“Providing OLAP to User Analysts”一文中,提出了关于OLAP的12条标准,用来评价分析处理工具。

其目的是加深对OLAP的理解,事实上,这些标准已成为OLAP工具所应该具有关键特性的最小描述,对于在数据仓库设计,使用OLAP的用户来说,了解这些标准是必不可少的。

(Codd提出了关系数据库12条准则,分布式数据库12条准则,这是他的第三个12条准则。


如今,OLAP 的概念已经在商业数据库领域得以广泛使用,OLAP 的特征也得到了验证和确认,从实践来看,COOD 提出的12条准则可以作为评价和购买OLAP 产品的标准
OLAP的12条后又扩充到18条。

(1)、多维性
由于企业数据空间是多维的,因此OLAP的概念模型也应是多维的。

用户可以简单、直接的操作这些多维数据模型,进行切片、切片等操作。

(2)、透明性
无论OLAP是否是前端产品的一部分,分析工具所处的位置对用户应是透明的。

透明性原则:
〈I〉OLAP在体系结构中的位置对用户是透明的。

OLAP应处于一个真正的开放系统结构中,他可使分析工具嵌入用户所需的任何位置,而不会对宿主工具的使用产生副作用,同时必须保证OLAP 的嵌入不会引起和增加任何复杂性。

〈II〉OLAP的数据源对用户也是透明的。

用户只需使用熟悉的查询工具进行查询,而不必关心输入OLAP 工具的数据来自何处。

(3)、存取能力
OLAP系统不仅能进行开放的存取,而且还提供高效的存取策略。

OLAP用户分析员不仅能在公共概念视图的基础上对关系数据库中的数据进行分析,而且在公共分析模型的基础上还可以对RDB、非RDB和外部存贮的数据进行分析。

要实现这些功能就要求OLAP能将自己的概念视图映射到异质的数据存贮上,并可访问数据,还可进行所需的转换以便给出单一的、连贯的、一致的用户视图。

(4)、稳定的报表性能
报表操作不应随维数的增加而削弱,即当数据维数和数据的综合层次增加时,提供给最终分析员的报表能力和响应速度不应该有明显的降低。

即便是用户数据模型改变时,关键数据的计算方法也无须改变,即OLAP系统的数据模型对企业的数据模型应该具有“鲁棒”性。

(5)、客户机/服务器体系结构
OLAP是建立在C/S体系结构上的。

OLAP 工具的服务器构件应有足够的智能,以便各种客户只需做较少的工作使用最少的集成程序就能与其组合起来。

这要求他的多维数据库能够被不同的应用和工具所访问,服务器端智能的以最小的代价完成同多种服务器之间的挂接任务。

智能化服务器必须具有在不同的逻辑和物理的数据库间映射并组合数据的能力,还应构造通用的、概念化的、逻辑的和物理的模式,从而保证透明性和建
立统一的概念模式、逻辑模式和物理模式。

客户端负责应用逻辑及用户界面。

(6)、维的等同性
每一数据维在其结构和操作功能上必须等价,要求维上的操作是公共的。

(7)、动态稀疏矩阵处理
OLAP 服务器的物理结构应完全适用于特定的分析模式,创建和加载此种模式是为了提供优化的稀疏矩阵处理,当存在稀疏矩阵时,OLAP 服务器应能推知数据是如何分布的,以及怎样存储才更有效。

该准则的含义:
〈I〉对任意给定的稀疏矩阵,存在一个最优的物理视图,该视图能提供最大的内存效率和矩阵处理能力。

〈II〉OLAP工具的基本物理数据单元可配置给可能出现的维的子集。

同时,还要提供动态可变的访问方法并包含多种存取机制。

(8)、支持多用户
OLAP工具应提供并发访问、数据完整性及安全性等功能。

当多个用户在同一分析模型上建立不同的分析模型时,都需要这些功能的支持。

(9)、非限定的跨维操作
在多维数据分析中,所有的维的生成和处理都是平等的。

OLAP工具应能处理维间相关计算,而不是要求商业用户定义计算的行为。

(10)、直接数据操纵
要求数据操作直观易懂。

综合路径重定位、向上综合、向下挖掘和其他操作都可以通过直观、方便的点、拉操作完成。

(11)、柔性报表
用户通过使用OLAP服务器及其工具,可以按任何想要的方式来操作、分析、综合和查看数据,这些方式包括创建逻辑组或将行、列及单元按需要依次排放。

报表机制也应提供这种灵活性,能从各种可能的方面显示出从数据模型中综合出的数据和信息,充分反映数据分析模型的多维特性,并按用户需要的方式显示它。

(12)、维和聚集层次不受限
OLAP服务器应能在一个通用分析模型中协调至少15个维,每一个通用维应允许有任意个用户定义的聚集,而且用户分析员可以在任意给定的综合路径上建立任意多个聚集层次。

§5.5 OLAM
OLAM(OLAP+Mining)技术一般简称为“数据联机分析挖掘”,它将联机分析处理技术和数据挖掘技术有机地结合在一起,是OALP的新发展。

OLAM是加拿大Simon大学教授韩家伟等提出的,基本操作是将数据挖掘功能与OLAP的钻取结合。

在数据立方体中数据挖掘可以在多维和多层次的抽象空间中进行,利于灵活地挖掘知识。

一、发展OLAP的原始驱动力:
1、DW中数据的高质量
由于大部分DM工具需要在集成的、一致的和清洗过的数据上运行,而经过这些预处理的DW不仅可以作为OLAP而且也可用作DM的高质量的有价值的数
据源。

2、环绕DW的有价值的信息处理基础设施
全面的数据处理和数据分析基础设施已经或将要围绕DW而系统的建立,这包括抽取、集成、合并、多个异种数据库的转换、ODBC/OLE OB连接、Web访问和服务工具以及报表和OLAP分析工具,谨慎的做法是尽量利用可用的基础设施,而不是一切从头做起。

3、基于OLAP的探测或数据分析
有效的数据挖掘需要探测式数据分析,用于常常想穿越数据库,选择相关数据,在不同粒度上分析它们,以不同的形式提供知识/结果。

OLAM提供在不同数据子集和不同的抽象层上进行数据挖掘的工具,在数据立方体和一些挖掘的中间结果数据上进行上翻、下钻、旋转、切片、切块等。

这些与数据/知识可视化工具一起,将大大增强探测式DM的能力和灵活性。

4、DM功能的联机选择
通过将OLAP和多种DM功能集成在一起,联机分析挖掘为用户选择所期望的数据挖掘功能、动态地改变DW任务提供了灵活性。

二、OLAM的系统结构
OLAM也实在数据立方体上进行联机分析挖掘,一个集成的OLAM和OLAP 的结构如下图5-6所示:。

相关文档
最新文档