数据仓库系统结构模型

上传人:san****019 文档编号:15796046 上传时间:2020-09-06 格式:PPT 页数:69 大小:2.68MB
返回 下载 相关 举报
数据仓库系统结构模型_第1页
第1页 / 共69页
数据仓库系统结构模型_第2页
第2页 / 共69页
数据仓库系统结构模型_第3页
第3页 / 共69页
点击查看更多>>
资源描述
第 4 章,数据仓库系统结构与模型,Inmon数据仓库设计, ,体系结构化环境 三级模型, ,高级模型 中级模型 低级模型,性能优化,目录,数据仓库设计概述, ,与数据库设计的区别 处理类型 应用需求 设计目标 数据来源 设计方法,数据仓库设计概述,数据仓库与数据库设计的区别,处理类型不同, ,数据库系统设计 面向应用来进行设计,根据具体的操作事件和操作对象 (实体)来进行设计; 目的是建立一个操作型的数据环境。 从需求开始,逐步展开 数据仓库设计 面向分析的; 从最基本的主题开始,不断完善已有主题,发展新主 题; 最终建立起一个面向主题的分析型数据环境。,应用需求不同,数据库系统设计 面向明确的应用需求 设计人员能够清晰地了解应用的需求和数据流程 数据仓库设计 很难获得对用户需求的确切了解 应用人员往往是企业的中高层人员 他们自己一开始不知道想看什么,需要引导 后期又想什么东西都看,需要解释,系统设计的目标,数据库系统设计, ,为了进行OLTP处理 通常是对一个或者一组记录的查询和修改,“一次一集合” 主要为企业的特定应用服务的 事务处理响应时间、数据的安全性和完整性是系统的目标,数据仓库设计, ,为了分析决策 主要目标是保证数据的四个特征(面向主题、集成的、稳定的、时 变的),建立起一个全局一致的数据环境,作为企业决策支持的基 础 只有查询而无更新,“一次加载一批” 对响应时间不敏感 数据量大,海量数据,数据来源不同, ,数据库系统设计 数据来源主要是业务操作员的输入 描述如何通过操作员输入获取数据 描述如何将获取的数据按照OLAP的需求合理存放 如何使得OLTP的性能更加优化 如何保证事务处理的安全性 数据仓库设计 数据主要来源于业务系统 主要解决如何从业务系统中得到完整一致的数据 如何对数据进行转换、清洗、综合,ETL 如何有效提高数据分析的效率与准确性,系统设计方法不同,数据库系统设计, ,“需求驱动”; 先收集需求、分析需求,再进行设计和开发; 系统的需求在收集和分析需求阶段之后就定下来了,一旦进入构建 数据库阶段,系统的需求就基本不变了。,数据仓库设计, ,“数据驱动” 从业务系统已经存在的数据出发,获取之后对数据进行集成并检查 数据的准确性 按照分析领域对数据及数据之间的联系重新考察,组织数据仓库中 的主题。 “数据驱动”的系统设计方法的优点是可以通过了解原有数据库系统 中的数据和需要建设的数据仓库中主题的数据的共同性,最大限度 地利用现有系统,减少系统建设的工作量。,开发生命周期-CLDS, ,传统的数据库系统的系统开发生命周期(SDLC)是需 求驱动的,而数据仓库系统的开发生命周期则是数据 驱动的,与SDLC相反,一般写作CLDS,这种写法 没有对应的实际意义,是一种幽默的写法。 CLDS由数据开始,一旦数据到手就集成数据。然 后,如果数据有偏差,就检验看看数据存在什么偏差。 再针对数据写程序,分析程序执行结果。最后,系统 需求才得到了理解。 因此,CASE工具和技术用于数据仓库领域是不合适 的。,数据仓库 / DM 螺旋式方式,业务需求分析,设计,建造,测试,培训,试点,部署,使用运行,监控,维护,确认新需求/改进,实施范围,业务驱动的 需求分析,设计,建造,测试,培训,试点应用,部署,使用,监控,维护,发掘新需求 和改进,两种数据仓库设计,Inmon数据仓库, ,数据库设计的模式 三级模型(高级、中级、低级) 存储:关系数据库,Kimball数据仓库, ,维度建模技术 维度设计/度量设计 存储:多维数据库/关系数据库,两种数据仓库都需要面临的主要设计问题, ,粒度与分割 元数据 ETL 索引,小结, ,数据仓库的设计不同于事务处理的数据库的设计,是 一个循序渐近的过程。 数据仓库的选型是一个非常重要的问题,当前,选用 Kimball数据仓库进行设计是很流行的,因此,实践 中可优先考虑。 面对复杂的数据,基于维度建模技术的Kimball数据 仓库显得无能为力,还需要深入探索,因此,面向复 杂数据类型的数据仓库是目前的研究热点。,数据库设计的三级模型,概念模型, ,从客观世界到主观认识的映射 首先将现实世界抽象为概念模型,然后再用适合计算机世界的模型 和语言来描述 ER图,逻辑模型, ,ER模型关系模型 规范化 视图 约束,物理模型, ,DBMS选型 选择数据库文件的存储结构 索引 分配存储空间,Inmon的三级模型,高级模型(高层模型)(数据库设计-概念模型), ,即概念模型,用E-R图表示 首先将现实世界抽象为概念模型,然后再用适合计算机世界的模型 和语言来描述,中级模型(中层模型)(数据库设计-逻辑模型), ,数据项(Data item set,DIS)模型 ER图的细分 每个主题都与一个DIS对应 DIS中的数据分为4个组别:基本数据组、二级数据组、连接数据 组和类型数据组 关系表(原模型不存在,补充的),低级模型(底层模型)(数据库设计-物理模型),物理数据模型,每个企业的业务模型只有一个,父,子1,子2,概念模型与实现无关,只有一个,逻辑模型:概念模型的映射,多个,物理模型:与逻辑模型对应,为其实现方式,实体,主题,DIS,表,实体 对应 主题?,目录,Inmon数据仓库设计, ,体系结构化环境 三级模型, ,高级模型 中级模型 低级模型,性能优化,中级模型-DIS, ,中层模型通过所谓的DIS(Data Item Set, 数据项集) 描述,DIS是对高层模型的细分,高层模型中的每个 主题域(或实体)都要建立一个中间层模型,即对ER模 型的细分。 在中层数据模型上,有四个基本构造:, ,初始数据组 二次数据组 连接件,表示主要主题域间的数据关系 数据“类型”, ,数据组之间通过键连接。 数据组划分标准:稳定性 稳定性顺序:初始数据组二次数据组类型数据组 分组的目的:根据稳定性将数据分开,提高加载效率,13,高级模型中级模型映射,一个实体/主题对应一个DIS,初始数据组(主要数据组), ,每个主要主题域有且只有一个主要数据组,其中包含 了每个主要主题域只出现一次的属性(稳定)。 同所有的数据组一样,初始数据组有属性和键码。 一个主要数据组对应一个主题域。 初始数据组的数据稳定性最高,一般情况下是不变化的。 姓名、性别、住址,二级数据分组, ,包含对每个主要主题域可以存在多次的属性。有多少 可以出现多次的不同数据组,就含有多少二级数据组。 如一对多。 二级数据分组的数据稳定性相对初级数据组要弱一 些,但比类型数据组的数据稳定性要高。,连接件, ,表示两个主要主题域间的数据关系,两个主题的联系。 将数据从一个组到另一个组联系起来。在E-R图层确 定的关系在DIS层都必须有与其对应的连接件。主键 与外键。 连接器表明,数据仓库中的主题域之间是关联的,可 见,通过连接件实现Inmon数据仓库 成为 有机整 体,这在Kimball数据仓库中是不存在的。 讨论:如果用于连接一个主题的不同数据组,连接件 就是就是ER模型中的联系,连接不同主题域也是ER 模型中的联系。具体通过键(无论ER模型中还是逻 辑模型都有这个概念)连接实现。结论:连接件=联 系。,数据的“类型”, ,数据的“类型”由指向数据组的线段指示。左边的数据 组是超类型,右边的数据组是子类型。 类型数据组的数据的稳定性最低,会经常变化。 如,一个人的信息(主要数据分组)与他所做的事情 (类型,分类了:工作、生活、情感)。,DIS中的各组件,连接件,例子:DIS中数据组的稳定性, ,顾客的顾客号、姓名、性别等描述信息基本报纸不 变,比较稳定,可作为主要数据组 顾客的住址、文化程度、电话等也基本稳定,但存在 改变的可能,相对主要数据组中的信息稳定性要弱一 些,可作为二级数据组 顾客的采购记录则经常发生变化,其稳定性低,因 此,作为类型数据组 这样划分的好处:结构清晰、减少冗余,例子:一个DIS,连接件,基本数据组,商品ID,客户ID 姓名 性别,身份证号码,住址 文化程度 电话 Email,交易ID 商品金额 购买时间,交易ID 商品金额 购买时间 交易ID 商品金额 购买时间,类型数据组,电器,服装 图书,一个主题,商品ID 连接件 二级数据组 另一个主题,局部DIS与全局DIS, ,与企业ERD构建方 法一样(由反映不 同用户群体的不同 ERD所建成,局部 ER全局ER), 企业DIS由多个DIS 建成,在进行对个 别用户的访问或 JAD (联合应用程序 设计)会议时,就要 生成一个DIS和一个 ERD。 小范围的DIS和其他 所有DIS一起形成一 个反映企业观点的 DIS。,目录,Inmon数据仓库设计, ,体系结构化环境 三级模型, ,高级模型 中级模型 低级模型,性能优化,低级模型, ,底层模型是逻辑模型在数据仓库中的具体实现,如物 理存取方式、数据存储结构、数据存储位置、存储分 配等。 低级模型具体表现为一系列的关系表。 低级模型设计所要考虑的主要因素有, ,I/O存取时间、空间利用率和维护代价 数据仓库性能优化,如合并表、引入冗余等技术,讨论:DIS能直接实现吗?, ,Inmon的设计模型没有探讨DIS是如何过渡到低级模 型的,中间似乎缺了一个重要的环节。 这个环节是:关系表。 关系表在原设计模型中没有深入讨论,遗憾!DIS仍 然处于概念模型阶段,无非是细化了,低级模型则直 接实现了,关系表在哪里设计的?缺憾!应该放在中 间模型比较合适。 补充:DIS 到 关系表 的映射,参考ER模型到关系 模型的转化。有了关系表,具体实现(低级模型)就 没有问题。,了解:低级模型-存储结构,分布式存储, ,采用磁盘阵列在多个节点间以分布的方式来存储数据 物理上是分布的,但是逻辑上是统一的,集中式存储, ,将现有SAN(存储局域网)或者NAS(网络连接存储)作为 服务器的存储部分 直接通过FC交换机来直接访问所有的数据而不需要通过其他 节点 可以将节点从数据存储管理的负担中解脱出来,实现数据处 理和数据存储的分离。,分布式存储,集中式存储,RAID思想,RAID: Redundant Arrays of Inexpensive Disks (冗余 廉价磁 盘阵列 ),多盘联合, 统一对外 ,高速 高容量, 高可靠性,high capacity,high speed high reliability, ,生活中的RAID, “三个臭皮匠抵上一个诸葛亮”,雇佣 三个 臭皮匠 还是雇佣 诸葛亮?三个臭皮匠的成本要低 拦截导弹 A型 命中率0.7 ,100万美元 B型 命中率0.9 ,1000万美元, ,用两个A型,至少一个命中的概率 1-(1-0.7)2= 0.91 用3个A型,至少一个命中的概率 1-(1-0.7)3= 0.97 可用机关炮打巡航导弹(合算),用多个低价盘代高价盘, ,思想:冗余 提高可靠性,并行提高速度 后面的推理基于一个假定: 两个廉价磁盘 在同一个修复时 间(几小时)内同时发生故障的概率 很低。,数据拆分, ,这么多冗余磁盘,怎么存储数据?数据拆分 块拆分 逻辑第 I 块 放到(I mod N)+1号磁盘上,排排 坐 位拆分 当块的大小为1bit时,称为 Bit-Level Striping 位拆分(比特级拆分),将字节按bit拆分,存储到多 个磁盘上(如分到8个磁盘上),这样多个磁盘就形 成一个逻辑上磁盘。读取的数据量成倍放大,(如每 次访问读取一个磁盘的8倍数据量,I/O一次(并行), 数据量8倍,可观!),RAID,RAID磁盘阵列, ,廉价冗余磁盘阵列是一种采用多磁盘驱动器来存储数据的数 据存储系统 分为6个级别:RAID0、1、2、3、4、5及RAID0+1,2、3、4 使用频率较低,5、0、1、0+1使用较多。 在 RAID 的各个级别中,RAID 1 和 RAID 0+1 提供最佳的 数据保护和最佳性能,但是就所需的磁盘而言会需要更多的 成本。当硬盘成本不是限制因素时,就兼顾性能和容错而 言,RAID 1 或 RAID 0+1 是最佳选择。 RAID 5 的成本比 RAID 1 或 RAID 0+1 低,但是它提供的容 错和写入性能较差。RAID 5 的写入性能大约只是 RAID 1 或 RAID 0+1 的一半,这是因为 RAID 5 读取和写入奇偶校验 信息需要额外的 I/O。,RAID 0, ,块级拆分,无冗余,多盘并发 (实用中, 只用Level 1和5) 因为该级别使用名为条带集的磁盘文件系统,所以又将它称作 磁盘条带。数据被划分成多个块并按固定顺序分布到阵列中的 所有磁盘上。RAID 0将多个操作分布到多个磁盘上,以便可以 同时独立地执行这些操作,从而改善了读取/写入性能。RAID 0类似于 RAID 5,但是 RAID 5 还提供容错功能。,RAID 1-写双份,读一份,因为该级别使用名为镜像集的磁盘文件系统,所以又 将它称作磁盘镜像。磁盘镜像可提供一个与所选磁盘 完全相同的冗余副本。写入主磁盘的所有数据都会写 入镜像磁盘。RAID 1 提供了容错功能,而且通常可 以改进读取性能(但是可能会降低写入性能) RAID1,RAID 2、3、4,RAID2-按位拆分+校验位,该级别通过使用将奇偶校验分布到所有磁盘上的纠错方法来添加冗 余。它还利用磁盘条带策略将一个文件分成多个字节并将该文件分 布到多个磁盘上。与镜像 (RAID 1) 相比,该策略在磁盘利用率和 读取/写入性能方面只带来了很小的改进。RAID 2 不如其他 RAID 级别效率高,通常不使用它。,RAID3-按位拆分,交错 带 奇偶校验,纠正错误是用校验码和镜像 恢复,该级别使用与 RAID 2 相同的条带化方法,但是纠错方法只需一个 磁盘用于奇偶校验数据。磁盘空间的使用情况因数据磁盘的数量而 异。RAID 3 在读取/写入性能方面提供一些改进。RAID 3 也极少 使用。,RAID4-按块拆分,校验恢复:镜像 和 校验,该级别使用的条带数据块或段比 RAID 2 或 RAID 3 大得多。与 RAID 3 一样,纠错方法只需一个磁盘用于奇偶校验数据。它将用 户数据与纠错数据分开。RAID 4 不如其他 RAID 级别效率高,通 常不使用。,RAID 5, ,写双份+奇偶校验页。 以改善可 靠性。是新设计中最常用的策略。 与RAID 4相似,它将数据以大块 形式条带化到阵列中的磁盘上。 不同之处在于它在所有磁盘之间 写入奇偶校验的方式。数据冗余 通过奇偶校验信息提供。数据和 奇偶校验信息会在磁盘阵列上排 列,所以这两种信息总是位于不 同的磁盘上。 与磁盘镜像 (RAID 1) 相比,具有 奇偶校验的条带化可提供更好的,性能。但是,当条带成员丢失时 (例如,当磁盘发生故障时),,读取性能会下降。RAID 5 是最常 用的 RAID 配置之一。,RAID5,RAID 0+1, ,该级别又称作具有条带化的镜像。该级别使用条带化的磁盘阵列,而 该阵列又镜像到另一组相同的条带化磁盘。 例如,可使用四个磁盘创建一个条带化的阵列。然后,条带化的磁盘 阵列使用另一组(四个)条带化的磁盘进行镜像。 RAID 10 提供磁盘条带化带来的性能益处以及镜像带来的磁盘冗余。 在所有的 RAID 级别中,RAID 10 提供的读取/写入性能最高,代价 是使用的磁盘数量是其他级别的两倍。,RAID0+1,镜像,低级模型-索引策略, ,B树及B+树索引、位图索引等依然有效。 广义索引, ,对于一些经常性的查询,利用一个规模小得多的“广义索引”,比去 针对所有数据建立索引效率高,如上司的电话 广义索引是在数据装载的同时建立,它是一种元数据 广义索引涉及的是用户最关心的问题,需要在数据加载前进行调查 了解。比如使用频率最高的10种药物,使用频率最低的药物等。 比较适合经常性的查询,开销比较小,目录,Inmon数据仓库设计, ,体系结构化环境 三级模型, ,高级模型 中级模型 低级模型,性能优化,数据仓库的物理性能优化, ,数据仓库的具有数据量大,操作简单(主要为查询操作) 的特点,因此,数据仓库的性能优化主要集中在物理I/O 的性能上,应尽量减少I/O次数,使每次I/O能够返回尽量 多的记录。 数据仓库性能优化所采取的措施有, ,划分粒度 数据分割 表优化, ,合并表 建立数据序列 引入冗余 表的物理分割 生成导出数据 建立广义索引,数据仓库中的数据是细节还是综合?细节到 什么程度?综合到什么程度?,综合越高,数据量相对越小,查询效率会更 高。故,合适的粒度设计会提高查询效率。,性能优化1:粒度设计, ,粒度是数据仓库的重要概念。粒度指的是数据仓 库中数据单元的细节程度或综合程度的级别 数据仓库中存在着不同的综合级别,粒度越大, 表示细节程度越低,综合程度越高。,高细节级,高粒度级 低细节级 一个顾客一个 月的电话综合,低粒度级 一个顾客一个 月的电话明细, ,粒度影响数据仓库的数据量的大小、查询类型以 及效率,粒度具体表现为不同的层次,如时间、 组织结构等 高粒度级数据是经过压缩后的,数据量小,查询 效率高,但是查询类型受到一定的限制 低粒度级的数据量大,查询效率低,但支持的查 询类型多 例如,对于高粒度级的数据仓库可以回答“上个月 John从北京打出的长途电话有多少个?”,而不能 回答“今天John是否从北京打出长途电话?” 这样 的问题需要低粒度级的数据仓库 因此,采用高粒度还是低粒度需要做出权衡。对 于决策信息查询一般采用高粒度级更为合适。,理解:粒度, ,粒度 与 官职 对应,大官 看 大粒度(大方向),小官 看 小粒度(细节) 为总理设计,粒度 面向 全国,高粒度,超大粒度; 为省长设计,粒度 面向 全省,较大粒度; 为县长设计,粒度 面向 全县,大粒度; 为乡长设计,粒度 面向 全乡,小粒度,细粒度; 为村长设计(别拿村长不当干部),粒度 面向 全村, 超细粒度,张家有田几亩?李家人丁几何?,都 要有。 把村长用的粒度与总理用的粒度调换一下便知粒度的 重要性了,两个肯定都叫苦。 实际设计中,一般我们要确认最低粒度,高粒度可以 由低粒度综合而来。,粒度的形式,粒度可以分为三种形式, ,一般意义的粒度(指最低粒度,常用) 多重粒度(常用,效率高) 活样本数据库(效率高),在实际中,三种形式的粒度都有可能存在, ,第一种形式的粒度是对数据仓库中的数据的综合 程度高低的一个度量,指的是最低粒度。它既影 响数据仓库中的数据量的多少,也影响数据仓库 所能回答询问的种类。细节程度越高,粒度级就 越低,回答查询的种类就越多,(官越小)。相 反,细节程度越低,粒度级就越高, (官越大),查询效率将会提高。 数据仓库的主要作用是DSS分析,因而其绝大部分 查询都基于一定程度的综合数据之上,而只有极 少的查询涉及细节。所以,可以考虑将综合数据 物化,即采用第二种粒度形式 多重粒度。,双重粒度, ,当一个企业或组织的数据仓库中拥有大量数据、 资源足够,并需要多种类型的查询以及追求高效 率的情况下,可以考虑多重粒度。 常用的是双重粒度,即轻度综合级(高粒度)和最 低粒度级(低粒度,当前细节级),轻度综合级 April John Count:45 Average:14min ,最低粒度级 John 4.12 p.m. 6:01-6:12 4.12 p.m. 6:15-6:16 4.12 a.m. 9:12-9:23 , ,对于数据分析员来说,大部分时间是针对轻度综合 级别(高粒度)的数据进行分析,所以,数据可以存 储在I/O效率高的介质上。 低粒度级的数据可以存储在I/O效率相对较低的介 质上,当DSS分析员需要分析更低的数据时,可以 对这些数据进行操作。但是,需要牺牲效率。 双重粒度适合大多数机构或组织的数据仓库构建, 单重粒度则只适用于相对较少的数据情况。 这样,对于绝大多数查询,性能将大大提高。而万 一需要对细节查询,小粒度数据也可以满足。 采用多重粒度的目标是提高效率,不同级别物化, 当然会提高查询效率,如果软件硬件技术足够先 进,则另当别论。,Cube中的粒度设计,维度粒度:维度一般是有层次结构的,而粒度一般是 指最细粒度。,如,时间维度:年、季度、月、周、日是有层次的,其中, 首先需要确定的是最细粒度“日”,只有这个粒度确定了其他 层次的粒度才可以确定。,事实粒度:事实是由事实单元(度量)构成的,每个 度量与参与维度的最细粒度相对应,所以,事实存储 的是所有参与维度的最细粒度的度量值。,如,一个事实单元为:2005年10月20日(时间维度最细粒 度)、玉泉路物美超市食品部冷鲜柜组(部门维度最细粒 度)、食品类海鲜海虾、销售量:350kg。 350kg为最细粒 度的度量值。,活样本数据, ,活样本数据是指从数据仓库中取得的真实档案数据 或轻度综合数据的一个子集 “样本”的含义是指一个更大的数据库的一个子集 “活”是指这个数据需要进行周期刷新 与通常意义的粒度不同,活样本数据库的粒度级别 不是根据综合程度的不同来划分的,而是根据采样 率的高低来划分的 采样粒度不同的样本数据库可以具有相同的综合级 别,一般它是以一定的采样率从细节档案数据或轻 度综合数据中抽取的一个子集。, ,活样本数据库不能回答一些细节性的问题 抽样的方法很多,一般是随机抽取。活样本数据可以代 替源数据进行模拟分析 经验证明,在源数据量很大的情况下,抽样数据量可大 大下降,如源数据量的1/100或1/1000,源数据量越大, 数据量下降的量越大,而得出的分析结果误差极小,具 有很高的效率 活样本数据库的抽取可以按照数据的重要程度不同来进 行。并不是所有的数据对于具体的分析来说都具有相同 的价值,不能不分主次地对数据进行分析(选代表)。 利用活样本数据库的概念,可以收集重要的数据来进行 分析,既可提高分析效率,也有助于抓住主要因素和主 要矛盾。,活样本数据的特点,活样本数据库的主要用途, ,特别是在分析工作中,有许多探索的过程,有时分析 的目的只是要建立起分析模型或是得到相对准确、能 反映趋势的数据,从而验证用户的猜想,为下一步的 策略确定方向或对当前分析程序做出相应调整,而并 不要求精确的结果。 这种情况下样本数据就大有用武之地!,性能优化2:分区, ,分区又称分割,与数据库系统中的分片概念近 似,是将一个表模式按照一定标准分成两个或多 个表的模式,将数据分割称小的物理单元(分片) 的过程。 与数据库系统的分片相似,数据仓库的分割也分 为水平分割、垂直分割、混合分割和导出分割。 把数据库分区的技术“拿来主义”。 分区的目标仍然是提高数据仓库的访问效率,是 一种系统性能优化策略。 优点:分区可以使数据装载、数据访问、数据存 档、数据重组、数据监控、数据存储等操作变得 简单高效。,分割方法, ,数据量决定是否需要分割,规则:小的主题不分大的分; 不同主题的数据分割方法也不同,如商品按品类,供应商 按地址; 分割标准要简单可行,一般与现实业务对应比较适合作为 标准; 分割与粒度挂钩,即分片 对应 粒度级别 恰当的数据分区使得数据增长便于管理 如果数据分区不合理则会为数据增长和管理造成许多困难 简单地说,数据仓库的本质之一是使数据访问变得灵活高 效,如果都是大块的数据就达不到这一目标 因此,一般情况下,对所有当前细节的数据仓库都要进行 分区。,分区标准, ,数据分区的标准可以根据实际情况来确定,通常 可选择按日期、地域、业务领域或组织单位等来 进行分区,也可以按多个分区标准的组合来进行 一般而言,分区标准应包括日期项,它十分自然 而且分区均匀 分区之后,小单元内的数据相对独立,处理起来 更快、更容易,例子,一个按时间(年)和商品类型作为标准来组织的 分区例子,分区14 分区24 分区34 分区44,分区13 分区23 分区33 分区43,分区12 分区22 分区32 分区42,分区11 分区21 分区31 分区41,2000年 2001年 2002年 2003年,流行品,专用品,日用百货,日用杂品,数据,小结:粒度与分区, ,粒度解决的是数据仓库中数据综合的程度,因 此,任何细节的数据都可以构成数据仓库 粒度可以根据数据仓库结构划分为多个层次,但 是实际应用中更多地采用双重粒度 活样本数据库不是综合而是抽样,以小数据量的 样本来推断总体,统计学 分区是指将数据仓库物理上分割存储,目标是提 高访问效率 分区需要按照一定的标准进行,一般符合业务逻 辑和习惯,性能优化3:表优化-合并表,合并表, ,例行分析处理时,相关的表存储时放到一起,可大大减少磁 头定位时间,提高I/O效率。(与DBMS管理数据 同) 这种将多个表中相互关联的记录相邻存储的方式称为合并表,性能优化3:表优化-数据序列,数据序列,把经常按照某一序列访问并处理的一组表存储在一 起可减少I/O次数,性能优化3:表优化-引入冗余, ,数据分析处理的数据是广泛的,数据源中的数据可能在多个地 方出现,如有些表的属性不经常发生变化,可以将某些属性复 制到多个主题中。 与合并表不同,合并表没有增加冗余,引入冗余的方法改变了 表的关联模式,出现了冗余的属性。 由于存在事务处理,操作型数据中不适合引入冗余,否则会导 致数据的不一致性;而数据仓库中不存在事务管理的问题,因 此可以采用引入冗余的技术。 但是,数据仓库的中冗余仍然要保证数据的一致性,好在数据 仓库的数据是稳定的,维护代价很低。 增加冗余,减少连接,提高效率,性能优化3:表优化-利用导出数据, ,有些汇总计算所得数据可以进行物化处理,这种数据 为导出数据。 导出数据的利用可以节省计算代价而提高效率,同时 可以建立的公共数据源,避免不同用户重复计算可能 产生偏差(避免数据不一致)。,讨论:规范化/反规范化, ,规范化是OLTP系统中为避免数据不一致(解决数据 依赖,更新异常)和减少冗余的一种重要技术。 而在数据仓库中,上述引入冗余、利用导出数据等方 法技术已经明目张胆地违反OLTP系统中规范化的原 则,但并没有产生数据不一致的问题。 原因:数据仓库中没有更新操作,所以不会引起更新 异常问题。 因此,在数据仓库设计中,为提高效率,可以违反规 范化的原则。,性能优化3:表优化-建立广义索引, ,思想:常用的数据建索引,具体内容略。 参考 低级模型 索引策略。,小结, ,数据仓库系统的性能优化方法很多,可以借鉴数据库 系统的优化方法。 上述为常见的优化方法,其中,粒度、分区、冗余等 方法在实际中应用广泛,这些方法应用有交叉,需综 合应用才会达到较好的优化效果。 另外,需要针对具体的系统和应用情况而制定优化策 略。,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!