1、第 2 章 数据仓库,第2章 数据仓库,主要内容,数据仓库基本概念,数据仓库体系结构,数据仓库元数据,数据仓库的数据模式,多维分析,高性能物理数据仓库设计,主要内容,数据仓库基本概念,数据仓库体系结构,数据仓库元数据,数据仓库的数据模式,多维分析,高性能物理数据仓库设计,数据仓库基本概念,随着数据库技术的应用普及和发展,人们不再仅仅满足于 一般的业务处理,而对系统提出了更高的要求:提供决策支持 (DSS、OLAP),应用背景及需求,需求 一种面向分析的环境; 一种把相关的各种数据转换成有商业价值的信息的技术。,数据仓库基本概念,从数据库到数据仓库,数据库系统能够很好的用于事务处理,但它对分析处
2、理的支 持一直不能令人满意。特别是当以业务处理为主的联机事务处理 (OLTP) 应用和以分析处理为主的DSS应用共存于一个数据库系 统时,就会产生许多问题。例如,事务处理应用一般需要的是当前数据,主要考虑较短 的响应时间;而分析处理应用需要是历史的、综合的、集成的数 据,它的分析处理过程可能持续几个小时,从而消耗大量的系统 资源。人们逐渐认识到直接用事务处理环境来支持DSS是行不通的。 要提高分析和决策的有效性,分析型处理及其数据必须与操作型 处理及其数据分离。必须把分析型数据从事务处理环境中提取出 来,按照DSS处理的需要进行重新组织,建立单独的分析处理环 境。数据仓库技术正是为了构建这种新
3、的分析处理环境而出现的 一种数据存储和组织技术。,数据仓库基本概念,主要通过以下五点区分开来。 用户和系统的面向性 OLTP是面向顾客的,用于事务和查询处理; OLAP是面向市场的,用于数据分析 数据内容 OLTP系统管理当前数据; OLAP系统管理大量历史数据,提供汇总和聚集机制. 数据库设计 OLTP采用实体-联系ER模型和面向应用的数据库设计; OLAP采用星型或雪花模型和面向主题的数据库设计. 视图 OLTP主要关注一个企业或部门内部的当前数据,不涉及历史数据或不同组织的 数据; OLAP则相反. 访问模式 OLTP系统的访问主要由短的原子事务组成.这种系统需要并行和恢复机制; OLA
4、P系统的访问大部分是只读操作,OLTP(on-line transaction processing)与OLAP(On-Line Analytical Processing)区别,数据仓库基本概念,数据仓库与决策支持系统,用户在进行决策制定时需要得到企业各方面的信息,因此用 户一般首先根据各个业务部门数据库中的数据,创建数据仓库, 存储各种历史信息和汇总信息。对数据仓库的进一步应用由功能强大的分析工具来实现。现 在主要有三类分析工具可用于决策支持。第一类能够支持涉及分组和聚集查询,并能够对各种复杂的 布尔条件、统计函数和时间序列分析提供支持的系统。主要由上 述查询组成的应用称为联机分析处理,即
5、OLAP。在支持OLAP查 询的系统中,数据最好看成是一个多维数组,数据仓库基本概念,数据仓库与决策支持系统,第二类系统仍为支持传统SQL查询的DBMS,但为了有效地 执行OLAP查询而进行了特殊的设计。这些系统可以看作是为决 策支持应用进行了优化的关系数据库系统。许多关系数据库厂商 对他们的产品进行了扩展,并且随着时间的推移,专门的OLAP 系统和支持决策支持的关系数据库系统之间的差别将逐渐取消,数据仓库基本概念,第三类的分析工具可用于在大量的数据集合中,找到有意义 的数据趋势或者模式,而不是上面提到的复杂数据查询。在数据 分析过程中,尽管分析者能够判定得到的数据模式是否有意义, 但是生成查
6、询来得到有意义的模式还是很困难的。例如,分析者 查看信用卡使用记录,希望从中找出不正常的信用卡使用行为, 以表明是被滥用的丢失的信用卡;商人希望通过查看客户记录找 出潜在的客户来提高收益。许多应用涉及的数据量很大,很难用 人工分析或者传统的统计分析方法进行分析,数据挖掘的目的就 是对这种大量数据的分析提供支持。,数据仓库与决策支持系统,数据仓库基本概念,数据仓库定义及特征,数据仓库理论的创始人W.H.Inmon在其 Building the Data Warehouse一书中,给出了数据仓库的四个 基本特征:面向主题,数据是集成的,数据是不可更新的,数据是随时间不断变化。,数据仓库基本概念,数
7、据仓库定义及特征,面向主题,主题是在较高层次上对数据抽象;面向主题的数据组织分为两步骤:-抽取主题;-确定每个主题所包含的数据内容每个主题在数据仓库中都是由一组关系表实现的,数据仓库基本概念,数据仓库定义及特征,面向主题,数据库,数据库,面向应用,面向主题,汽车,人寿,健康,意外伤害,主题-顾客,主题-保单,主题-索赔,主题-保费,数据仓库基本概念,数据仓库定义及特征,集成的,数据仓库的数据是从原有的分散数据库数据中抽取来的需要消除数据表述的不一致性(数据的清洗)数据的综合,数据仓库基本概念,数据仓库定义及特征,集成的,数据库环境,数据仓库环境,应用A 1, 0 应用B 男,女 应用C Y,N
8、,集成,映射 编码,多维数据库 男,女,应用A CM 应用B Inches 应用C CM,映射 转换,多维数据库 CM,数据仓库基本概念,数据仓库的主要数据操作是查询、分析;不进行一般意义上的数据更新(过期数据可能被删除)数据仓库强化查询、淡化并发控制和完整性保护等技术.,数据仓库定义及特征,不可更新的,数据仓库基本概念,数据仓库定义及特征,不可更新的,Insert、Update、Delete Select,数据库环境 数据的逐个记录方式处理,数据仓库环境 数据的批量载加载,存取,ETL,访问,数据仓库基本概念,不断增加新的数据内容;不断删除旧的数据内容;定时综合;数据仓库中数据表的键码都包含
9、时间项,以标明数据的历史时期,数据仓库定义及特征,随时间变化的,数据仓库基本概念,数据仓库定义及特征,随时间变化的,数据库环境,数据仓库环境,时间期限:当前到30-60天 记录更新 包含或者不包含时间概念,时间期限:年 数据的复杂快照 包含时间概念,主要内容,数据仓库基本概念,数据仓库体系结构,数据仓库元数据,数据仓库的数据模式,多维分析,高性能物理数据仓库设计,数据仓库体系结构,用户,可视化工具集,多维分析工具,数据挖掘工具,多维数据,数据仓库,源数据,源数据,源数据,源数据,源数据,数据来源,数据仓库层,数据仓库 工具层,数据仓库层次结构,RDBMS,数据文件,其他,综合数据,当前数据,历
10、史数据,元数据,抽取、转换、装载,数据仓库,OLAP工具,DM工具,查询工具,分析工具,数据源,数据仓库体系结构,数据仓库体系结构,数据仓库体系结构实例-税务数据仓库,增量抽取,完全抽取,计 算,映 射,清 洗,业务要求,数据要求,抽 取,转 换,加 载,数据仓库,数据加载,异常情况处理及回退机制,作业控制管理,数据仓库体系结构,数据仓库体系结构实例-税务数据仓库-ETL,OLTP系统,RDBMS Sybase,ORACLE,SAP/ERP,5-10 年,过去 详细数据,当前 详细数据,轻度 汇总数据,高度 汇总数据,数据集市,分析型CRM,业务指标分析,数据仓库,数据仓库/决策分析系统,EX
11、CEL,数据仓库数据的组织,数据仓库体系结构,数据由操作型环境(综合)导入数据仓库数据具有不同的细节早期细节级(过期数据)当前细节级轻度综合数据级(数据集市)高度综合数据级,数据仓库数据的组织,数据仓库体系结构,数据仓库体系结构,采购子系统:订单(订单号,供应商号,商品号,类别,单价。数量,总金额,日期, )供应商(供应商号,供应商名,地址,电话,)销售子系统:客户(客户号,姓名,地址,电话, )销售(客户号,商品号,数量,单价,日期, )库存子系统:进库单(编号,商品号,数量,单价,日期, )出库单(编号,商品号,数量,单价,日期, )库存(商品号, 库房号,类别,单价,库存数量, 总金额,
12、日期, ),数据库系统模式(操作型数据),数据仓库体系结构,商品固有信息:商品号,类别,单价,颜色,商品采购信息:商品号,类别,供应商号,供应日期,单价,数量,商品销售信息:商品号,客户号,数量,单价,销售日期, 商品库存信息:商品号, 库房号,库存数量,日期, ),采购子系统,销售子系统,库存子系统,面向主题的数据仓库数据模式,数据仓库体系结构,1996-2002年 销售明细表,20032009年 销售明细表,20032009年 每月销售表,20032009年 每季度销售表,数据仓库中的数据组织数据仓库中的数据分为四个级别:早期细节级,当前细节级,轻度综合级,高度综合级。,数据仓库体系结构,
13、DW中还有一类重要的数据:元数据(metadata)。元数据是“关于数据的数据”(RDBMS中的数据字典就是一种元数据)。数据仓库中的元数据描述了数据的结构、内容、索引、码、数据转换规则、粒度定义等。,关于元数据,在数据仓库系统中,元数据可以帮助数据仓库管理员和 数据仓库的开发人员非常方便地找到他们所关心的数据。在 数据仓库系统中,元数据机制主要支持以下五类系统治理功能:1 描述哪些数据在数据仓库中;2 定义要进入数据仓库中的数据和从数据仓库中产生的数据;3 记录根据业务事件发生而随之进行的数据抽取工作时间安排;4 记录并检测系统数据一致性的要求和执行情况;5 衡量数据质量。,数据仓库体系结构
14、,元数据作用及功能,数据仓库体系结构,粒度 是指数据仓库的数据单位中保存数据的细化或综合程度的级别 粒度级越小,细节程度越高,综合程度越低,回答查询的种类越多 粒度影响数据仓库中数据量的大小 粒度问题是设计数据仓库的一个重要方面 双重粒度 在数据仓库的细节级上创建两种粒度 短期储存的低粒度(真实档案),满足细节查询 具有综合的高粒度(轻度综合),做分析,数据仓库的数据组织,数据仓库体系结构,分割是指把数据分散到各自的物理单元中去,以便能分别独立处理,提高数据处理效率。是粒度之后的第二个主要设计问题两个层次的分割 系统层:DBMS,一种定义 应用层:开发者,多种定义多种分割的标准 日期:最常用的
15、 地理位置 组织单位.,数据仓库体系结构,数据仓库的数据组织,数据仓库体系结构,主要内容,数据仓库基本概念,数据仓库体系结构,数据仓库元数据,数据仓库的数据模式,多维分析,高性能物理数据仓库设计,数据仓库元数据管理,元数据对数据仓库功能的支持:数据仓库内容的描述;定义数据抽取和转换;基于商业事件的抽取调度;描述数据同步需求;衡量数据质量指标,元数据对数据仓库功能的支持:(一) 数据仓库内容的描述描述数据仓库中的各种复杂关系; (1) I/O对象:支持数据仓库I/O操作的各种对象。例如,装入到数据仓库中的源系统文件及可被用户访问表的数据均为I/O对象。元数据要描述该I/O对象的定义、类型、状态、
16、存档(刷新)周期以及引发初始存档的事件。 (2) 关系:两个I/O对象之间的关联。这种关联分为一对一、一对多和多对多三种类型。在实际工作中,一般只考虑两种类型。即一对一和一对多的关系,多对多可以用多个一对多来表示。 (3)关系成员 描述每个关系中I/O对象的具体角色(在一对多中是父亲还是儿子)、关系度(是一对一还是一对多)及约束条件(是必须满足还是可选关系)。,数据仓库元数据管理,(4)关系关键字 描述两个I/O对象是如何建立关联的。每个关系都是通过I/O对象 的关键字来建立的,元数据要指明建立每个关系相应对象的关键字。 (5)域分配 将实际数据元素与I/O对象的某个域相关联。除了常规的域特征
17、外,还 要说明每个域的所属源系统及访问日期。这两个特征对数据仓库都是非常重要的 (6)数据元素 描述数据仓库中基本单元(字段级)的特征。这些特征包括定义、类 型、长度、值域标识等。数据元素要能支持多媒体的大二进制对象。元数据描述了数据仓库中有什么数据及数据间的关系,它们是用户使用和系 统管理数据仓库的基础。基于这种组织的元数据可以开发出各种通用的用户接 口,用来支持用户从数据仓库中获取数据。用户可以提出所需的表,系统从中选 择表并得到表之间的关系,重复这个过程直到用户得到他们希望的数据。不仅 如此,系统还有对某一特殊表(I/O对象)及域信息的描述功能。用这种形式组织 的元数据有利于数据仓库的扩
18、充,因此不必修改已存在的软件就可在数据仓库 中增加新表。,数据仓库元数据管理,元数据对数据仓库功能的支持 (一)数据仓库内容的描述:描述数据仓库中的各种复杂关系,(二)定义数据抽取和转换,数据仓库元数据管理,元数据对数据仓库功能的支持,从源系统数据到数据仓库中目标数据的转移是一项复杂工作,其工作量占整个 数据仓库开发的80%。这里主要涉及到以下两个问题: (1) 抽取工作间的复杂关系,一个抽取要经过许多步骤 获取:从外部或内部源数据系统中获取对决策支持系统用户有用的数据。 过滤:过滤掉不需要的内容(如上次抽取后一直没有改变的数据)。 验证:从DSS用户的角度验证数据的质量。 融合:将本次抽取的
19、数据与数据仓库中的数据进行融合; 综合:对数据进行综合,生成概要级数据。 装载:把新数据装入到数据仓库中。 存档:把新装入的数据单独存为一个文件,以便减少更新操作的数据量。,(2)源数据与目标数据之间的映射是一种复杂的多对多关系。元数据要能够描述这些限制 所带来的一系列问题。这组元数据要定义的内容有以下几点: 抽取工作:描述每个抽取工作,并为其标识源系统。每一抽取都应有一个刷新类型代码, 一般有四种刷新类型,包括全仓库替换、全仓库附加、更新替换、更新追加。另外对每 一抽取都要明确其刷新周期(两次抽取之间的间隔)和初始触发事件(系统环境中激活第一 次抽取的事件)。 抽取工作步:定义抽取工作中的步
20、骤包括说明每一步的类型(如过滤、验证等)及其作业控 制语言(Job Control Languge,TCL),JCL用来初始化抽取工作步。 抽取表映射:为每个抽取工作步建立输入文件/表和输出文件/表之间的关联。它应提供两 种类型的属性以满足抽取工作的特殊处理要求。一类是过程的输入数据集合;另一类是数 据处理过程标识及其参数。这些属性用来自动生成程序代码以完成相应抽取工作步。 抽取域映射:为每个抽取工作步建立输入表(文件)的域与输出表(文件)的域之间的关联。 其定义的内容与抽取表类似,但是处理的粒度是表中的每个域。,(二)定义数据抽取和转换,数据仓库元数据管理,元数据对数据仓库功能的支持,记录筛
21、选规则:提供一种过滤机制,以在抽取工作的每一步骤中进行记录的筛选。 如下是一个规则的例子: IF Record.Last_Update_Date2010_09_01 OR Record.Create_Date 2010_09_01 THEN Reserve(保留)ELSE Delete(删除) 这组元数据可以用来生成源代码以完成数据的转换工作,即完成由操作型数据转 换生成以特殊形式存放的、面向主题的数据仓库数据。元数据中的抽取表映射 和抽取域映射定义了进行实际抽取转换工作的过程。数据仓库管理核心是:利用 该组元数据所定义的抽取过程生成某种语言的源代码,然后编译成可执行的程序 以完成数据的抽取工
22、作。其核心也可直接以解释的方式从元数据存储中读出每 个抽取步的处理过程,从而进行数据转换。,(二)定义数据抽取和转换,数据仓库元数据管理,元数据对数据仓库功能的支持,(三)基于商业事件的抽取调度,数据仓库元数据管理,元数据对数据仓库功能的支持,抽取调度(Extract Schedule)是指数据抽取的时间安排,即什么时间进行从源数据到 数据仓库的抽取工作。抽取调度的合理与否对整个数据仓库的有效正常运行影响 很大。元数据必须对数据的抽取安排加以说明。基于商业事件抽取调度的元数据 要定义的内容有以下几点: 事件:指在公司中能够引发对数据进行处理的各种情况。其中有些是周期性的,有些是预先安排的,而有
23、些则是突发事件。 事件依赖:事件之间的关系及描述这些关系的时间规律性和特征。一般要指明主事件和从事件以及两者的时间间隔和最大容忍时间。 事件日志:刻画了事件发生的时间安排,即指明事件的调度周期。系统应允许用户定义事件及相应的调度。 抽取调度:对一个事件响应后必须完成的对数据抽取工作的安排。抽取调度把事件和相应的抽取工作联系起来。 抽取日志:对每次抽取工作进行记录,并记下相关的引发抽取事件及抽取调度。抽取日志可以用来维护系统工作,如输入和输出工作。 时间戳日志:记录下各表被抽取的时间及表中被更新的数据。时间戳日志可以用来与系统数据进行比较以引发抽取工作。,数据仓库元数据管理,元数据对数据仓库功能
24、的支持,(四) 描述数据同步需求,在一个公司各部门间的数据协调中,时间是一个关键因素。上述的抽取调度 是针对熟悉公司各部门之间数据同步关系的用户而言的。对不熟悉的用户,则 需要进一步利用元数据来帮助用户理解数据及数据处理的同步关系,以免误用 数据。尤其当数据仓库中涉及到复杂关系的数据而且抽取调度受多个事件制约 时,这种附加数据就更不可缺少。时间的元数据要定义的内容主要有:同步视图:为支持不同级别用户而标识同步数据的时间规则。同步视图可 定义为一个特殊功能视图的名称和描述以及该视图中的一系列表,每个表与有 关的事件相关联。同步实例:当实际事件发生时,记录下不同系统同步数据集合的更新轨迹。 当一个
25、同步视图中的数据都已满足时,元数据管理机制就提醒用户可用的数据 已经准备好,系统在抽取调度后生成同步实例。,数据仓库元数据管理,元数据对数据仓库功能的支持,(五) 衡量数据质量,数据仓库把数据从源事务系统移到数据仓库中的目的是用于决策支持。这 就对数据质量提出了新的要求。若忽视这个问题,则意味着在“坏“数据上做决策, 其风险可想而知。保证质量的第一步是建立支持商业目标的数据质量期望标准, 以及达不到该标准所需冒风险的大小。下面是一组衡量数据质量的公共参数,包 括准确性、完整性、一致性、相关性、时间性、唯一性、有效性。在评价体系 确定以后,问题往往变为是否把有质量问题的数据放进数据仓库中。这一般
26、由 应用本身决定。对甲用户有用的数据未必对乙用户也有用。因此元数据必须提 供一个机制,即针对特定应用并根据用户确立的数据容忍程度来提醒用户是否采 用该数据进行决策。,数据质量的元数据要定义的内容有以下几点: 目标质量特征:是针对DSS应用的某一数据域质量评价的期望尺度,其基本属性是目标特征值。 实际质量特征:是针对DSS应用的某一数据域质量评价的实际尺度,其基本属性是实际特征值。 用户描述的VV&C:针对DSS应用需求,从VV&C(验证、有效、证实)对数据质量进行衡量。 用户功能:周期地检查针对某一应用的数据是否满足VV&C或目标质量的要求。 另外,这组元数据也应从结构上提供记录一级的管理,用
27、以保证数据质 量,消除因不适当使用数据所带来的不一致。,数据仓库元数据管理,元数据对数据仓库功能的支持,(五) 衡量数据质量,数据仓库元数据管理,元数据分类,技术元数据业务元数据,技术元数据是存储关于数据仓库系统技术细节的数据,是用 于开发和治理数据仓库使用的数据。描述和设计如何访问和处理 数据,包括查询、汇总、递交等。它主要包括以下信息:1 数据仓库结构的描述,包括仓库模式、视图、维、层次结 构和导出数据的定义,以及数据集市的位置和内容;2 业务系统、数据仓库和数据集市的体系结构和模式;3汇总用的算法,包括度量和维定义算法,数据粒度、主题领 域、聚集、汇总、预定义的查询与报告;4 由操作环境
28、到数据仓库环境的映射,包括源数据和它们的内 容、数据分割、数据提取、清理、转换规则和数据刷新规则、安全 (用户授权和存取控制)。,技术元数据,数据仓库元数据管理,技术元数据示例:用户报表和查询访问模式、频率和执行时间;审计控制和负载平衡信息;数据的技术结构;提供给DSS的记录系统;源数据字段标识;从操作型记录系统到DSS的映射与转换;编码/引用表转换;物理和逻辑数据模型;DSS表名、键和索引;域值; DSS表结构和属性;数据模型和DSS之间的关系;操作型系统的表结构和属性;抽取历史;DSS表访问模式;DSS归档;工作相关性;程序名和描述;版本维护;安全性;清洗规则等。,数据仓库元数据管理,业务
29、元数据从业务角度描述了数据仓库中的数据,它提供了 介于使用者和实际系统之间的语义层,使得不懂计算机技术的业 务人员也能够“读懂”数据仓库中的数据。业务元数据为DSS分析人员提供了访问DSS底层的数据仓库和 数据集市中信息的线路图。,业务元数据,数据仓库元数据管理,业务元数据主要包括以下信息:使用者的业务术语所表达的数据模型、对象名和属性名;访问数据的原则和数据的来源;系统所提供的分析方法以及公式和报表的信息;具体包括以下信息:1企业概念模型:这是业务元数据所应提供的重要的信息,它表示企业数据模型的高层信息、整个企业的业务概念和相互关系。以这个企业模型为基础,不懂数据库技术和SQL语句的业务人员
30、对数据仓库中的数据也能做到心中有数。2多维数据模型:这是企业概念模型的重要组成部分,它告诉业务分析人员在数据集市当中有哪些维、维的类别、数据立方体以及数据集市中的聚合规则。这里的数据立方体表示某主题领域业务事实表和维表的多维组织形式。3业务概念模型和物理数据之间的依靠:以上提到的业务元数据只是表示出了数据的业务视图,这些业务视图与实际的数据仓库或数据库、多维数据库中的表、字段、维、层次等之间的对应关系也应该在元数据知识库中有所体现。,业务元数据,数据仓库元数据管理,业务数据示例:业务分析员了解的数据结构(与技术用户比较,产品体系对 于业务用户的意义有所不同);DSS中信息的常见访问例程;主题领
31、域(例如产品、客户、销售等);表名的业务定义;属性名和业务术语的定义;数据质量的统计信息;DSS字段映射、转换和概要;下钻、上钻、钻过和钻透的规则;域值;数据负责人;数据位置;DSS刷新日期等。,业务元数据,数据仓库元数据管理,元数据源,元数据存储,元数据用户,ETL工具/处理过程,数据建模工具,业务人员/文档,生产系统应用,数据质量工具,其他元数据源,报表和OLAP工具,版本控制/权限管理,数据仓库元数据,技术元数据,业务元数据,操作元数据,业务用户,管理员,开发人员,关于元数据,数据仓库元数据管理,数据仓库元数据管理,元数据主要工具,主要内容,数据仓库基本概念,数据仓库体系结构,数据仓库元
32、数据,数据仓库的数据模式,多维分析,高性能物理数据仓库设计,多维数据建模以直观的方式组织数据,并支持高性能的数据 访问。每一个多维数据模型由多个多维数据模式表示,每一个多 维数据模式都是由一个事实表和一组维表组成的。多维模型最常 见的是星形模式。在星形模式中,事实表居中,多个维表呈辐射 状分布于其四周,并与事实表连接。 在星型的基础上,发展出雪 花模式。,数据仓库的数据模式,数据仓库的数据模式,星型模式(Star Schema)事实表(fact table),存放基本数据,相关主题的数据主体(BCNF)维(dimension),影响、分析主体数据的因素量(measure),事实表中的数据属性维
33、表(dimension table),表示维的各种表维是量的取值条件,维用外键表示以事实表为中心,加上若干维表,组成星型数据模式例:产品-商店-销售额,CustSales,LocationSales,ProdSales,TimeSales,Sales,time id,product id,location id,customer id,sales revenue,units sold,Product,product id,make,model,Time,time id,date,year,quarter,month,week,Location,location id,region,distri
34、ct,store,Customer,customer id,category,group,Sales fact,Sales measures,Time dimension,Attributes of the time dimension,数据仓库的数据模式,星型模式,位于星形中心的实体是指标实体,是用户最关心的基本实体 和查询活动的中心,为数据仓库的查询活动提供定量数据。每个 指标实体代表一系列相关事实,完成一项指定的功能。位于星形 图星角上的实体是维度实体,其作用是限制用户的查询结果,将 数据过滤使得从指标实体查询返回较少的行,从而缩小访问范围。 每个维表有自己的属性,维表和事实表通过关键字
35、相关联。星形模式虽然是一个关系模型,但是它不是一个规范化的模 型。在星形模式中,维度表被故意地非规范化了,这是星形模式 与OLTP系统中的关系模式的基本区别。 使用星形模式主要原因:提高查询的效率。采用星形模式设计 的数据仓库的优点是由于数据的组织已经过预处理,主要数据都 在庞大的事实表中,所以只要扫描事实表就可以进行查询,而不必 把多个庞大的表联接起来,查询访问效率较高。同时由于维表一 般都很小,甚至可以放在高速缓存中,与事实表作连接时其速度较 快;便于用户理解。对于非计算机专业的用户而言,星形模式比较 直观,通过分析星形模式,很容易组合出各种查询。,数据仓库的数据模式,星型模式,数据仓库的
36、数据模式,雪花模式(Snowflake Schema)维一般是由若干层次组成 把维按其层次结构表示成若干个表 规范化、节省存储空间 但需多做连接操作,定单号 销售员号 客户号 产品号 日期标识 地区名称 数量 总价,定单号 定货日期,客户号 客户名称 客户地址,销售员号 姓名 城市,产品号 产品名称 单价,日期标识 日 月 年,地区名称 省,事实表,雪花模式,产品号 公司代码,公司代码 公司名称 地址,雪花模式(Snowflake Schema),数据仓库的数据模式,雪花模式是对星形模式维表的进一步层次化,将某些维表扩 展成事实表,这样既可以应付不同级别用户的查询,又可以将源 数据通过层次间的
37、联系向上综合,最大限度地减少数据存储量, 因而提高了查询功能。,数据仓库的数据模式,星模式与雪花模式的区别,主要内容,数据仓库基本概念,数据仓库体系结构,数据仓库元数据,数据仓库的数据模式,多维分析,高性能物理数据仓库设计,1.切片和切块(Slice and Dice) 在多维数据结构中,按二维进行切片,按三维进行切块,可得到所需要的数据。如在“城市、产品、时间”三维立方体中进行切块和切片,可得到各城市、各产品的销售情况。 2.钻取(Drill) 钻取包含向下钻取(Drill-down)和向上钻取(Drill-up)/上卷(Roll-up)操作, 钻取的深度与维所划分的层次相对应。 3.旋转(
38、Rotate)/转轴(Pivot) 通过旋转可以得到不同视角的数据。,多维分析,多维分析,OLAP的分析方法(一)切片(slicing)、切块(dicing),按时间维向上钻取,60,按时间维向下钻取,OLAP的分析方法(二)钻取(drill-down),多维分析,OLAP的分析方法(三)旋转,多维分析,多维分析,多维分析方法总结,切片是在一部分维上选定值后,关心数据在剩余维上的数据度量。钻取是改变维的层次,变换分析的粒度;Roll up是在某一维上将 低层次的细节数据概括到高层次的汇总数据;Drill down则相反, 它从汇总数据深入到细节数据进行观察。旋转式改变维的方向,即在表格中重新安
39、排维的位置(如行列互 换)。,主要内容,数据仓库基本概念,数据仓库体系结构,数据仓库元数据,数据仓库的数据模式,多维分析,高性能物理数据仓库设计,高性能物理数据仓库设计,在OLTP环境中,作业(任务)的特征是具有高度选择性 的查询。并且此查询通常不(应该)包含大量的复杂的全表扫 描和连接操作。与此相反,数据仓库和数据集市的查询通常包 含复杂的连接操作和扫描大量的数据,并且这些查询往往包含 重复的成分。例如,某个用户想查看各销售区域的收入。另一 个用户可能希望查看在所有区域中产品A的销售量在各区销售 收入中所占的比例。某个查询都包含扫描整个销售表格以分组 区域数据,并计算区域总量。在这样的环境中
40、数据并行化和非规格化是实行高性能计算 的主要技巧(技术)。当然索引也是必需考虑的问题。,高性能物理数据仓库设计,非规格化数据,非规格化数据仓库的两个主要优势:1 能够提高多个数量级的查询响应时间;因为大型的,长时间的表格扫描或复杂的连接可以被简单 地查找预先计算出来的结果所取代;2 将使系统资源被更加有效地利用;能够大量减少为获得某个特定查询的结果而需要处理的工 作量。,非规格化数据仓库一般方法:预聚集、列复制、预连接,高性能物理数据仓库设计,非规格化数据,非规格化数据的三种技巧,1 预聚集将一个聚集函数(例如求和求平均)的结果存储以被后用 的方法称为预聚集;该方法在数据库中也经常使用,因为这
41、些 聚集函数的计算往往需要扫描大量的记录,将他们计算一次后 就存储在数据库中以便后续使用是非常实际的方法。例如在税 务系统中经常将每月税收总计和平均存储在特定的表中。在数 据仓库中,一般将详细数据进行汇总。,高性能物理数据仓库设计,非规格化数据,非规格化数据的三种技巧,2 列复制当用户经常进行连接操作时,为了较少连接的代价,将经常 连接的两个或者多个表合并。,高性能物理数据仓库设计,非规格化数据,非规格化数据的三种技巧,3 预连接是列复制的极端情况。列复制只是将某个表的一列或者几 列复制到一个表中。预连接时将某个表中的所有列复制到一个 表中。就是说用指定的连接键来连接两个(多个)表格,并将 连
42、接结果存储在一个表中。表扫描的代价显然要比表连接的代 价小。,高性能物理数据仓库设计,非规格化数据,非规格化数据的三种技巧,非规格化的代价:增加了磁盘容量;非规格化本身需要大量的计算和合并代价; 增加了数据仓库的刷新代价。对于那些查询需要非规格化需要在实际应用用加以验证和改 进,也就是说与应用环境有关。,高性能物理数据仓库设计,并行数据处理,数据库的并行处理集中反映在对事务的并行处理和数据的分布存储两个方面。事务的并行处理通过利用多处理器并行和单处理器多进程(线程)并行,大大提高数据库系统的处理能力。与此相适应,将数据库在多个磁盘上分布存储,可以利用多个处理器对磁盘数据进行并行处理,从而解决磁
43、盘I/O瓶颈。,高性能物理数据仓库设计,类型划分,无共享型 共享内存型 共享磁盘型,共享内存,共享磁盘,磁盘,磁盘,磁盘,内存,内存,内存,CPU,CPU,CPU,磁盘,磁盘,磁盘,内存,内存,内存,网络,网络,网络,CPU,CPU,CPU,CPU,CPU,CPU,SN:Shared Nothing,SM:Shared Memory,SD:Shared Disk,SM:处理器之间的通信通过共享内存,数据处理算法比较简单。最大的问题是难以扩展,SD:消除了SM的问题,将所有处理器连接到磁盘上,磁盘成为可扩展性的障碍。,SN:消除了SM、SD存在的问题,可扩展性最好,网络成为主要瓶颈。,瓶颈,SM,内存,SD,磁盘,SN,网络,类型,高性能物理数据仓库设计,并行数据处理,多数文献将数据放置归类于静态负载均衡类。研究将关系划分并放置到群集 的多个节点。数据划分是查询处理并行化的基础,研究表明,数据划分对并 行数据处理系统的性能具有非常重大的影响。数据放置的均衡性是决定系统 效率的关键因素之一。,高性能物理数据仓库设计,并行数据处理,