数据仓库系统结构模型.ppt

上传人:李司机 文档编号:3787934 上传时间:2023-03-21 格式:PPT 页数:69 大小:1.48MB
返回 下载 相关 举报
数据仓库系统结构模型.ppt_第1页
第1页 / 共69页
数据仓库系统结构模型.ppt_第2页
第2页 / 共69页
数据仓库系统结构模型.ppt_第3页
第3页 / 共69页
数据仓库系统结构模型.ppt_第4页
第4页 / 共69页
数据仓库系统结构模型.ppt_第5页
第5页 / 共69页
点击查看更多>>
资源描述

《数据仓库系统结构模型.ppt》由会员分享,可在线阅读,更多相关《数据仓库系统结构模型.ppt(69页珍藏版)》请在三一办公上搜索。

1、第 4 章,数据仓库系统结构与模型,Inmon数据仓库设计,体系结构化环境三级模型,高级模型中级模型低级模型,性能优化,目录,数据仓库设计概述,与数据库设计的区别处理类型应用需求设计目标数据来源设计方法,数据仓库设计概述,数据仓库与数据库设计的区别,处理类型不同,数据库系统设计 面向应用来进行设计,根据具体的操作事件和操作对象(实体)来进行设计;目的是建立一个操作型的数据环境。从需求开始,逐步展开数据仓库设计 面向分析的;从最基本的主题开始,不断完善已有主题,发展新主题;最终建立起一个面向主题的分析型数据环境。,应用需求不同,数据库系统设计 面向明确的应用需求 设计人员能够清晰地了解应用的需求

2、和数据流程 数据仓库设计 很难获得对用户需求的确切了解 应用人员往往是企业的中高层人员 他们自己一开始不知道想看什么,需要引导 后期又想什么东西都看,需要解释,系统设计的目标,数据库系统设计,为了进行OLTP处理通常是对一个或者一组记录的查询和修改,“一次一集合”主要为企业的特定应用服务的事务处理响应时间、数据的安全性和完整性是系统的目标,数据仓库设计,为了分析决策主要目标是保证数据的四个特征(面向主题、集成的、稳定的、时变的),建立起一个全局一致的数据环境,作为企业决策支持的基础只有查询而无更新,“一次加载一批”对响应时间不敏感数据量大,海量数据,数据来源不同,数据库系统设计 数据来源主要是

3、业务操作员的输入 描述如何通过操作员输入获取数据 描述如何将获取的数据按照OLAP的需求合理存放 如何使得OLTP的性能更加优化 如何保证事务处理的安全性数据仓库设计 数据主要来源于业务系统 主要解决如何从业务系统中得到完整一致的数据 如何对数据进行转换、清洗、综合,ETL 如何有效提高数据分析的效率与准确性,系统设计方法不同,数据库系统设计,“需求驱动”;先收集需求、分析需求,再进行设计和开发;系统的需求在收集和分析需求阶段之后就定下来了,一旦进入构建数据库阶段,系统的需求就基本不变了。,数据仓库设计,“数据驱动”从业务系统已经存在的数据出发,获取之后对数据进行集成并检查数据的准确性按照分析

4、领域对数据及数据之间的联系重新考察,组织数据仓库中的主题。“数据驱动”的系统设计方法的优点是可以通过了解原有数据库系统中的数据和需要建设的数据仓库中主题的数据的共同性,最大限度地利用现有系统,减少系统建设的工作量。,开发生命周期-CLDS,传统的数据库系统的系统开发生命周期(SDLC)是需求驱动的,而数据仓库系统的开发生命周期则是数据驱动的,与SDLC相反,一般写作CLDS,这种写法没有对应的实际意义,是一种幽默的写法。CLDS由数据开始,一旦数据到手就集成数据。然后,如果数据有偏差,就检验看看数据存在什么偏差。再针对数据写程序,分析程序执行结果。最后,系统需求才得到了理解。因此,CASE工具

5、和技术用于数据仓库领域是不合适的。,数据仓库/DM 螺旋式方式,业务需求分析,设计,建造,测试,培训,试点,部署,使用运行,监控,维护,确认新需求/改进,实施范围,业务驱动的需求分析,设计,建造,测试,培训,试点应用,部署,使用,监控,维护,发掘新需求和改进,两种数据仓库设计,Inmon数据仓库,数据库设计的模式三级模型(高级、中级、低级)存储:关系数据库,Kimball数据仓库,维度建模技术维度设计/度量设计存储:多维数据库/关系数据库,两种数据仓库都需要面临的主要设计问题,粒度与分割元数据ETL索引,小结,数据仓库的设计不同于事务处理的数据库的设计,是一个循序渐近的过程。数据仓库的选型是一

6、个非常重要的问题,当前,选用Kimball数据仓库进行设计是很流行的,因此,实践中可优先考虑。面对复杂的数据,基于维度建模技术的Kimball数据仓库显得无能为力,还需要深入探索,因此,面向复杂数据类型的数据仓库是目前的研究热点。,数据库设计的三级模型,概念模型,从客观世界到主观认识的映射首先将现实世界抽象为概念模型,然后再用适合计算机世界的模型和语言来描述ER图,逻辑模型,ER模型关系模型规范化视图约束,物理模型,DBMS选型选择数据库文件的存储结构索引分配存储空间,Inmon的三级模型,高级模型(高层模型)(数据库设计-概念模型),即概念模型,用E-R图表示首先将现实世界抽象为概念模型,然

7、后再用适合计算机世界的模型和语言来描述,中级模型(中层模型)(数据库设计-逻辑模型),数据项(Data item set,DIS)模型ER图的细分每个主题都与一个DIS对应DIS中的数据分为4个组别:基本数据组、二级数据组、连接数据组和类型数据组关系表(原模型不存在,补充的),低级模型(底层模型)(数据库设计-物理模型),物理数据模型,每个企业的业务模型只有一个,父,子1,子2,概念模型与实现无关,只有一个,逻辑模型:概念模型的映射,多个,物理模型:与逻辑模型对应,为其实现方式,实体,主题,DIS,表,实体 对应 主题?,目录,Inmon数据仓库设计,体系结构化环境三级模型,高级模型中级模型低

8、级模型,性能优化,中级模型-DIS,中层模型通过所谓的DIS(Data Item Set,数据项集)描述,DIS是对高层模型的细分,高层模型中的每个主题域(或实体)都要建立一个中间层模型,即对ER模型的细分。在中层数据模型上,有四个基本构造:,初始数据组二次数据组连接件,表示主要主题域间的数据关系数据“类型”,数据组之间通过键连接。数据组划分标准:稳定性稳定性顺序:初始数据组二次数据组类型数据组分组的目的:根据稳定性将数据分开,提高加载效率,13,高级模型中级模型映射,一个实体/主题对应一个DIS,初始数据组(主要数据组),每个主要主题域有且只有一个主要数据组,其中包含了每个主要主题域只出现一

9、次的属性(稳定)。同所有的数据组一样,初始数据组有属性和键码。一个主要数据组对应一个主题域。初始数据组的数据稳定性最高,一般情况下是不变化的。姓名、性别、住址,二级数据分组,包含对每个主要主题域可以存在多次的属性。有多少可以出现多次的不同数据组,就含有多少二级数据组。如一对多。二级数据分组的数据稳定性相对初级数据组要弱一些,但比类型数据组的数据稳定性要高。,连接件,表示两个主要主题域间的数据关系,两个主题的联系。将数据从一个组到另一个组联系起来。在E-R图层确定的关系在DIS层都必须有与其对应的连接件。主键与外键。连接器表明,数据仓库中的主题域之间是关联的,可见,通过连接件实现Inmon数据仓

10、库 成为 有机整体,这在Kimball数据仓库中是不存在的。讨论:如果用于连接一个主题的不同数据组,连接件就是就是ER模型中的联系,连接不同主题域也是ER模型中的联系。具体通过键(无论ER模型中还是逻辑模型都有这个概念)连接实现。结论:连接件=联系。,数据的“类型”,数据的“类型”由指向数据组的线段指示。左边的数据组是超类型,右边的数据组是子类型。类型数据组的数据的稳定性最低,会经常变化。如,一个人的信息(主要数据分组)与他所做的事情(类型,分类了:工作、生活、情感)。,DIS中的各组件,连接件,例子:DIS中数据组的稳定性,顾客的顾客号、姓名、性别等描述信息基本报纸不变,比较稳定,可作为主要

11、数据组顾客的住址、文化程度、电话等也基本稳定,但存在改变的可能,相对主要数据组中的信息稳定性要弱一些,可作为二级数据组顾客的采购记录则经常发生变化,其稳定性低,因此,作为类型数据组这样划分的好处:结构清晰、减少冗余,例子:一个DIS,连接件,基本数据组,商品ID,客户ID姓名性别,身份证号码,住址文化程度电话Email,交易ID商品金额购买时间,交易ID商品金额购买时间交易ID商品金额购买时间,类型数据组,电器,服装图书,一个主题,商品ID连接件二级数据组另一个主题,局部DIS与全局DIS,与企业ERD构建方法一样(由反映不同用户群体的不同ERD所建成,局部ER全局ER),企业DIS由多个DI

12、S建成,在进行对个别用户的访问或JAD(联合应用程序设计)会议时,就要生成一个DIS和一个ERD。小范围的DIS和其他所有DIS一起形成一个反映企业观点的DIS。,目录,Inmon数据仓库设计,体系结构化环境三级模型,高级模型中级模型低级模型,性能优化,低级模型,底层模型是逻辑模型在数据仓库中的具体实现,如物理存取方式、数据存储结构、数据存储位置、存储分配等。低级模型具体表现为一系列的关系表。低级模型设计所要考虑的主要因素有,I/O存取时间、空间利用率和维护代价数据仓库性能优化,如合并表、引入冗余等技术,讨论:DIS能直接实现吗?,Inmon的设计模型没有探讨DIS是如何过渡到低级模型的,中间

13、似乎缺了一个重要的环节。这个环节是:关系表。关系表在原设计模型中没有深入讨论,遗憾!DIS仍然处于概念模型阶段,无非是细化了,低级模型则直接实现了,关系表在哪里设计的?缺憾!应该放在中间模型比较合适。补充:DIS 到 关系表 的映射,参考ER模型到关系模型的转化。有了关系表,具体实现(低级模型)就没有问题。,了解:低级模型-存储结构,分布式存储,采用磁盘阵列在多个节点间以分布的方式来存储数据物理上是分布的,但是逻辑上是统一的,集中式存储,将现有SAN(存储局域网)或者NAS(网络连接存储)作为服务器的存储部分直接通过FC交换机来直接访问所有的数据而不需要通过其他节点可以将节点从数据存储管理的负

14、担中解脱出来,实现数据处理和数据存储的分离。,分布式存储,集中式存储,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-

15、(1-0.7)3=0.97可用机关炮打巡航导弹(合算),用多个低价盘代高价盘,思想:冗余 提高可靠性,并行提高速度后面的推理基于一个假定:两个廉价磁盘 在同一个修复时间(几小时)内同时发生故障的概率 很低。,数据拆分,这么多冗余磁盘,怎么存储数据?数据拆分块拆分 逻辑第 I 块 放到(I mod N)+1号磁盘上,排排坐位拆分 当块的大小为1bit时,称为 Bit-Level Striping位拆分(比特级拆分),将字节按bit拆分,存储到多个磁盘上(如分到8个磁盘上),这样多个磁盘就形成一个逻辑上磁盘。读取的数据量成倍放大,(如每次访问读取一个磁盘的8倍数据量,I/O一次(并行),数据量8倍

16、,可观!),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

17、0+1 的一半,这是因为 RAID 5 读取和写入奇偶校验信息需要额外的 I/O。,RAID 0,块级拆分,无冗余,多盘并发(实用中,只用Level 1和5)因为该级别使用名为条带集的磁盘文件系统,所以又将它称作磁盘条带。数据被划分成多个块并按固定顺序分布到阵列中的所有磁盘上。RAID 0将多个操作分布到多个磁盘上,以便可以同时独立地执行这些操作,从而改善了读取/写入性能。RAID0类似于 RAID 5,但是 RAID 5 还提供容错功能。,RAID 1-写双份,读一份,因为该级别使用名为镜像集的磁盘文件系统,所以又将它称作磁盘镜像。磁盘镜像可提供一个与所选磁盘完全相同的冗余副本。写入主磁盘的

18、所有数据都会写入镜像磁盘。RAID 1 提供了容错功能,而且通常可以改进读取性能(但是可能会降低写入性能)RAID1,RAID 2、3、4,RAID2-按位拆分+校验位,该级别通过使用将奇偶校验分布到所有磁盘上的纠错方法来添加冗余。它还利用磁盘条带策略将一个文件分成多个字节并将该文件分布到多个磁盘上。与镜像(RAID 1)相比,该策略在磁盘利用率和读取/写入性能方面只带来了很小的改进。RAID 2 不如其他 RAID级别效率高,通常不使用它。,RAID3-按位拆分,交错 带 奇偶校验,纠正错误是用校验码和镜像恢复,该级别使用与 RAID 2 相同的条带化方法,但是纠错方法只需一个磁盘用于奇偶校

19、验数据。磁盘空间的使用情况因数据磁盘的数量而异。RAID 3 在读取/写入性能方面提供一些改进。RAID 3 也极少使用。,RAID4-按块拆分,校验恢复:镜像 和 校验,该级别使用的条带数据块或段比 RAID 2 或 RAID 3 大得多。与RAID 3 一样,纠错方法只需一个磁盘用于奇偶校验数据。它将用户数据与纠错数据分开。RAID 4 不如其他 RAID 级别效率高,通常不使用。,RAID 5,写双份+奇偶校验页。以改善可靠性。是新设计中最常用的策略。与RAID 4相似,它将数据以大块形式条带化到阵列中的磁盘上。不同之处在于它在所有磁盘之间写入奇偶校验的方式。数据冗余通过奇偶校验信息提供

20、。数据和奇偶校验信息会在磁盘阵列上排列,所以这两种信息总是位于不同的磁盘上。与磁盘镜像(RAID 1)相比,具有奇偶校验的条带化可提供更好的,性能。但是,当条带成员丢失时(例如,当磁盘发生故障时),,读取性能会下降。RAID 5 是最常用的 RAID 配置之一。,RAID5,RAID 0+1,该级别又称作具有条带化的镜像。该级别使用条带化的磁盘阵列,而该阵列又镜像到另一组相同的条带化磁盘。例如,可使用四个磁盘创建一个条带化的阵列。然后,条带化的磁盘阵列使用另一组(四个)条带化的磁盘进行镜像。RAID 10 提供磁盘条带化带来的性能益处以及镜像带来的磁盘冗余。在所有的 RAID 级别中,RAID

21、 10 提供的读取/写入性能最高,代价是使用的磁盘数量是其他级别的两倍。,RAID0+1,镜像,低级模型-索引策略,B树及B+树索引、位图索引等依然有效。广义索引,对于一些经常性的查询,利用一个规模小得多的“广义索引”,比去针对所有数据建立索引效率高,如上司的电话广义索引是在数据装载的同时建立,它是一种元数据广义索引涉及的是用户最关心的问题,需要在数据加载前进行调查了解。比如使用频率最高的10种药物,使用频率最低的药物等。比较适合经常性的查询,开销比较小,目录,Inmon数据仓库设计,体系结构化环境三级模型,高级模型中级模型低级模型,性能优化,数据仓库的物理性能优化,数据仓库的具有数据量大,操

22、作简单(主要为查询操作)的特点,因此,数据仓库的性能优化主要集中在物理I/O的性能上,应尽量减少I/O次数,使每次I/O能够返回尽量多的记录。数据仓库性能优化所采取的措施有,划分粒度数据分割表优化,合并表建立数据序列引入冗余表的物理分割生成导出数据建立广义索引,数据仓库中的数据是细节还是综合?细节到什么程度?综合到什么程度?,综合越高,数据量相对越小,查询效率会更高。故,合适的粒度设计会提高查询效率。,性能优化1:粒度设计,粒度是数据仓库的重要概念。粒度指的是数据仓库中数据单元的细节程度或综合程度的级别数据仓库中存在着不同的综合级别,粒度越大,表示细节程度越低,综合程度越高。,高细节级,高粒度

23、级低细节级一个顾客一个月的电话综合,低粒度级一个顾客一个月的电话明细,粒度影响数据仓库的数据量的大小、查询类型以及效率,粒度具体表现为不同的层次,如时间、组织结构等高粒度级数据是经过压缩后的,数据量小,查询效率高,但是查询类型受到一定的限制低粒度级的数据量大,查询效率低,但支持的查询类型多例如,对于高粒度级的数据仓库可以回答“上个月John从北京打出的长途电话有多少个?”,而不能回答“今天John是否从北京打出长途电话?”这样的问题需要低粒度级的数据仓库因此,采用高粒度还是低粒度需要做出权衡。对于决策信息查询一般采用高粒度级更为合适。,理解:粒度,粒度 与 官职 对应,大官 看 大粒度(大方向

24、),小官看 小粒度(细节)为总理设计,粒度 面向 全国,高粒度,超大粒度;为省长设计,粒度 面向 全省,较大粒度;为县长设计,粒度 面向 全县,大粒度;为乡长设计,粒度 面向 全乡,小粒度,细粒度;为村长设计(别拿村长不当干部),粒度 面向 全村,超细粒度,张家有田几亩?李家人丁几何?,都要有。把村长用的粒度与总理用的粒度调换一下便知粒度的重要性了,两个肯定都叫苦。实际设计中,一般我们要确认最低粒度,高粒度可以由低粒度综合而来。,粒度的形式,粒度可以分为三种形式,一般意义的粒度(指最低粒度,常用)多重粒度(常用,效率高)活样本数据库(效率高),在实际中,三种形式的粒度都有可能存在,第一种形式的

25、粒度是对数据仓库中的数据的综合程度高低的一个度量,指的是最低粒度。它既影响数据仓库中的数据量的多少,也影响数据仓库所能回答询问的种类。细节程度越高,粒度级就越低,回答查询的种类就越多,(官越小)。相反,细节程度越低,粒度级就越高,(官越大),查询效率将会提高。数据仓库的主要作用是DSS分析,因而其绝大部分查询都基于一定程度的综合数据之上,而只有极少的查询涉及细节。所以,可以考虑将综合数据物化,即采用第二种粒度形式 多重粒度。,双重粒度,当一个企业或组织的数据仓库中拥有大量数据、资源足够,并需要多种类型的查询以及追求高效率的情况下,可以考虑多重粒度。常用的是双重粒度,即轻度综合级(高粒度)和最低

26、粒度级(低粒度,当前细节级),轻度综合级AprilJohnCount:45Average:14min,最低粒度级John4.12 p.m.6:01-6:124.12 p.m.6:15-6:164.12 a.m.9:12-9:23,对于数据分析员来说,大部分时间是针对轻度综合级别(高粒度)的数据进行分析,所以,数据可以存储在I/O效率高的介质上。低粒度级的数据可以存储在I/O效率相对较低的介质上,当DSS分析员需要分析更低的数据时,可以对这些数据进行操作。但是,需要牺牲效率。双重粒度适合大多数机构或组织的数据仓库构建,单重粒度则只适用于相对较少的数据情况。这样,对于绝大多数查询,性能将大大提高。

27、而万一需要对细节查询,小粒度数据也可以满足。采用多重粒度的目标是提高效率,不同级别物化,当然会提高查询效率,如果软件硬件技术足够先进,则另当别论。,Cube中的粒度设计,维度粒度:维度一般是有层次结构的,而粒度一般是指最细粒度。,如,时间维度:年、季度、月、周、日是有层次的,其中,首先需要确定的是最细粒度“日”,只有这个粒度确定了其他层次的粒度才可以确定。,事实粒度:事实是由事实单元(度量)构成的,每个度量与参与维度的最细粒度相对应,所以,事实存储的是所有参与维度的最细粒度的度量值。,如,一个事实单元为:2019年10月20日(时间维度最细粒度)、玉泉路物美超市食品部冷鲜柜组(部门维度最细粒度

28、)、食品类海鲜海虾、销售量:350kg。350kg为最细粒度的度量值。,活样本数据,活样本数据是指从数据仓库中取得的真实档案数据或轻度综合数据的一个子集“样本”的含义是指一个更大的数据库的一个子集“活”是指这个数据需要进行周期刷新与通常意义的粒度不同,活样本数据库的粒度级别不是根据综合程度的不同来划分的,而是根据采样率的高低来划分的采样粒度不同的样本数据库可以具有相同的综合级别,一般它是以一定的采样率从细节档案数据或轻度综合数据中抽取的一个子集。,活样本数据库不能回答一些细节性的问题抽样的方法很多,一般是随机抽取。活样本数据可以代替源数据进行模拟分析经验证明,在源数据量很大的情况下,抽样数据量

29、可大大下降,如源数据量的1/100或1/1000,源数据量越大,数据量下降的量越大,而得出的分析结果误差极小,具有很高的效率活样本数据库的抽取可以按照数据的重要程度不同来进行。并不是所有的数据对于具体的分析来说都具有相同的价值,不能不分主次地对数据进行分析(选代表)。利用活样本数据库的概念,可以收集重要的数据来进行分析,既可提高分析效率,也有助于抓住主要因素和主要矛盾。,活样本数据的特点,活样本数据库的主要用途,特别是在分析工作中,有许多探索的过程,有时分析的目的只是要建立起分析模型或是得到相对准确、能反映趋势的数据,从而验证用户的猜想,为下一步的策略确定方向或对当前分析程序做出相应调整,而并

30、不要求精确的结果。这种情况下样本数据就大有用武之地!,性能优化2:分区,分区又称分割,与数据库系统中的分片概念近似,是将一个表模式按照一定标准分成两个或多个表的模式,将数据分割称小的物理单元(分片)的过程。与数据库系统的分片相似,数据仓库的分割也分为水平分割、垂直分割、混合分割和导出分割。把数据库分区的技术“拿来主义”。分区的目标仍然是提高数据仓库的访问效率,是一种系统性能优化策略。优点:分区可以使数据装载、数据访问、数据存档、数据重组、数据监控、数据存储等操作变得简单高效。,分割方法,数据量决定是否需要分割,规则:小的主题不分大的分;不同主题的数据分割方法也不同,如商品按品类,供应商按地址;

31、分割标准要简单可行,一般与现实业务对应比较适合作为标准;分割与粒度挂钩,即分片 对应 粒度级别恰当的数据分区使得数据增长便于管理如果数据分区不合理则会为数据增长和管理造成许多困难简单地说,数据仓库的本质之一是使数据访问变得灵活高效,如果都是大块的数据就达不到这一目标因此,一般情况下,对所有当前细节的数据仓库都要进行分区。,分区标准,数据分区的标准可以根据实际情况来确定,通常可选择按日期、地域、业务领域或组织单位等来进行分区,也可以按多个分区标准的组合来进行一般而言,分区标准应包括日期项,它十分自然而且分区均匀分区之后,小单元内的数据相对独立,处理起来更快、更容易,例子,一个按时间(年)和商品类

32、型作为标准来组织的分区例子,分区14分区24分区34分区44,分区13分区23分区33分区43,分区12分区22分区32分区42,分区11分区21分区31分区41,2000年2019年2019年2019年,流行品,专用品,日用百货,日用杂品,数据,小结:粒度与分区,粒度解决的是数据仓库中数据综合的程度,因此,任何细节的数据都可以构成数据仓库粒度可以根据数据仓库结构划分为多个层次,但是实际应用中更多地采用双重粒度活样本数据库不是综合而是抽样,以小数据量的样本来推断总体,统计学分区是指将数据仓库物理上分割存储,目标是提高访问效率分区需要按照一定的标准进行,一般符合业务逻辑和习惯,性能优化3:表优化

33、-合并表,合并表,例行分析处理时,相关的表存储时放到一起,可大大减少磁头定位时间,提高I/O效率。(与DBMS管理数据 同)这种将多个表中相互关联的记录相邻存储的方式称为合并表,性能优化3:表优化-数据序列,数据序列,把经常按照某一序列访问并处理的一组表存储在一起可减少I/O次数,性能优化3:表优化-引入冗余,数据分析处理的数据是广泛的,数据源中的数据可能在多个地方出现,如有些表的属性不经常发生变化,可以将某些属性复制到多个主题中。与合并表不同,合并表没有增加冗余,引入冗余的方法改变了表的关联模式,出现了冗余的属性。由于存在事务处理,操作型数据中不适合引入冗余,否则会导致数据的不一致性;而数据

34、仓库中不存在事务管理的问题,因此可以采用引入冗余的技术。但是,数据仓库的中冗余仍然要保证数据的一致性,好在数据仓库的数据是稳定的,维护代价很低。增加冗余,减少连接,提高效率,性能优化3:表优化-利用导出数据,有些汇总计算所得数据可以进行物化处理,这种数据为导出数据。导出数据的利用可以节省计算代价而提高效率,同时可以建立的公共数据源,避免不同用户重复计算可能产生偏差(避免数据不一致)。,讨论:规范化/反规范化,规范化是OLTP系统中为避免数据不一致(解决数据依赖,更新异常)和减少冗余的一种重要技术。而在数据仓库中,上述引入冗余、利用导出数据等方法技术已经明目张胆地违反OLTP系统中规范化的原则,但并没有产生数据不一致的问题。原因:数据仓库中没有更新操作,所以不会引起更新异常问题。因此,在数据仓库设计中,为提高效率,可以违反规范化的原则。,性能优化3:表优化-建立广义索引,思想:常用的数据建索引,具体内容略。参考 低级模型 索引策略。,小结,数据仓库系统的性能优化方法很多,可以借鉴数据库系统的优化方法。上述为常见的优化方法,其中,粒度、分区、冗余等方法在实际中应用广泛,这些方法应用有交叉,需综合应用才会达到较好的优化效果。另外,需要针对具体的系统和应用情况而制定优化策略。,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号