第2章数据仓库及其设计

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第2章数据仓库设计2.1数据仓库设计概述数据仓库设计是建立一个面向企业决策者的分析环境或系统。2.1.1数据仓库设计原则以业务和需求为中心:是指围绕业务方向性需求、业务问题等,确定系统范围和总体框架。以数据来驱动:是指其所有数据均建立在已有数据源基础上,从已存在于操作型环境中的数据出发进行数据仓库设计。2.1.2数据仓库构建模式1.先整体再局部的构建模式:W.H.Inmon模式从数据仓库到数据集市数据仓库数据集市数据集市……外部数据源分析主题优点:数据规范化程度高,最小化数据冗余与不一致性;便于全局数据的分析和挖掘。缺点:建设周期长、见效慢;风险程度相对大。2.先局部再整体的构建模式:RalphKimball模式从数据集市到数据仓库数据仓库数据集市数据集市……外部数据源分析主题外部数据源优点:投资少、见效快;在设计上相对灵活;易于实现。缺点:会有一定级别的冗余和不一致性。2.1.3数据仓库设计步骤(1)数据仓库的规划和需求分析。(2)数据仓库的建模。(3)数据仓库物理模型设计。(4)数据仓库的部署。(5)数据仓库的维护。2.2数据仓库规划和需求分析2.2.1数据仓库的规划数据仓库的策略规划包括:明确用户的战略远景、业务目标。确定建设数据仓库的目的和目标。定义清楚数据仓库的范围、优先顺序、主题和针对的业务。定义衡量数据仓库成功的要素。定义精简的体系结构、使用技术、配置、容量要求等。定义操作数据和外部数据源。确定建设所需要的工具。概要性地定义数据获取和质量控制的策略。数据仓库管理及安全。2.2.2数据仓库的需求分析主题分析数据分析环境要求分析2.3数据仓库的建模2.3.1多维数据模型及相关概念多维数据模型将数据看作数据立方体形式,满足用户从多角度多层次进行数据查询和分析的需要而建立起来的基于事实和维的数据库模型。其数据组织采用多维结构文件进行数据存储,并有索引及相应的元数据管理文件与数据相对应。1.粒度(Granularity)粒度是指数据仓库中数据单元的详细程度和级别,确定数据仓库的粒度是设计数据仓库的一个最重要方面。数据越详细,粒度越小级别就越低;数据综合度越高,粒度越大级别就越高。例如,地址数据中“北京市”比“北京市海淀区”的粒度小。在传统的操作型数据库系统中,对数据处理和操作都是在最低级的粒度上进行的。但是在数据仓库环境中应用的主要是分析型处理,一般需要将数据划分为详细数据、轻度总结、高度总结三级或更多级粒度。2.维度(Dimension)维度(简称为维)是指人们观察事物的特定的角度,概念上类似于关系表的属性。例如企业常常关心产品销售数据随着时间推移而变化的情况,这是从时间的角度来观察产品的销售,即时间维;企业也常常关心本企业的产品在不同地区的销售分布情况,这时是从地理分布的角度来观察产品的销售,即地区维。3.维属性和维成员一个维是通过一组属性来描述的,如时间维包含年份、季度、月份和日期等属性,这里的年份、季度等称为时间维的维属性。维的一个取值称为该维的一个维成员,如果一个维是多层次的,那么该维的维成员是在不同维层次的取值组合。例如,一个时间维具有年份、季度、月份、日期四个层次,分别在四个层次各取一个值,就得到时间维的一个维成员,即某年某季某月某日。4.维层次同一维度可以存在细节程度不同的各个值,可以将粒度大的值映射到粒度小的值,这样构成维层次(或维层次结构)或概念分层,即将低层概念映射到更一般的高层概念,概念分层允许在各种抽象级审查和处理数据。例如对于地点维,有“杭州→浙江→中国”的维层次。又例如时间维,可以从年、季度、月份、日期来描述,那么“年份→季度→月份→日期”就是维层次。年份季度月份日期5.度量(Measure)或事实(Fact)度量是数据仓库中的信息单元,即多维空间中的一个单元,用以存放数据,也称为事实(Fact)。通常是数值型数据并具有可加性。例如:(日期,商品,地区,销售量)其中,销售量就是一个度量。2.3.2多维数据模型的实现多维数据模型实现方式:关系数据库(RDB)多维数据库(MDDB)两者相结合(HDB)1.关系数据库在基于关系数据库的数据仓库中有两类表,一类是维表,对每个维至少使用一个表存放维的层次、成员等维的描述信息;另一类是事实表,用来存放维关键字和度量等信息。维表和事实表通过主关键字(主键)和外关键字(外键)联系在一起。多维数据立方体各个坐标轴上的刻度以及立方体各个交点的取值都被记录下来,因而数据立方体的全部信息就都被记录了下来。例如,下表是一个关系表的数据组织形式,其中包含按产品和地区两项分类统计的销售量。产品地区销售量电视机华北10电视机华东20电视机华中30电视机华南40电冰箱华北40电冰箱华东30电冰箱华中20电冰箱华南10手机华北50手机华东60手机华中70手机华南802.多维数据库多维数据库也是一种数据库,可以将数据加载、存储到此数据库中,或从中查询数据。但其数据是存放在大量的多维数组中,而不是关系表中。例如Excel便是如此。例如,上一个表采用多维数据库的数据组织形式如下表所示。华北华东华中华南电视机10203040电冰箱40302010手机50607080产品地区销售量电视机华北10电视机华东20电视机华中30电视机华南40电冰箱华北40电冰箱华东30电冰箱华中20电冰箱华南10手机华北50手机华东60手机华中70手机华南80在关系数据库中,“多对多”的关系总是转化成多个“一对多”的关系,有利于数据的一致性和规范化,这符合事务处理系统的需求。多维数据库的优势不仅在于多维概念表达清晰,占用存储少,更重要的是它有着高速的综合速度。在多维数据库中,数据可以直接按行或列累加,并且由于多维数据库中不像关系表那样出现大量的冗余信息,因此其统计速度远远超过关系数据库,数据库记录数越多,其效果越明显。2.3.3数据仓库建模的主要工作1.在需求分析上,确定系统所包含的主题域并加以描述主题选取的原则是优先实施管理者目前最迫切需求、最关心的主题。主题内容的描述包括主题的公共键、主题之间的联系和各主题的属性。例如,若以顾客为主题,则设计的相关主题内容的描述如下:基本信息:顾客号、顾客姓名、性别、年龄、文化程度、住址、电话经济信息:顾客号、年收入、家庭总收入公共键:顾客号2.确定事实表的粒度事实表的粒度能够表达数据的详细程度。从用途的不同来说,事实表可以分为以下三类:原子事实表:是保存最细粒度数据的事实表,也是数据仓库中保存原子信息的场所。聚集事实表:是原子事实表上的汇总数据,也称为汇总事实表。合并事实表:是指将位于不同事实表中处于相同粒度的事实进行组合建模而成的一种事实表。3.确定数据分割策略分割是指把逻辑上是统一整体的数据分割成较小的、可以独立管理的物理单元进行存储,以便能分别处理,从而提高数据处理的效率。分割可以按时间、地区、业务类型等多种标准来进行,也可以按自定义标准,分割之后小单元的数据相对独立,处理起来更快更容易。但在多数情况下,数据分割采用的标准不是单一的,而是多个标准的组合。4.构建数据仓库中各主题的多维数据模型及其联系由于数据仓库目前大多是使用关系数据库来实现的,所以本章主要讨论基于关系数据库的数据仓库建模方法。2.3.4几种常见的基于关系数据库的多维数据模型1.星形模式星形模式(Starschema)是由一个事实表和一组维表组成,每个维表都有一个维主键,所有这些维组合成事实表的主键,换言之,事实表主键的每个元素都是维表的外键。该模式的核心是事实表,通过事实表将各种不同的维表连接起来,各个维表都连接到中央事实表。(1)星形模式的基本结构事实表┇维表1┇维表2┇维表3┇维表4┇星形模式的基本结构如下:星形模式的特点如下:维度表只与事实表关联,维度表彼此之间没有任何联系。每个维度表中的主码都只能是单列的,同时该主码被放置在事实数据表中,作为事实数据表与维表连接的外码。星型模式是以事实表为核心,其他的维度表围绕这个核心表呈星型状分布。【例2.1】一个“销售”数据仓库的星形模式如图2.5所示。该模式包含一个中心事实表“销售事实表”和4个维表:时间维表、销售商品维表、销售地点维表和顾客维表。在销售事实表中存储着四个维表的主键和两个度量“销售量”和“销售金额”。日期年份季度月份时间维表Time_id周Item_idLocate_idCustomer_id销售量销售事实表Time_id销售金额街道城市省国家地点维表Locate_id商品名品牌分类商品维表Item_id顾客名顾客住址顾客类型顾客维表Customer_id(2)维表设计维表用于存放维信息,包括维的属性(列)和维的层次结构。一个维用一个维表表示。维表通常具有以下数据特征:维通常使用使用解析过的时间、名字或地址元素,这样可以使查询更灵活。例如时间可分为年份、季度、月份和时期等,地址可用地理区域来区分,如国家、省、市、县等。维表通常不使用业务数据库的关键字作为主键,而是对每个维表另外增加一个额外的字段作为主键来识别维表中的对象。在维表中新设定的键也称为代理键。维表中可以包含随时间变化的字段,当数据集市或数据仓库的数据随时间变化而有额外增加或改变时,维表的数据行应有标识此变化的字段。维表中维的类型:结构维信息维分区维分类维退化维一致维父子维在数据仓库的逻辑模型设计中,有一些维表是经常使用的,它们的设计形成了一定的设计原则,如时间维、地理维、机构维和客户维等,所以在设计维表时应遵循这些设计原则。又例如,数据仓库存储的是系统的历史数据,业务分析最基本的维度就是时间维,所以每个主题通常都有一个时间维。(3)概念分层维表中维一般包含着层次关系,也称为概念分层,如在时间维上,按照“年份-季度-月份”形成了一个层次,其中年份、季度、月份成为这个层次的三个级别。概念分层的作用如下:概念分层为不同级别上的数据汇总提供了一个良好的基础。综合概念分层和多维数据模型的潜力,可以对数据获得更深入的洞察力。通过在多维数据模型中,在不同的维上定义概念分层,使得用户在不同的维上从不同的层次对数据进行观察成为可能。多维数据模型使得从不同的角度对数据进行观察成为可能,而概念分层则提供了从不同层次对数据进行观察的能力;结合这两者的特征,我们可以在多维数据模型上定义各种OLAP操作,为用户从不同角度不同层次观察数据提供了灵活性。(4)事实表设计事实表是多维模型的核心,是用来记录业务事实并作相应指标统计的表,同维表相比,事实现具有如下特征:记录数量很多,因此事实表应当尽量减小一条记录的长度,避免事实表过大而难于管理。事实表中除度量外,其他字段都是维表或中间表(对于雪花模式)的关键字(外键)。如果事实相关的维很多,则事实表的字段个数也会比较多。在查询事实表时,通常使用到聚集函数,一个聚集函数从多个事实表记录中计算出一个结果。度量可以根据其所用的聚集函数分为三类:分布的聚集函数:将这类函数用于n个聚集值得到的结果和将函数用于所有数据得到的结果一样。例如COUNT(求记录个数)、SUM(求和)、MIN(求最小值)、MAX(求最大值)等。代数的聚集函数:函数可以由一个带m个参数的代数函数计算(m为有界整数),而每个参数值都可以由一个分布的聚集函数求得。例如AVG(求平均值)等。整体的聚集函数:描述函数的子聚集所需的存储没有一个常数界,即不存在一个具有m个参数的代数函数进行这一计算。例如MODE(求最常出现的项)。2.雪花模式(1)雪花模式的基本结构雪花模式(Snowflakeschema)是对星形模式的扩展,每一个维表都可以向外连接多个详细类别表。在这种模式中,维表除了具有星形模式中维表的功能外,还连接对事实表进行详细描述的详细类别表,详细类别表通过对事实表在有关维上的详细描述达到了缩小事实表和提高查询效率的目的,事实表┇维表1┇维表2┇维表3┇维表4┇维表5┇维表6┇雪花模式的基本结构如下:星形模式虽然是一个关系模型,但是它不是一个规范化的模型,在星形模式中,维表被故意地非规范化了,雪花模式对星形模式的维表进一步标准化,对星形模式中的维表进行了规范化处理。雪花模式的特点如

1 / 103
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功