第四章联机分析处理_第1页
第四章联机分析处理_第2页
第四章联机分析处理_第3页
第四章联机分析处理_第4页
第四章联机分析处理_第5页
已阅读5页,还剩137页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第四章在线分析处理OLAP1联机分析处理(OLAP)4.1从OLTP到OLAP4.2OLAP的特征及衡量标准4.3OLAP实施4.4基于多维数据库的OLAP实现4.5基于关系数据库的OLAP实现4.6两种技术间的比较2联机分析处理(OLAP)决策支持中的典型问题:

东部地区和西部地区今年6月份和去年6月份在销售总额上的对比情况,并且销售额按10万-20万、20万-30万、30万-40万,以及40万以上分组特点:多角度多层次访问大量数据快速回答3

4.1从OLTP到OLAP

4.1.1OLAP的出现4.1.2什么是OLAP4.1.3OLTP和OLAP的关系及比较4

4.1.1OLAP的出现1970年,E.F.Codd博士提出了关系数据模型,1979年Oracle发布了关系数据库管理系统OLTP推动了业务处理自动化,积累了大量的数据51993年,E.F.Codd提出了OLAP的概念,利用专门的数据综合引擎和直观的数据访问界面,使得系统能在很短的时间内响应用户的复杂查询Arborsoft发布了OLAP软件

4.1.1OLAP的出现6

4.1从OLTP到OLAP

4.1.1OLAP的出现4.1.2什么是OLAP4.1.3OLTP和OLAP的关系及比较7

4.1.2什么是OLAPOLAP(联机分析处理)是针对特定问题的联机数据访问和分析——通过对信息(这些信息已经从原始的数据进行了转换,以反映用户所能理解的企业的真实的“维”)的很多种可能的观察形式进行快速、稳定一致和交互性的存取,使管理决策人员对数据进行深入观察8

基本概念

变量变量是数据的实际意义,即描述数据"是什么"例如:“人数”、“单价”、"销售量"等都是变量数据"10000"没有意义/意义未定变量是一个数值度量指标数据"10000"是变量的一个值9

维维是人们观察数据的特定角度时间维、地理维

维的层次人们观察数据的某个特定角度(即某个维)还可以存在细节程度不同的多个描述方面,我们称这多个描述方面为维的层次。时间维:日期、月份、季度、年等是时间维的层次地理维:城市、地区、国家等是地理维层次

基本概念(续)10

维成员维的一个取值称为该维的一个维成员如果一个维是多层次的,那么该维的维成员是在不同维层次的取值的组合时间维具有日期、月份、年这三个层次分别在日期、月份、年上各取一个值组合起来——时间维的一个维成员—"2000年11月11日""2000年10月"、"3月8日"、"1999年"

维成员是一个数据项在某维中位置的描述如:销售数据,"2000年5月8日"的销售数据基本概念(续)11

多维数组

一个多维数组可以这样来表示:(维1,维2,···,维n,变量)。如日用品销售数据的多维数组:(地区,时间,销售渠道,销售额)(地区,时间,销售渠道,产品,销售额)

基本概念(续)12

销售额(万元)销售渠道

北京

地区

零售

批发

1234时间(月)图6-1按销售渠道、时间和地区组织日用品销售数据

基本概念(续)13

数据单元(单元格)多维数组的取值称为数据单元(维1维成员,维2维成员

,···,维n维成员,变量的值)数据单元:(北京,1997年1月,批发,10000)

基本概念(续)14

多维分析是指对以多维形式组织起来的数据采取切片、切块、旋转等各种分析动作,以求剖析数据,使最终用户能从多个角度、多侧面地观察数据库中的数据,从而深入地了解包含在数据中的信息、内涵

多维分析的基本分析动作15

切片(Slice)

定义1:在多维数组的某一维上选定一维成员的动作称为切片,即在多维数组(维1,维2,···,维n,变量)中选一维:维i,并取其一维成员(设为"维成员vi"),所得的多维数组的子集(维1,···,维成员vi,···,维n,变量)称为在维i上的一个切片。

多维分析的基本分析动作16

例如:(地区,时间,产品,销售额)在时间维上选定一个维成员(设为"1997年1月")在时间维上的一个切片这样切片的数目取决于时间维上维成员的个数。

按照定义1,一次切片一定使原来维数减1,所以所得的切片并不一定是二维的"平面"

多维分析的基本分析动作17

定义2:选定多维数组的一个二维子集的动作叫作切片,多维数组(维1,维2,···,维n,变量)在维i和维j取某一区间或任意维成员,而将其余的维都取定一个维成员,则得到的就是多维数组在维i和维j上一个二维子集,我们称这个二维子集为多维数组在维i和维j上的一个切片,表示为(维i,维j,变量)。

多维分析的基本分析动作18

1997年1月产品销售情况时间维地区维产品维产品维地区维产品销售情况选定两个维:产品维和地区维数据切片

图6-2切片

选定时间维的维成员"1997年1月"多维分析的基本分析动作19

按照定义2,不管原来的维数有多少,数据切片的结果一定是一个二维的"平面"

从定义1可以得出:

维是观察数据的角度,那么切片的作用或结果就是舍弃一些观察角度,使人们能在几个维上集中观察数据

对于维数较多的多维数据空间,数据切片是十分有意义的多维分析的基本分析动作20

切片的这两个定义联系:对于一个n维数组,按定义1进行的n-2切片的结果,就必定对应于按定义2进行的某一次切片的结果。

多维分析的基本分析动作21

切块(Dice)定义1:在多维数组的某一维上选定某一区间的维成员的动作称为切块,即限制多维数组的某一维的取值区间。显然,当这一区间只取一个维成员时,即得到一个切片(定义1)。多维分析的基本分析动作22

定义2:选定多维数组的一个三维子集的动作称为切块。即选定多维数组(维1,维2,···,维n,变量)中的三个维:维i、维j和维r,在这三个维上取某一区间或任意的维成员,而将其余的维都取定一个维成员,则得到的就是多维数组在维i、维j和维r上一个三维子集,我们称这个三维子集为多维数组在维i、维j和维r上的一个切块,表示为(维i,维j,维r,变量)切块与切片的作用与目的是相似的切块由多个切片叠合起来多维分析的基本分析动作23

切块由多个切片叠合起来如果将时间维上的取值设定为一个区间(例如取"1997年1月至1997年10月"),就得到一个数据切块它由1997年1月至1997年10月的十个切片叠合而成

旋转行和列交换多维分析的基本分析动作24

时间维产品维产品维时间维行列交换(a)将某行维换向列维地区

北京

上海

地区

北京

上海

时间

产品

销售量

销售量

时间

第一季度

第二季度.......

产品

第一季度

第二季度

(b):

:多维分析的基本分析动作25

图6-3:旋转地区维时间维产品维产品维时间维地区维旋转以改变页面显示

(c)OLAP的多维数据的位置:1.作为数据仓库的一部分2.作为数据仓库工具层的一部分多维分析的基本分析动作26

4.1从OLTP到OLAP

4.1.1OLAP的出现4.1.2什么是OLAP4.1.3OLTP和OLAP的关系及比较27

4.1.3OLTP和OLAP的关系及比较

OLTP数据

OLAP数据

原始数据

导出数据

细节性数据

综合性或提炼性数据

当前值数据

历史数据

可更新

不可更新但周期性刷新

一次处理的数据量小

一次处理的数据量大面向应用,事务驱动

面向分析,分析驱动

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

面向决策人员,支持管理需要28联机分析处理(OLAP)4.1从OLTP到OLAP4.2OLAP的特征及衡量标准4.3OLAP实施4.4基于多维数据库的OLAP实现4.5基于关系数据库的OLAP实现4.6两种技术间的比较29

4.2OLAP的特征及衡量标准

1993年,E.F.Codd提出《

ProvidingOLAP(On_LineAnalyticalProcessing)toUser-Analysts》E.F.Codd曾提出:

关系数据库十二条准则分布式数据库十二条准则

30

4.2OLAP的特征及衡量标准

十二条准则意义:OLAP产品的识别衡量标准发展方向314.2OLAP的特征及衡量标准Codd

认为关系数据库从一开始就未打算提供强大的数据合成、分析能力(或者说多维数据分析的能力),这些功能总是由各类前端工具来完成,它们与关系数据库相辅相成,因此RDBMS仍然是当今最适合企业数据管理的技术。Codd所指的这些前端工具即指OLAP类产品。32九十年代初期E.F.Codd提出了OLAP的概念、特征,同时给出了OLAP产品评价的12条基本准则。至今OLAP的概念已经在商业数据库领域得以广范使用,OLAP的特征也得到了验证和确认。作为一个原则——OLAP产品应能支持OLAP所具有的特征,已经得到广泛任可。从实践中来看,这12条准则可以作为评价和购买OLAP产品的标准,并对其中的一些实现作了进一步的论述。4.2OLAP的特征及衡量标准33

4.2OLAP的特征及衡量标准

准则1OLAP模型必须提供多维概念视图从用户分析员的角度来看,整个企业的视图本质上是多维的,因此OLAP的概念模型也应是多维的。企业决策分析的目的不同,决定了分析和衡量企业的数据总是从不同的角度来进行的,所以企业数据空间本身就是多维的。

344.2OLAP的特征及衡量标准354.2OLAP的特征及衡量标准这种多维模型可以使最终分析以比单一维模型更简单、直观的方式操纵多维数据。例如:通过对多维数据模型进行“切片和切块”和维旋转就可以轻松地完成传统的操作方法必须用极大的时间和代价才能完成的工作。36

4.2OLAP的特征及衡量标准

准则2透明性准则

让技术、

后台的数据存储库、计算体系结构和元数据的不同本质对全部用户透明;

这种透明度支持真正的开放系统方法,有助于通过一些用户熟悉的前台工具来提高用户的工作效率和生产率。37

4.2OLAP的特征及衡量标准

准则3存取能力准则存取分析多种数据源:关系数据库非关系数据库外部存储的数据要求OLAP:

将概念视图映射到异质的数据存储上能访问数据并执行所需转换提供单一、完整、连续的用户视图38

4.2OLAP的特征及衡量标准

准则4稳定的报表性能

数据维数和数据的综合层次增加,最终分析员的报表能力和响应速度不降低

这对维护OLAP产品的易用性和低复杂性至关重要

39

4.2OLAP的特征及衡量标准

准则5客户/服务器体系结构数据仓库服务器OLAP服务器前端的展现工具实现与基层运营的数据库系统的连接完成数据一致和数据共享工作具有强大的处理能力,负责数据的存储与管理。直接面向用户,侧重于实现简单的应用逻辑和用户界面。40

4.2OLAP的特征及衡量标准

准则5,与透明性准则(准则2),存取能力准则(准则3)是相互吻合的准则6维的等同性准则每一数据维在数据结构和操作能力上是等同的维上的操作是公共的是准则1的补充,是对维的基本结构和维上的操作的要求

41

4.2OLAP的特征及衡量标准

准则7动态的稀疏矩阵处理准则(最重要的准则之一)

可以创建和加载一个特定的分析模型,用来优化稀疏矩阵处理,并使物理视图适应这个模型。

当系统遇到一个稀疏矩阵时,他必须能够动态地演绎出该矩阵的分布,调整存储器的结构和通过访问来取得并维持一致的性能。42

4.2OLAP的特征及衡量标准

准则8多用户支持能力准则OLAP工具必须提供并发访问、数据完整性及安全性机制工作组的形式来使用OLAP工具多个用户交换各自的想法和分析结果准则9非受限的跨维操作对准则1的补充多维数据之间存在固有的层次关系OLAP工具能推导出相关的计算或提供计算完备的语言来定义各类计算公式。

43

OLAP的特征及衡量标准

准则10

直观的数据操纵要求数据操纵直观易懂。综合路径重定位、向上综合、向下挖掘等操作都能通过直观、方便的点拉操作完成准则11

灵活的报表生成报表必须从各种可能的方面显示出从数据模型中综合出的数据和信息,充分反映数据分析模型的多维特征。如下表:44

4.2OLAP的特征及衡量标准

北京地区上海地区销售量纯利润成本销售量纯利润成本第一季度工作站126700520841200440Pc机15194003502312700200软件1365690012020075300100计算机配件455231006701270697001200第二季度工作站531600200211600100Pc机2012400100127390200软件213870001005421900100计算机配件5684360054026024500250维1维2维3表6-2、

多维报表示例

45表6-2为一个四维(包括统计指标自身)报表,分析人员可以根据需要对各维进行旋转,汇总以及合并操作(如将季度维合并,变为三维报表等)46

OLAP的特征及衡量标准

准则12不限制维与聚集层次

OLAP工具的维数应不小于15维综合路径聚集层次不受限47

OLAP的特征及衡量标准

透明性准则存取能力准则动态稀疏矩阵处理准则稳定的报表性能客户机/服务器体系结构多用户支持能力准则48

OLAP的特征及衡量标准

多维概念模型准则维的等同准则非受限的跨维操作非受限的维与维的层次直观的数据处理灵活的报表生成49

4.2.2其他厂商对Codd的十二条准则的看法

Codd十二条准则引起了不小的争论

Codd是Arbor软件公司的顾问,因此不少软件供应商觉得Codd的准则偏向Arbor公司的OLAP产品Essbase,这样有些公司,如Gartner集团提出了9条更为简化的准则。后来IRI软件公司又加上了3条补充准则,这两个公司提出的准则加在一起也是十二条(如表6-3)

50

4.2.2其他厂商对Codd的十二条准则的看法

Gartner集团:9条

IRI软件:3条(13)多维数组

(14)OLAP连接操作(15)数据库管理工具

(16)对象存储(17)子集选择

(18)细节深入(19)局部数据支持

(20)递增数据库刷新(21)SQL接口(22)时间序列分析(23)过程语言和开发工具(24)功能的集成化

51

4.2OLAP的特征及衡量标准

OLAP更为简要的定义FASMI—FastAnalysisofSharedMultidimensionalInformation52

4.2OLAP的特征及衡量标准

Fast:指系统应以尽量快的速度响应用户的分析请求。Analysis:指系统应能对与用户及应用相关的任何业务逻辑进行统计分析,这一分析过程不用编程而且要尽量利用已有的综合路径及统计公式。53

4.2OLAP的特征及衡量标准

Shared:指多个用户存取数据时,系统应保证安全性。尤其是当存在多个用户向OLAP服务器写数据时,系统应在适当粒度上加更新锁。Multidimensional:是OLAP应用的实质,OLAP系统必须提供数据的多维概念视图。Information:指应用所需的数据及其导出信息。

54联机分析处理(OLAP)4.1从OLTP到OLAP4.2OLAP的特征及衡量标准4.3OLAP实施4.4基于多维数据库的OLAP实现4.5基于关系数据库的OLAP实现4.6两种技术间的比较4.7OLAP产品介绍及选择4.8OLAP的新发展及在我国的应用展望55

4.3OLAP实施

基层db1基层db2数据仓库细节数据数据仓库综合数据OLAP服务器前端软件企业服务器

数据存取

客户共享数据存储后台数据处理最终用户功能与基层运行系统的连接报表的预处理

数据显示

个人数据存储个人应用逻辑

OLAP的三层客户/服务器结构:56

4.3OLAP实施

OLAP实施的关键:①

如何组织来自多个数据源或数据仓库的数据,以满足客户端用户的多维数据分析的需要,即OLAP服务器的设计②

OLAP服务器与前端软件的沟通

OLAP服务器必须以多维方式进行构建57

4.3OLAP实施

OLAP服务器的构建基础是数据仓库或基层数据库,数据仓库既包括基层数据库的操作细节数据,又包括综合性数据。由于OLAP是面向分析和管理决策人员的,决策人员大多关心的是综合性数据以便从更高层次、总的视角来了解数据。584.3OLAP实施因此,OLAP服务器的设计重点在于如何组织数据仓库中的综合性数据,如何满足前端用户的多维数据分析需要。如果企业的数据仓库尚未建立,也可直接从基层数据库中提取数据。59联机分析处理(OLAP)4.1从OLTP到OLAP4.2OLAP的特征及衡量标准4.3OLAP实施4.4基于多维数据库的OLAP实现4.5基于关系数据库的OLAP实现4.6两种技术间的比较60

4.4基于多维数据库的OLAP实现(MD-OLAP)

4.4.1多维数据多维数据库(MDDB─Multi-Dimensional

DataBase)多维方式来组织数据、存储数据

维的定义不是随意的,它是一种高层次的类型划分。如产品可以作为维,产品类型、

产品颜色、产品商标一般不作为维

614.4基于多维数据库的OLAP实现

(MD-OLAP)多维数据库可以直观地表现现实世界中的“一对多”和“多对多”关系。例如,我们希望存放一张销售情况表,假设有三种产品(冰箱、彩电及空调),它们在三个地方(东北、西北和华北)销售。用关系数据库来组织这些数据如表6-4(A),而用多维数据库则如表6-4(B):62

4.4基于多维数据库的OLAP实现(MOLAP)

销售表1(关系数据库):

产品名称地区销售量冰箱东北50冰箱西北60冰箱华北100彩电东北40彩电西北70彩电华北80空调东北90空调西北120空调华北140销售表2(多维数据库):

东北西北

华北

冰箱

5060100彩电4070

80空调90120140表6-4:RDBMS与MDDB数据组织比较

63

4.4基于多维数据库的OLAP实现多维数据库比关系表好的地方:表达清晰占用的存储少

644.4基于多维数据库的OLAP实现除了表达清晰,占用存储少外,多维数据库还有一个优点:综合速度快。数据可以直接按行或列累加,并且由于MDDB中不象关系表里那样重复地出现产品和地区信息,因此其统计速度远远超过RDBMS,数据库记录数越多其效果越明显。65

4.4基于多维数据库的OLAP实现输入成员表6-6:多维数据库中综合数据的存放

输入成员导出成员导出成员

东北西北华北总和

冰箱

5060100

210彩电407080

190空调90120140

350总和180250320

75066

4.4基于多维数据库的OLAP实现

要查询“冰箱的销售总量是多少?”SELECTSUM(销售量)FROM销售表1WHERE产品名称=‘冰箱’是涉及多个数据项求和的查询。

关系数据库:系统必须在大量的数据记录中选出产品名称为“冰箱”的记录,然后把它们的销售量加到一起,这时系统效率必定大大降低。多维数据库:按行或列进行求和,获得快速响应67

4.4基于多维数据库的OLAP实现

但是,多维数据库的响应时间仍然要取决于查询过程中需要求和的数据单元的数目,在使用时,用户希望不管怎样查询,都得到一致的响应时间。为了获得一致的快速响应,一般采用预计算的方法:将决策分析人员所需的综合数据预先统计出来,存放在数据库中。68

4.4基于多维数据库的OLAP实现例如,我们可以在关系数据库的表中加上一行总和的记录

销售表3:(表6-5:关系表中综合数据的存放

)产品名称地区销售量冰箱

东北50冰箱西北60冰箱华北100冰箱

总和210彩电

东北40彩电西北70彩电华北80彩电

总和190空调

东北90空调西北120空调华北140空调

总和350

总和

东北180

总和西北250

总和华北320

总和

总和750694.4基于多维数据库的OLAP实现预计算的好处是:查询时就不用再进行计算了。如果所求的总和都已经被综合的话,只要读取单个记录就可以回答按产品(或按地区)求和的问题了。这样处理就可以得到快速一致的查询响应。704.4基于多维数据库的OLAP实现预计算的缺点是:当数据库太大时,预先计算这些总和就要花费很长时间。另外,"总和"项破坏了列定义的统一语义,例如表6-5的地区列中的值表示的是地区名称,而"总和"就成为一个例外。查询时用户必须了解这种约定。71

4.4基于多维数据库的OLAP实现4.4.2维的层次关系和类

4.4.2.1维的层次关系简单层次关系:每个“子女”结点只有一个“双亲”结点

地区总和西北地区东北地区华北地区图6-6:简单层次关系的维层次图72

4.4基于多维数据库的OLAP实现

地区总和西北地区东北地区华北地区黑龙江省辽宁省吉林省沈阳市大连市图6-7:较复杂层次关系的层次图73

4.4基于多维数据库的OLAP实现如果多维数据库不支持维的层次关系则地区的三个层次必须作为不同的维成员弊端是增加了维的数目,稀疏的数据库,许多数据单元将不包含数据。74

4.4基于多维数据库的OLAP实现标注:""表示有意义的单元“”表示无意义的空单元省维城市维沈阳哈尔滨大连长春辽宁省黑龙江吉林省图6-8不支持维层次关系的例子75

4.4基于多维数据库的OLAP实现维的层次信息---存放在元数据中在进行各种综合查询时,就能通过元数据的信息区分不同的维层次,从而正确地执行查询如果求和过程中系统不能区分维层次而跨越不同的维层次,就会产生错误的结果例如求"全国销量总和"时既加上"西北地区"的销量,又加上"陕西省"的销量就会导致重复计算76

4.4基于多维数据库的OLAP实现(MD-OLAP)

时间维产品维图6-9:维的层次级别西北东北黑龙江77

4.4基于多维数据库的OLAP实现类:

按一定的标准对维成员全集的一个(分类)划分划分标准:类属性(规格,颜色)一个类属性,就有对维成员的一个划分类属性不同,得到的类划分也不同78

4.4基于多维数据库的OLAP实现按"产品销地"划分产品维图6-10:类东北西北华北华南东北西北华北华南类划分1类划分2按“产品产地"划分79

4.4基于多维数据库的OLAP实现

维层次和类的区别:1.

层次和类表达的意义不同维层次:维所描述的变量的不同综合层次(时间维有三层维层次:年、月、日)(父亲层次的值由子女层次的值综合得到)

维成员的类:维成员子集的共同特征(由类属性的某一值来表征的)同一层的维成员才可以划分为类

80

4.4基于多维数据库的OLAP实现(MD-OLAP)

2、在层次和类上进行的分析操作不同

维的层次关系上的分析:(1)从维的低层次到高层次的数据综合分析(2)从维的高层次到低层次的数据钻取分析

分析路径:层次图中从根到叶/从叶到根

维成员的类进行的分析:分类与归纳

层次图中对兄弟结点之间关系的分析,不跨越维层次

81

4.4基于多维数据库的OLAP实现(MD-OLAP)

2、在层次和类上进行的分析操作不同(

维成员的类进行的分析:分类与归纳即首先选择某个一定的类属性来对维成员的全集进行分类,然后再在分类的基础上归纳总结出类的共同特征(或一类区别于它类的特征)

层次图中对兄弟结点之间关系的分析,不跨越维层次

82

复杂的数据分析维的层次关系+维成员的类4.4基于多维数据库的OLAP实现产品小类产品大类产品颜色产品产地产品销地产品维图6-11:类和层次的组合83

4.4基于多维数据库的OLAP实现(MD-OLAP)

4.4.3时间序列数据类型

时间维:最普遍的一个维,包含特有的周期不同周期之间存在着转化规则

一月二月三月

图6-12产品84

4.4基于多维数据库的OLAP实现如果需要同时使用几种时间周期(如月和周)1定义两个独立的维:月维,周维2增加时间维的层次

数据被存储了两次(按月,按周):增加数据库的复杂性,数据库规模成倍增大

解决办法:采用时间序列数据类型:(一个月的销售数据)按时间顺序排列的一系列(如销售量)的数据85

4.4基于多维数据库的OLAP实现优点:第一、省去时间维,一个数据单元中的时间序列数据已经包含了时间信息第二、大大减少多维数据库数据单元的数目,多维数据库对数据单元的数目是有限制的定义一个时间序列类型,必须说明下面的信息:起始时间、时间周期、不同的周期之间的数据转换规则以及变量的数据类型(是整型数、浮点数等)86

4.4基于多维数据库的OLAP实现(MD-OLAP)

东北西北华北总销量(日)产品维地区维图6-13:时间序列数据存储ddddddd

dddddddweekweekWeekweekddddddd

dddddddweekweekddddddd

dddddddweekweekweekweekddddddd

dddddddddddddd

dddddddddddddd

ddddddd

ddddddd

dddddddddddddd

dddddddddddddd

dddddddddddddd

dddddddddddddd

ddddddd87

4.4基于多维数据库的OLAP实现(MD-OLAP)

每个数据单元存放两星期的时间序列数据有的是按日计算的,有的是按周计算的

从日数据转换为周数据的规则是"累加"从周数据转换为日数据的规则是"加权平均"

查看最近一年,各地区每周的销量和各产品每日的销量,系统自动把所有的日销量转换成周销量,生成各地区的周销量数据序列88

4.4基于多维数据库的OLAP实现当系统察看某一产品按不同地区(按列)日销量时,它又自动把所有的周销量转换成日销量,生成各产品的日销量数据序列。从周数据转换成日数据时,并不能得到原始的日数据因此采用时间序列数据类型并不能完全替代建立独立的时间维

89多维分析操作建立在关系聚集操作上的一组复合操作是面向用户的操作切片(slice)&切块(dice)向上钻取(roll-up),向下钻取(drilldown)90多维分析的基础:聚集基本的分析是求聚集函数(aggregation)

例:求第一天的销售总额In

SQL:SELECTsum(amt)FROMSALEWHEREdate=18191多维分析的基础:聚集例:按照每天求销售总额InSQL:SELECTdate,sum(amt)FROMSALEGROUPBYdate92多维分析的基础:聚集例:按照每天和产品求销售总额InSQL:SELECTdate,sum(amt)FROMSALEGROUPBYdate,prodIddrill-downrollup93多维分析的基础:聚集5个标准聚集函数: sum,count,max,min, ave在groupby的基础上还可以使用 “Having”语句可以在维层次上做聚集averagebyregion(withinstore)maximumbymonth(withindate)94切片/切块操作实质上对应于where/having子句day1切片95钻取操作钻取操作就是在不同粒度表之间的切换drill-downrollup96钻取操作day1day2129...sale(c1,*,*)sale(*,*,*)sale(c2,p2,*)drill-downrollup97

4.4基于多维数据库的OLAP实现4.4多维数据库存储

多维数据结构:Cube

由许多经压缩的、类似于数组的对象构成每个对象由聚集成组的单元块组成每个单元块都按类似于多维数组的结构存储通过直接偏移计算进行存取98

4.4基于多维数据库的OLAP实现索引:高度压缩及指针结构,索引较小只需一个较小的数来标识单元块可以放进内存MDDB必须具有高效的稀疏数据处理能力:略过零元、缺损和重复数据维间的许多组合没有具体值,是空的或者值为零许多值重复存储,如一年中的价格可能一直不变99BitMap索引顾客(顾客号,姓名,性别,重要级别)其中重要级别所在列的取值范围为1到5,它表示该顾客的重要程度。性别列表示顾客的性别,它只有两个值,男或者女。100基本思想是对每一个列值,给它创建一个相应的由0和1组成的序列。例如,可以用10代表男,用01代表女。同理,10000代表重要级别为1,00001代表重要级别为5。

男女10100110顾客号姓名性别重要级别11王平男312李强男513张岚女514刘行男41234500100000010000100010BitMap索引101BitMap索引较紧凑,节约空间:位图索引的大小与列的不同值的个数成正比可以使用有效的位操作来快速回答查询:例如要回答“有多少男性顾客的重要级别为5?”这样的查询,可以用性别列的bitmap索引的第一个位向量和重要级别列的bitmap索引的第五个位向量做一个与(AND)操作,然后对结果位向量中1的个数进行统计即可。102编码的Bitmap索引对于高基数的列,标准的bitmap索引不够有效

假定某个表T的属性A的值域为{a,b,c}。和标准bitmap索引不同的是,编码BitMap索引采用2个bit而不是3个bit来对属性A的值域进行编码,值a用00来代表,值b用01来代表,值c用10来代表

103编码的Bitmap索引104

4.4基于多维数据库的OLAP实现MDDB必须具有高效的稀疏数据处理能力:略过零元、缺损和重复数据维间的许多组合没有具体值,是空的或者值为零许多值重复存储,如一年中的价格可能一直不变105chunk商店维、产品维、时间维每5个数组元素作为一个区间,情节维每两个数组元素作为一个区间

StoreProductTimeScenarioPointer0-40-40-40-10-40-45-90-10-40-410-140-1…………106压缩方法一个Chunk实际上是一个多维数组,虽然我们希望Chunk是非稀疏的,但实际中仍然会有某些Chunk是稀疏的。为了节省存储空间和I/O时间,需要对稀疏的Chunk进行压缩。107108

4.4基于多维数据库的OLAP实现(MD-OLAP)

4.4.5多维数据库存取

存取策略:MDDB利用关系数据库保存数据的细节各级统计结果保存在多维数据库中当需要细节数据时,通过MDDB去访问它们

多维查询语言──

MDSQL109

4.4基于多维数据库的OLAP实现(MD-OLAP)

例:列出1996年1月到6月彩电在北京地区的销售量和成本

多维查询语言表达语法1:

SelectDimensionPRODUCT

彩电

SelectDimensionREGION

北京

SelectSALES.units,SALES.cost

AcrossTIMEDOWN

REGION,PRODUCT,SALESListPeriodJAN96-JUN96110

4.4基于多维数据库的OLAP实现(MD-OLAP)

多维查询语言表达语法2:

GetSALES.units,SALES.costByPRODUCT=“彩电”

ByREGION=“北京”

ByTIME=JAN96-JUN96

SALES包含统计指标的度量维PRODUCT产品维REGION地区维TIME时间维111联机分析处理(OLAP)4.1从OLTP到OLAP4.2OLAP的特征及衡量标准4.3OLAP实施4.4基于多维数据库的OLAP实现4.5基于关系数据库的OLAP实现4.6两种技术间的比较112

4.5基于关系数据库的OLAP实现

关系数据库将多维结构划分为两类表,一类是事实(fact)表,用来存储事实的度量(measure)值及各个维的码值;另一类是维表,对每一个维来说,至少有一个表用来保存该维的元数据,即维的描述信息,包括维的层次及成员类别等。113LocationVancouverChicagoTorontoNewYorkTime(季度)ItemQ1Q2Q3Q4605680812927825952102310381431303840051250158085410878188829687468938436238725916829256987281002789784984870家庭娱乐计算机电话安全4.5基于关系数据库的OLAP实现

114维:一个组织想要记录的透视或实体。本例中涉及time,item,location。每一个维都有一个表与之相关联,称为维表。事实:数据仓库的主题,数值度量的。本例中指销售量。事实对应事实表。4.5基于关系数据库的OLAP实现

115

4.5基于关系数据库的OLAP实现

用维来记录多位数据库中的纬度,将多位数据立方体的坐标轴上的各个取值记录在一张维表中,这样对于一个n维数据,ROLAP中就存在n张维表。120042200332002420011计算机2彩电3冰箱4空调1北京2上海3杭州4西安116

4.5基于关系数据库的OLAP实现

事实表用于记录多维模型中维度交叉点处的度量信息的关系表,该关系表一般由维度的码值和相应的度量构成。计算机、彩电、冰箱、空调2004200320022001北京上海杭州西安Time-idProduct-idMarket-idsales1117000121500013175814146921167002215200231976241678…………117〖例〗销售分析:

数据仓库sales围绕商品销售量这个主题。同时,销售量涉及以下几个方面:time,item,location,branch。有了这些方面的信息,能够记录商品的月销售,销售商品的地点。4.5基于关系数据库的OLAP实现

118通过将事实表和维表进行连接,我们就可以得到“星型结构(starschema)〖例〗销售分析的星型图模型。分店维销售事实表

单位销售额现金销售额平均销售额

地区维产品维时间维4.5基于关系数据库的OLAP实现

119〖例〗销售分析的星型图模型。4.5基于关系数据库的OLAP实现

120

事实表,包含用于分析的数值化信息和维表的关键字。〖例〗销售分析的星型图模型。4.5基于关系数据库的OLAP实现

121

维表,一个组织想要记录的透视或实体。每一维都有一个表与之相关联。他的主键一定会出现在事实表中,以便进行表连接。4.5基于关系数据库的OLAP实现

122星型模式(StarSchema)“星型模式”通过维表的主码,将事实表与维表连接在一起,完全用二维关系表示了数据的多维概念。建立“星型模式”后,可以在关系数据库中模拟数据的多维查询。通过维表的主码,对事实表和每一个维表做连接操作,一次查询就可以从得到数据的值以及对数据的多维描述(即对应的各维上的维成员)。123星型模式(StarSchema)“星型模式”好处:使用户及分析人员可以用商业名词(元数据名或标记)来描述一个需求,然后该需求被重新翻译成每一个维的代码或值。124雪片模式星型模式的问题实际中,数据往往不只有一个维层次。对于维层次复杂的维,用一张维表来描述会带来过多的冗余数据。为了避免冗余数据占用过大的空间,可以用多张表来描述一个复杂维。比如,产品维可以进一步划分为类型表,颜色表,商标表等,这样在“星”的角上又出现了分支,这种变种的星型模型被称之为“雪片模式”(SnowFlakeSchema)。125

〖例〗销售分析的雪花型模型。将维表经规范化处理,将数据进一步分解到附加表中。4.5基于关系数据库的OLAP实现

126

〖例〗销售分析的事实星座模型。两个事实表sales和shipping共享维表time,item,location。4.5基于关系数据库的OLAP实现

1274.5基于关系数据库的OLAP实现

ROLAP:维表和事实表用二维关系表存放事实的提取:Join系统的性能:采用有效的查询优化技术、索引技术

128

4.5基于关系数据库

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论