第2章数据仓库及其设计.pptx
- 文档编号:15122889
- 上传时间:2023-07-01
- 格式:PPTX
- 页数:103
- 大小:3.70MB
第2章数据仓库及其设计.pptx
《第2章数据仓库及其设计.pptx》由会员分享,可在线阅读,更多相关《第2章数据仓库及其设计.pptx(103页珍藏版)》请在冰点文库上搜索。
第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.关系数据库,在基于关系数据库的数据仓库中有两类表,一类是维表,对每个维至少使用一个表存放维的层次、成员等维的描述信息;另一类是事实表,用来存放维关键字和度量等信息。
维表和事实表通过主关键字(主键)和外关键字(外键)联系在一起。
多维数据立方体各个坐标轴上的刻度以及立方体各个交点的取值都被记录下来,因而数据立方体的全部信息就都被记录了下来。
例如,下表是一个关系表的数据组织形式,其中包含按产品和地区两项分类统计的销售量。
2.多维数据库,多维数据库也是一种数据库,可以将数据加载、存储到此数据库中,或从中查询数据。
但其数据是存放在大量的多维数组中,而不是关系表中。
例如Excel便是如此。
例如,上一个表采用多维数据库的数据组织形式如下表所示。
在关系数据库中,“多对多”的关系总是转化成多个“一对多”的关系,有利于数据的一致性和规范化,这符合事务处理系统的需求。
多维数据库的优势不仅在于多维概念表达清晰,占用存储少,更重要的是它有着高速的综合速度。
在多维数据库中,数据可以直接按行或列累加,并且由于多维数据库中不像关系表那样出现大量的冗余信息,因此其统计速度远远超过关系数据库,数据库记录数越多,其效果越明显。
2.3.3数据仓库建模的主要工作,1.在需求分析上,确定系统所包含的主题域并加以描述,主题选取的原则是优先实施管理者目前最迫切需求、最关心的主题。
主题内容的描述包括主题的公共键、主题之间的联系和各主题的属性。
例如,若以顾客为主题,则设计的相关主题内容的描述如下:
基本信息:
顾客号、顾客姓名、性别、年龄、文化程度、住址、电话经济信息:
顾客号、年收入、家庭总收入公共键:
顾客号,2.确定事实表的粒度,事实表的粒度能够表达数据的详细程度。
从用途的不同来说,事实表可以分为以下三类:
原子事实表:
是保存最细粒度数据的事实表,也是数据仓库中保存原子信息的场所。
聚集事实表:
是原子事实表上的汇总数据,也称为汇总事实表。
合并事实表:
是指将位于不同事实表中处于相同粒度的事实进行组合建模而成的一种事实表。
3.确定数据分割策略,分割是指把逻辑上是统一整体的数据分割成较小的、可以独立管理的物理单元进行存储,以便能分别处理,从而提高数据处理的效率。
分割可以按时间、地区、业务类型等多种标准来进行,也可以按自定义标准,分割之后小单元的数据相对独立,处理起来更快更容易。
但在多数情况下,数据分割采用的标准不是单一的,而是多个标准的组合。
4.构建数据仓库中各主题的多维数据模型及其联系,由于数据仓库目前大多是使用关系数据库来实现的,所以本章主要讨论基于关系数据库的数据仓库建模方法。
2.3.4几种常见的基于关系数据库的多维数据模型,1.星形模式,星形模式(Starschema)是由一个事实表和一组维表组成,每个维表都有一个维主键,所有这些维组合成事实表的主键,换言之,事实表主键的每个元素都是维表的外键。
该模式的核心是事实表,通过事实表将各种不同的维表连接起来,各个维表都连接到中央事实表。
(1)星形模式的基本结构,星形模式的基本结构如下:
星形模式的特点如下:
维度表只与事实表关联,维度表彼此之间没有任何联系。
每个维度表中的主码都只能是单列的,同时该主码被放置在事实数据表中,作为事实数据表与维表连接的外码。
星型模式是以事实表为核心,其他的维度表围绕这个核心表呈星型状分布。
【例2.1】一个“销售”数据仓库的星形模式如图2.5所示。
该模式包含一个中心事实表“销售事实表”和4个维表:
时间维表、销售商品维表、销售地点维表和顾客维表。
在销售事实表中存储着四个维表的主键和两个度量“销售量”和“销售金额”。
(2)维表设计,维表用于存放维信息,包括维的属性(列)和维的层次结构。
一个维用一个维表表示。
维表通常具有以下数据特征:
维通常使用使用解析过的时间、名字或地址元素,这样可以使查询更灵活。
例如时间可分为年份、季度、月份和时期等,地址可用地理区域来区分,如国家、省、市、县等。
维表通常不使用业务数据库的关键字作为主键,而是对每个维表另外增加一个额外的字段作为主键来识别维表中的对象。
在维表中新设定的键也称为代理键。
维表中可以包含随时间变化的字段,当数据集市或数据仓库的数据随时间变化而有额外增加或改变时,维表的数据行应有标识此变化的字段。
维表中维的类型:
结构维信息维分区维分类维退化维一致维父子维,在数据仓库的逻辑模型设计中,有一些维表是经常使用的,它们的设计形成了一定的设计原则,如时间维、地理维、机构维和客户维等,所以在设计维表时应遵循这些设计原则。
又例如,数据仓库存储的是系统的历史数据,业务分析最基本的维度就是时间维,所以每个主题通常都有一个时间维。
(3)概念分层,维表中维一般包含着层次关系,也称为概念分层,如在时间维上,按照“年份季度月份”形成了一个层次,其中年份、季度、月份成为这个层次的三个级别。
概念分层的作用如下:
概念分层为不同级别上的数据汇总提供了一个良好的基础。
综合概念分层和多维数据模型的潜力,可以对数据获得更深入的洞察力。
通过在多维数据模型中,在不同的维上定义概念分层,使得用户在不同的维上从不同的层次对数据进行观察成为可能。
多维数据模型使得从不同的角度对数据进行观察成为可能,而概念分层则提供了从不同层次对数据进行观察的能力;结合这两者的特征,我们可以在多维数据模型上定义各种OLAP操作,为用户从不同角度不同层次观察数据提供了灵活性。
(4)事实表设计,事实表是多维模型的核心,是用来记录业务事实并作相应指标统计的表,同维表相比,事实现具有如下特征:
记录数量很多,因此事实表应当尽量减小一条记录的长度,避免事实表过大而难于管理。
事实表中除度量外,其他字段都是维表或中间表(对于雪花模式)的关键字(外键)。
如果事实相关的维很多,则事实表的字段个数也会比较多。
在查询事实表时,通常使用到聚集函数,一个聚集函数从多个事实表记录中计算出一个结果。
度量可以根据其所用的聚集函数分为三类:
分布的聚集函数:
将这类函数用于n个聚集值得到的结果和将函数用于所有数据得到的结果一样。
例如COUNT(求记录个数)、SUM(求和)、MIN(求最小值)、MAX(求最大值)等。
代数的聚集函数:
函数可以由一个带m个参数的代数函数计算(m为有界整数),而每个参数值都可以由一个分布的聚集函数求得。
例如AVG(求平均值)等。
整体的聚集函数:
描述函数的子聚集所需的存储没有一个常数界,即不存在一个具有m个参数的代数函数进行这一计算。
例如MODE(求最常出现的项)。
2.雪花模式,
(1)雪花模式的基本结构,雪花模式(Snowflakeschema)是对星形模式的扩展,每一个维表都可以向外连接多个详细类别表。
在这种模式中,维表除了具有星形模式中维表的功能外,还连接对事实表进行详细描述的详细类别表,详细类别表通过对事实表在有关维上的详细描述达到了缩小事实表和提高查询效率的目的,,雪花模式的基本结构如下:
星形模式虽然是一个关系模型,但是它不是一个规范化的模型,在星形模式中,维表被故意地非规范化了,雪花模式对星形模式的维表进一步标准化,对星形模式中的维表进行了规范化处理。
雪花模式的特点如下:
某个维表不与事实表直接关联,而是与另一个维表关联。
可以进一步细化查看数据的粒度。
维表和与其相关联的其他维表也是靠外码关联的。
也以事实数据表为核心。
【例2.2】在图2.5的星形模式中,每维只用一个维表表示,而每个维表包含一组属性。
例如,销售地点维表包含属性集Location_id,街道,城市,省,国家。
图2.5,这种模式可能造成某些冗余,例如,可能存在城市、省、国家字段的数据冗余:
101,“解放大道100号”,“武汉”,“湖北省”,“中国”201,“解放大道85号”,“武汉”,“湖北省”,“中国”255,“解放大道205号”,“武汉”,“湖北省”,“中国”,可以对地点维表进一步规范化,如图2.7所示,这样就构成了“销售”数据仓库的雪花模式。
图2.7,
(2)雪花模式和星形模式的比较,3.事实星座模式,
(1)事实星座模式的基本结构,通常一个星形模式或雪花模式对应一个问题的解决(一个主题),它们都有多个维表,但是只能存在一个事实表。
在一个多主题的复杂数据仓库中可能存放多个事实表,此时就会出现多个事实表共享某一个或多个维表的情况,这就是事实星座模式(FactConstellationsschema)。
【例2.3】在图2.5的星形模式的基础上,增加一个供货分析主题,包括供货时间(Time_id)、供货商品(Item_id)、供货地点(Locate_id)、供应商(Supplier_id)、供货量和供货金额等属性。
设计相应的供货事实表,对应的维表有时间维表、商品维表、地点维表和供应商维表,其中前三个维表和销售事实表共享,对应的事实星座模式如图2.8所示。
图2.8,
(2)三种模式的关系,2.4数据仓库的物理模型设计,设计数据仓库的物理模型时,要求设计人员必须做到以下几方面:
构建数据仓库的物理模型与所选择的数据仓库开发工具密切相关。
这个阶段所做的工作是确定数据的存储结构,确定索引策略和确定存储分配等。
要全面了解所选用的数据仓库开发工具,特别是存储结构和存取方法。
了解数据环境、数据的使用频度、使用方式、数据规模以及响应时间要求等,这些是对时间和空间效率进行平衡和优化的重要依据。
了解外部存储设备的特性,如分块原则,块大小的规定,设备的I/O特性等。
2.4.1确定数据的存储结构,一个数据仓库开发工具往往都提供多种存储结构供设计人员选用,不同的存储结构有不同的实现方式,各有各的适用范围和优缺点。
设计人员在选择合适的存储结构时应该权衡三个方面的主要因素:
存取时间、存储空间利用率和维护代价。
同一个主题的数据并不要求存放在相同的介质上。
在物理设计时,常常要按数据的重要程度、使用频率以及对响应时间的要求进行分类,并将不同类的数据分别存储在不同的存储设备中。
重要程度高、经常存取并对响应时间要求高的数据就存放在高速存储设备上,如硬盘;存取频率低或对存取响应时间要求低的数据则可以放在低速存储设备上,如磁盘或磁带。
常用的策略:
合并表组织引入冗余分割表组织生成导出数据,2.4.2确定索引策略,数据仓库的数据量很大,因而需要对数据的存取路径进行仔细的设计和选择。
由于数据仓库的数据都是不常更新的,因而可以设计多种多样的索引结构来提高数据存取效率。
设计人员可以考虑对各个数据存储建立专用的、复杂的索引,以获得最高的存取效率。
2.4.3确定存储分配,许多数据仓库开发工具提供了一些存储分配的参数供设计者进行物理优化处理,例如,块的尺寸、缓冲区的大小和个数等等,它们都要在物理设计时确定。
这同创建数据库系统时的考虑是一样的。
2.5数据仓库的部署和维护,2.5.1数据仓库的部署,完成前面各项工作之后,可以进入数据仓库的部署阶段,主要包括用户认可、初始装载、桌面准备和初始培训。
2.5.2数据仓库的维护,维护数据仓库的工作主要是管理日常数据装入的工作,包括刷新数据仓库的当前详细数据,将过时的数据转化成历史数据,清除不再使用的数据,管理元数据等等。
2.6一个简单的数据仓库SDWS设计示例,2.6.1SDWS的需求分析,某电商的业务销售涵盖全国范围,销售商品有家用电器和通信设备等。
已建有网上销售业务管理系统,可以获取每日销售信息和顾客的基本信息等。
现为该电商建立一个能够提高市场竞争能力的数据仓库SDWS。
分析全国各地区每年、每季度的销售金额。
分析各类商品在每年、每月份的销售量。
分析各年龄层次的顾客的购买商品的次数。
分析2013年1季度各地区各类商品的销售量。
分析2013年各省份各年龄层次的商品购买金额。
分析各产品子类、各地区、各年龄层次的销售量。
其他销售情况分析等。
其主题是电商销售情况分析,包括以下分析功能:
2.6.2SDWS的建模,通过需求分析,确定SDWS采用星形模式。
1.维表设计,设计如下4个维表。
(1)日期维,Dates表结构,Dates维表的数据:
Dates的概念分层,
(2)顾客维,Customers表结构,Customers维表的数据:
Customers的概念分层,(3)地点维,Locates表结构,Locates维表的数据:
Locates的概念分层,(4)商品维,Products表结构,Products维表的数据:
Products维表概念分层,2.事实表设计,Sales表结构,Sales事实表的数据:
SDWS的星形模式,3.元数据设计,描述每个事实表和维表的主题和内容,例如事实表的主题元数据和事实元数据如表2.9和2.10所示,对每个维表也采用类似的描述方式。
对事实表和维表每个属性进行描述,例如,Cust_key元数据的描述如表2.11所示,对每个重要的属性都采用类似的描述方式。
这里的元数据设计主要包含数据仓库中各对象的描述。
表2.9销售主题元数据,2.6.3基于SQLServer2008设计SDWS,1.创建数据仓库分析项目,打开MicrosoftServerBusinessIntelligenceDevelopmentStudio,选择“文件|新建|项目”命令,选中“AnalysisServices项目”,在名称文本框中输入“SDWS”,如图2.20所示,系统建立一个空的SDWS分析项目。
2.定义数据源,假设在SQLServer2008中已创建了一个数据库SDW,包含前面介绍过的维表和事实表及相关数据。
注意,需采用“使用Windows身份验证”创建SDW数据库。
在“解决方案资源管理器”中右击“数据源”并选择“新建数据源”命令,出现“连接管理器”对话框,建立新连接。
3.定义数据源视图,在“解决方案资源管理器”中右击“数据源视图”并选择“新建数据源视图”命令,在出现的对话框中选中关系数据源SDW,单击“下一步”,出现“名称匹配”对话框,默认选中“与主键同名”项,如图2.23所示,单击“下一步”。
出现“选择表和视图”对话框,从左边选中Customers、Dates、Locates、Products和Sales共5个表到右边列表中,如图2.24所示,单击“下一步”,再单击“完成”。
这样就创建好了数据源SDW.dsv。
4.定义维表,在“解决方案资源管理器”中右击“维度”并选择“新建维度”命令,在出现的对话框中选中“使用现有表”,单击“下一步”,选择Dates维表,如图2.25所示。
单击“下一步”,勾选所有属性,如图2.26所示,单击“下一步”,再单击“完成”。
然后选择Dates维度,右击它并选择“属性”命令,在出现的属性对话框中选择Type属性并指定其值为Time,表示它是一个时间维度,如图2.27所示。
在Dates维度的层次结构框中设置各属性的层次结构如图2.28所示。
从Dates维表的数据看到,季度和年份之间的映射关系不准确,2013年和2014年都有1季度,但系统内隐含有“Date_key年份”的属性关系,也就是说通过Date_key和季度就可以唯一确定年份了。
Dates对应数据的概念分层如图2.29所示。
采用同样的步骤建立Customers、Locates和Products维度,这三个维度不需要修改其Type属性。
5.定义多维数据集,在“解决方案资源管理器”中右击“多维数据集”并选择“新建多维数据集”命令,在出现的对话框中选中“使用现有表”,单击“下一步”,出现“选择度量值组表”对话框,勾选Sales为事实表,如图2.30所示。
单击“下一步”,出现“选择度量值”对话框,选择Sales表的“数量”、“金额”和“Sales计数”作为度量,其中“Sales计数”是系统自动添加的,如图2.31所示。
每个度量都对应一个聚集函数,如“数量”度量默认的聚集函数为Sum(求总和),用户可以右击某度量并选择“属性”命令,在出现的“属性”对话框中修改相应的聚集函数,如图2.32所示。
单击“下一步”,出现“选择现的维度”对话框,选择列出的所有维表,如图2.33所示。
单击“下一步”,出现“选择现的维度”对话框,选择列出的所有维表,如图2.33所示,单击“下一步”,再单击“完成”。
这样就建立了一个多维数据集SDW.cube。
6.部署SDWS,通过上述步骤建立的SDWS项目结构如图2.34所示,在“解决方案资源管理器”中右击“SDWS”并选择“部署”命令,系统开始进行部署操作,成功后提示“部署成功完成”信息。
7.浏览已部署的多维数据集,在“解决方案资源管理器”中右击多维数据集SDW.cube,并选择“浏览”命令,即可进行多维分析。
浏览多维数据集的操作方法是,向分析区中拖放相应的行、列字段和汇总字段,系统自动统计相应的报表。
例如,分析全国各地区每年、每季度的销售金额的结果如图2.35所示。
分析各类商品在每年、每月份的销售量的结果如图2.36所示。
分析2013年1季度各地区各类商品的销售量的结果如图2.37所示。
分析各产品子类、各地区、各年龄层次的销售量的结果如图2.38所示。
本章完,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据仓库 及其 设计