第13章_联机分析处理(OLAP)技术-完成
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
13.3 OLAP的实现
13.3.2 ROLAP结构 但其数据存取较MOLAP复杂。首先,用户的 分析请求(通常用MDX语言来表达),这就需要 由ROLAP服务器把MDX转换为SQL请求,然后交 由关系数据库管理系统处理。处理结果还须经 ROLAP服务器多维处理后返回给用户。而且SQL 语句尚不能直接处理所有的分析计算工作,只能 依赖附加的应用程序来完成,因此执行效率上不 如MOLAP高。
13.2 多维数据模型
13.2.2 多维分析的基本操作
向下钻取(Drill-down): Drill-down 也称为下钻操作。Drill-down是 Roll-up的逆操作。它同样包括两种形式,在某个 维的某一层次上由高到低的钻取操作,找到更详 细的数据。或者通过增加新的维来获取更加细节 的数据。
电视机 600 550 200 …… …… …… ……
图13.5(b) 切片
13.2 多维数据模型
13.2.2 多维分析的基本操作
旋转(Pivot): 改变一个超立方体Cube的维方向的操作称为 旋转。旋转用于改变对Cube的视角,即用户可以 从不同的角度来观察Cube。如图13.6(a),是把一 个横向为时间,纵向为产品的二维表旋转为横向 为产品和纵向为时间的二维视图。假如对图13.1 的Cube把商品维、时间维、地区维执行旋转操作 就得到对13.6(b)。
13.2 多维数据模型
13.2.1 基本概念
维的层次(Hierarchy) 人们观察数据的某个特定角度(即某个维)还 可能存在细节程度不同的多个描述方面,我们称 这多个描述方面为维的层次。例如:描述时间维 时,可以从年、季、月、日等不同层次来描述, 那么年、季、月、日等就是时间维的一种层次; 同样,县、市、省、大区、国家等构成了地区维 的一种层次。
13.2 多维数据模型
13.2.2 多维分析的基本操作
产品 销售情况 选定时间维的维成员"1997年4月"
1997年4月 产品销售 情况
地区 商 品
数据切片
商 品
地区 时间
图13.5(a) 切片
13.2 多维数据模型
13.2.2 多维分析的基本操作
销售额 北京 上海 天津 冰箱 500 600 200 100 150 洗衣机 300 重庆 150 200 180 ……
13.3 OLAP的实现
13.3.1 MOLAP结构
MOLAP结构直接以多维立方体CUBE来组织 数据,以多维数组来存储数据,支持直接对多维 数据的各种操作。人们也常常称这种按照多维立 方体来组织和存储的数据结构为多维数据库 ( Multi-Dimension DataBase,简记为MDDB)。 Arbor 公 司 的 Essbase 是 一 个 MOLAP 服 务 器 。 MOLAP结构的系统环境如图13.8所示。
13.2 多维数据模型
13.2.1 基本概念
商品
地区
北京 销售额(万 元) 电冰箱 洗衣机
电视机
1 2 3 4
时间
图13.1按商品、时间和地区组织的电器商品销售数据
13.2 多维数据模型
13.2.1 基本概念
数据单元(Cell) 多维立方体CUBE的取值称为数据单元。当多 维立方体的各个维都选中一个维成员,这些维成 员的组合就唯一确定了一个变量的值。 对于三维以上的超立方体,很难用可视化的 方式直观地表示出来。为此人们用较形象的星型 模式”(Star Schema)和“雪片模式”(Snow Flake Schema)来描述多维数据模型。
13.4 小结
我们主要应把握以下几点: 1. 掌握维、层、层次、成员、度量和立方 体等主要的概念,了解多维数据模型的一 些比较深入的问题,如,属性、可汇总性、 维层次的种类等。 2. 掌握联机分析的主要操作。 3. 了解主流的联机分析软件结构,领会在 不同的实现结构中是如何实现多维数据模 型的各个要素。
第13章 联机分析处理(OLAP) 技术
13.1 什么是OLAP 13.2 多维数据模型 13.3 OLAP的实现 13.4 小结
13.1 什么是OLAP
OLAP(On_Line Analytical Processing)即 联机分析处理,是以海量数据为基础的复杂分析 技术。 OLAP概念是由 E.F.Codd于1993年提出的。 OLAP软件提供的是多维分析和辅助决策功能。 对于深层次的分析和发现数据中隐含的规律和知 识,则需要数据挖掘(Data Mining)技术和相应 的数据挖掘软件来完成。
13.3 OLAP的实现
13.3.1 MOLAP结构
首先,和关系表相比,多维数据库组只存储 Cube的度量值。例如图13.1中只存储销售量的值 (在表的之间),不存储地区维和商品维的维成 员值。多维数组的存储效率高;其次,多维数组 可以通过数组的下标直接寻址,和关系表(通过 表中列的内容寻址,常常需要索引或全表扫描) 相比,它的访问速度快。更重要的是,多维数组 有着高速的综合速度,因此可以较好地支持向上 综合、向下钻取等多维分析操作。
13.2 多维数据模型
13.2.1 基本概念
顾客维
位置 顾客 周 日 销售事实表 销售员 地区 销售员维 类型 产品维 产品 时间维 月 工厂
制造商维
地区
类型
图13.4 雪片模式
13.2 多维数据模型
13.2.2 多维分析的基本操作
切片(Slice) 在超立方体cube的某一维上选定一个维成员 的操作称为切片。一次切片使原来的Cube维数减 一,即结果为一个维数减一的subcube,如图 13.5所示。 切块(Dice): 在超立方体Cube上选定两个或更多个维成员 的操作称为切块。
13.2 多维数据模型
13.2.1 基本概念
变量(Measure) 变量也称度量,是数据的实际意义,即描述数 据“是什么”。例如:数据“10000”本身并没有 意义或者说意义未定,它可能是一个学校的学生 人数,也可能是某产品的单价,还可能是某商品 的销售量等。一般情况下,变量是一个数值的度 量指标,例如:“人数”、“单价”、“销售量” 等都是变量或称为度量,而“10000万元”则是 变量的一个值,销售量10000万元常称为度量值。
顾客维表 顾客代码 销售事务表 销 售 员 代 码
销售员维
日期 顾客代码 制造商代码 销售员代码 产品代码 销售额
产品代码 产品维表
制 造 商 代 码
制造商维表
图13.3 星型模式示例
13.2 多维数据模型
13.2.1 基本概念
雪片模式就是对维表按层次进一步细化 后形成的。如图13.4,在 “星型” 维表的 角上又出现了分支,这样变形的星型模式 被称为“雪片模式”(Snow Flake Schema)。
13.3 OLAP的实现
13.3.2 ROLAP结构
同MOLAP相比,关系数据库表达多维立方体 不大自然,由于关系数据库的技术较为成熟, ROLAP在数据的存储容量、适应性上占有优势。 当维数增加、减少时只需增加、删除相应的关系, 修改事实表的模式,较容易适应多维立方体的变 化。因此,ROLAP的可扩展性好。
13.2 多维数据模型
13.2.1 基本概念
维成员(Member) 维的一个取值称为该维的一个维成员,也称作 维值。如果一个维的某种层次具有多个层,那么 该维的维成员是不同维层的取值的组合。假设时 间维的层次是年、月、日这三个层,分别在年、 月、日上各取一个值组合起来,就得到了时间维 的一个维成员,即“某日某月某年”。一个维成 员并不一定在每个维层上都要取值,例如,“某 年某月”、“ 某月某日”、“某年”等都是时间 维的维成员。
13.3 OLAP的实现
13.3.1 MOLAP结构
多维存取
DB MOLAP 服务器
用 户
DW
多维视图 多维数据库
图13.8 MOLAP结构的系统环境
13.3 OLAP的实现
13.3.1 MOLAP结构
MOLAP如何以多维立方体Cube来组织数据的 呢?前面我们已经讲解了多维立方体Cube的数据 单元可以表示为:(维1维成员,维2维成员 ,··, · 维n维成员,度量值)。多维数组只存储Cube的 度量值,维值由数组的下标隐式给出。关系表则 维值和度量值都存储。
13.3 OLAP的实现
13.3.1 MOLAP结构
多维数组存储方式存在如下不足: 1. 多维数组的物理存放方式通常是按照某个 预定的维序线性存放的,不同维的访问效率差别 很大。以图13-9(b)二维数组为例,如果按行存 放的话,则访问某电器产品的销售额时,效率很 高,因为一次I/O读取的页面包含了多个行值;但 访问某地区的销售额时,效率就会降低。
13.3 OLAP的实现
13.3.1 MOLAP结构
2. 在数据稀疏的情况下,即Cube的许多数据 单元(维1维成员,维2维成员 ,·· ·,维n维成员, 度量值)上无度量值,多维数组由于大量无效值 的存在,存储效率会下降。
13.3 OLAP的实现
13.3.2 ROLAP结构
ROLAP将多维立方体结构划分为两类表,一 类是事实(Fact)表,另一类是维表。事实表用来描 述和存储多维立方体的度量值及各个维的码值; 维表用来描述维信息,包括维的层次及成员类别 等。ROLAP用关系数据库的二维表来表示事实表 和维表。也就是说ROLAP用“星型模式”和“雪 片模式”来表示多维数据模型。
13.2 多维数据模型
13.2.1 基本概念
多维立方体(Cube) 多维数据模型的数据结构可以用这样来一个多 维数组来表示:(维1,维2,·· ·,维n,度量值),例 如:图13.1所示的电器商品销售数据是按时间、 地区、商品,加上变量“销售额”组成的一个三 维数组:(地区,时间,商品,销售额)。三维数 组可以用一个立方体来直观的表示。一般地多维 数组用多维立方体CUBE来表示。多维立方体 CUBE也称为超立方体。
13.2 多维数据模型
13.2.1 基本概念
维(Dimension) 维是人们观察数据的特定角度。例如,企业常 常关心产品销售量随时间的变化情况, 这时他是从 时间的角度来观察产品的销售, 所以时间就是一个 维(时间维)。企业也时常关心自己的产品在不 同的地区的销售分布情况,这时他是从地区分布 的角度来观察产品的销售,所以地区也是一个维 (地区维)。 “维”是OLAP中十分重要的概念。
13.2.2 多维分析的基本操作
向上综合(Roll-up): Roll-up也称为上钻操作。提供Cube上的聚集 操作。包括两种形式,一种是在某个维的某一层 次上由低到高的聚集操作,例如在时间维上由日 聚集到月,由月聚集到年;另一种是通过减少维 的个数进行聚集操作,例如两维Cube中包含有时 间维和地区维,如果我们把地区维去掉,则得到 一个按时间维对所有地区进行聚集操作。
13.2 多维数据模型
13.2.2 多维分析的基本操作
产 品 维 行列交换
时 间 维
时间维
产品维
图13.6 旋转操作示例(a)
13.2 多பைடு நூலகம்数据模型
13.2.2 多维分析的基本操作
电器商品种类 地区维 电器商品种类
时间维 旋转以改变视角
时间维
地区维
图13.6 旋转操作示例(b)
13.2 多维数据模型
13.2 多维数据模型
13.2.1 基本概念
星型模式通常由一个中心表(事实表)和一组 维表组成。
顾客维 时间维 销售事实表 销售员维 产品维 制造商维
图13.2星型模式
13.2 多维数据模型
13.2.1 基本概念
星型模式的 事实表与所有的 维表相连,而每 一个维表只与事 实表相连。维表 与事实表的连接 是通过码来体现 的,如图13.3所 示。
13.2 多维数据模型
13.2.2 多维分析的基本操作
销售额 (万元) 第1季度 北京 78 1996 第2季度 45 第3季度 34 第4季度 56
上海
90
67
87
91
Roll Up
销售额 (万元)
Drill Down
1996
1月
北京 上海 30 28
2月
26 30
3月
22 32
图13.7 Drill-down和Roll-up操作