资源描述
. . . .
第二周:2012/9/4
第三讲:数据仓库的多维数据模型
数据仓库多维数据模型〔Multi-Dimensional Data Model〕是为了满足用户从多角度多层次进展数据查询和分析的需要而建立起来的基于事实和维的数据库模型,其根本的应用是为了实现OLAP〔Online Analytical Processing〕。
1.度量值〔Measure〕
度量值是决策者所关心的具有实际意义的数值。例如,销售量、库存量、银行贷款金额等。度量值是所分析的多维数据集的核心,它是最终用户浏览多维数据集时重点查看的数值数据。
2. 事实数据表〔Fact Table〕
度量值所在的表称为事实数据表,事实数据表中存放的事实数据通常包含大量的数据行。事实数据表的主要特点是包含数值数据〔事实〕,而这些数值数据可以统计汇总以提供有关单位运作历史的信息。
3.维度成员〔Dimension Member〕
维的一个取值称为该维的一个维度成员〔简称维成员〕。如果一个维是多级别的,那么该维的维度成员是在不同维级别的取值的组合。例如,考虑时间维具有日、月、年这3个级别,分别在日、月、年上各取一个值组合起来,就得到了时间维的一个维成员,即“某年某月某日〞。
4. 维度表〔Dimension Table〕
包含维度信息的表是维度表,维度表包含描述事实数据表中的事实记录的特性。
维度表和事实表相互独立,又互相关联并构成一个统一的模式。构建多维数据集时常用的架构:
1. 星型模式
星型模式是一种多维的数据关系,它由一个事实表(Fact Table)和一组维表(Dimens ion Table)组成。每个维表都有一个维作为主键,所有这些维的主键组合成事实表的主键。事实表的非主键属性称为事实 (Fact),它们一般都是数值或其他可以进展计算的数据; 而维表大都是文字、时间等类型的数据,按这种方式组织好数据我们就可以按照不同的维(事实表的主键的局部或全部)来对这些事实数据进展求和(summary)、求平均(average)、计数(count)、百分比(percent)的聚集计算,甚至可以做20-80 分析。这样就可以从不同的角度数字来分析业务主题的情况
一个典型的银行贷款分析的模型设计,其中加边框的为主关键字(PK, PrimaryKey),其中贷款分析表是一个事实表,其中的贷款授信金额,贷款余额是需要从各角度观察的数据(事实),而观察的角度是有区域、银行、时间,质量这四个方面组合进展,这些分析角度的有机组合,可以对授信金额和贷款余额进展4 ╳ 8 ╳ 4 ╳ 8 种组合的数据统计分析,以此实现对贷款情况的多角度(维)多层次(数据不同的汇总程度)的分析,贷款分析人员既可以宏观地看到贷款业务的整体情况,又可以微观地观察到具体一家银行一天一类贷款的细节信息。多维分析的时候,维度选择越多数据越细节(划分得更细了),维度选择越少数据越汇总越宏观。
2. 事实星座模式〔Fact Constellation〕:
多个事实表共享维表,可看作星型模式集。
3. 雪花模式〔Snowflake Schema〕:
是星型模式的变种,其中某些维表将数据进一步分解到附加的维表中,以便减少冗余,但对系统的性能有一定的影响;
第四讲:联机分析处理
60年代,关系数据库之父E.F.Codd提出了关系模型,促进了联机事务处理(OLTP)的开展(数据以表格的形式而非文件方式存储)。1993 年,E.F.Codd提出了OLAP概念,认为OLTP已不能满足终端用户对数据库查询分析的需要,SQL对大型数据库进展的简单查询也不能满足终端用户分析的要求。用户的决策分析需要对关系数据库进展大量计算才能得到结果,而查询的结果并不能满足决策者提出的需求。因此,E.F.Codd提出了多维数据库和多维分析的概念,即OLAP。
1. 联机事务处理(Online Translation Processing)
通常在数据库系统中,事务是工作的离散单位。例如,一个数据库事务可以是修改一个用户的平衡或库存项的写操作。联机事务处理系统(OLTP)实时地采集处理与事务相连的数据以与共享数据库和其它文件的地位的变化。在联机事务处理中,事务是被立即执行的。上世纪60年代,由关系数据库之父E.F.Codd不断开展。
2. 联机分析处理(On Line Analytical Proccessing,简称OLAP)
最早由关系数据库之父E.F.Codd于1993年提出。OLAP应用是目前数据仓库上的重要应用之一,是决策分析的关键。作为数据仓库最重要的多维分析工具,OLAP利用存储在数据仓库中的数据完成各种分析操作,并以直观易懂的形式将分析结果返回给决策人员。它的目标是满足决策支持或多维环境特定的查询和报表需求,技术核心是多维分析。多维分析可以对以多维形式组织起来的数据进展上卷、下钻、切片、切块、旋转等各种分析操作,以便剖析数据,使分析者、决策者能从多个角度、多个侧面观察数据库中的数据,从而深入了解包含在数据中的信息和涵。
3. 钻取〔Drill-down〕
在维的不同层次间的变化,从上层降到下一层,或者说是将汇总数据拆分到更细节的数据,比如通过对2010年第二季度的总销售数据进展钻取来查看2010年第二季度4、5、6每个月的消费数据,如上图;当然也可以钻取省来查看市、市、市……这些城市的销售数据。
4. 上卷〔Roll-up〕
钻取的逆操作,即从细粒度数据向高层的聚合,如将省、市和省的销售数据进展汇总来查看江浙沪地区的销售数据,如上图。
5. 切片〔Slice〕
选择维中特定的值进展分析,比如只选择电子产品的销售数据,或者2010年第二季度的数据。
6. 切块〔Dice〕
选择维中特定区间的数据或者某批特定值进展分析,比如选择2010年第一季度到2010年第二季度的销售数据,或者是电子产品和日用品的销售数据。
7. 旋转〔Pivot〕
即维的位置的互换,就像是二维表的行列转换,如图过旋转实现产品维和地域维的互换。
8. 联机事务处理〔OLTP〕和联机分析处理〔OLAP〕的区别
(1)用户和系统的面向性:
OLTP是面向顾客的,用于事务和查询处理
OLAP是面向市场的,用于数据分析
(2)数据容:
OLTP系统管理当前数据.
OLAP系统管理大量历史数据,提供汇总和聚集机制.
(3)数据库设计:
OLTP采用实体-联系ER模型和面向应用的数据库设计.
OLAP采用星型或雪花模型和面向主题的数据库设计.
(4)视图:
OLTP主要关注一个企业或部门部的当前数据,不涉与历史数据或不同组织的数据
OLAP那么相反.
(5)访问模式:
OLTP系统的访问主要由短的原子事务组成.这种系统需要并行和恢复机制.
OLAP系统的访问大局部是只读操作
OLTP
OLAP
用户
操作人员,低层管理人员
决策人员,高级管理人员
功能
日常操作处理
分析决策
DB 设计
面向应用
面向主题
数据
最新的,细节的,二维的,分立的
历史的,聚集的,多维的,集成的
存取规模
读/写数条〔甚至数百条〕记录
读上百万〔甚至上亿〕条记录
操作频度
非常频繁〔以秒计〕
比拟稀松〔以小时甚至以周计〕
工作单位
严格的事务
复杂的查询
用户数
数百个-数千万个
数个-数百个
DB 大小
100MB-GB
100GB-TB
5 / 5
展开阅读全文