(计算机应用技术专业论文)数据仓库实现图增量维护策略研究.pdf_第1页
(计算机应用技术专业论文)数据仓库实现图增量维护策略研究.pdf_第2页
(计算机应用技术专业论文)数据仓库实现图增量维护策略研究.pdf_第3页
(计算机应用技术专业论文)数据仓库实现图增量维护策略研究.pdf_第4页
(计算机应用技术专业论文)数据仓库实现图增量维护策略研究.pdf_第5页
已阅读5页,还剩53页未读 继续免费阅读

(计算机应用技术专业论文)数据仓库实现图增量维护策略研究.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

沈阳航空工业学院硕士学位论文 摘要 数据仓库中的数据大多来源于多个分散、异构及自治的底层业务数据库,其信息 以实视图的形式存储。通过物理上的预先存储,加快了查询响应时间,大大提高了数 据仓库的性能。然而,底层数据库中的数据是不断变化的,为使数据仓库实视图能够 同步反映数据源的变化,必须对数据仓库中的相关数据进行及时维护。 实视图的维护是数据仓库中的关键技术,随数据源和数据量的不断增加,对数据 仓库实视图维护的效率提出了更高的要求,采用完全更新显然是不可行的,研究实视 图的增量维护策略将具有重要的理论价值和实践意义。 在介绍数据仓库及实视图的概念基础上,对三层数据仓库增量维护体系结构进行 了改进,在数据仓库基库与数据仓库之间增加组件包装器,将当前数据库副本转换成 数据仓库所需要的有效格式,同时利用触发器技术获取底层数据库系统的增量。 针对现有实视图增量更新算法存在的效率不高或处理不完善等不足,利用清除旧 数据和保存历史相结合的方法对维表的更新进行改进,在清除旧数据时充分考虑到了 决策的准确性、即时性和高效性等多个因素,并结合用户需求获得最佳平衡点。同时 利用扩展技术元数据聚集相关标识符和当前标志指示符对实视图增量更新进行改进, 避免了对事实表进行的不必要的修改,简化了更新过程,提高了增量更新的效率。 现有的聚集函数增量更新算法只考虑到某些特殊情况,不具有通用性,因此根据 聚集函数更新的特点将其分为可自维护聚集函数和不可自维护聚集函数两类,针对不 同情况对聚集函数的增量更新进行了完善。 为了测试改进算法的功能及效率,在实验中对实视图利用增量更新及完全更新两 种方式进行处理,通过时间及空间的对比,证明了改进算法在数据仓库实视图的维护 中的有效性。 关键词:数据仓库;实视图;增量更新;聚集函数;触发器 沈阳航空工业学院硕十学位论文 a b s t r a c t a l m o s ta l ld a t at h a tm a y b es t o r e di nt h ef o r m so fm a t e r i a l i z e dv i e w s ( m v s ) i nd a t a w a r e h o u s e ( d w ) a r eo b t a i n e df r o mm u l t i p l eb a s i ct r a n s a c t i o nd a t a b a s e st h a ta g es e p a r a t e d , p o s s i b l yh e t e r o g e n e o u sa n da u t o n o m o u s t h eq u e r yr e s p o n d i n gt i m ec a l lb es p e e d e du pa n d t h ep e r f o r m a n c eo ft h ed w m a y b ei m p r o v e do b v i o u s l yb yu s i n gt h ep r e s o r t eo fm a t e r i a l i z e d v i e w s h o w e v e r ,t h ed a t ai nt h eb a s i ct r a n s a c t i o nd a t a b a s e sa r eo f t e nc h a n g e d ,i no r d e rt o m a k et h eu p d a t i n go fm v ss y n c h r o n i s mw i t ht h eu p d a t i n go fb a s i ct r a n s a c t i o nd a t a b a s e s ,t h e r e l a t e dd a t ai nd wm u s tb em a i n t a i n e di nt i m e t h em a i n t e n a n c eo fm v si saf u n d a m e n t a lt e c h n i q u ei nd w w i t ht h ec o n t i n u a l i n c r e m e n to f t h ea m o u n to f d a t as o u r c ea n dv o l u m eo f d a t a ,h i g h e rr e q u i r e m e n t sa r en e e d e d f o rt h ee f f i c i e n c yo fm a i n t e n a n c eo fm v si nd w s ot h ec o m p l e t e n e s su p d a t i n gs t r a t e g y m a yn o tb eaf e a s i b l e s t u d yo ft h ei n c r e m e n t a lm a i n t e n a n c eo fm v sm a yh a v et h e i m p o r t a n tt h e o r e t i ca n dp r a c t i c es i g n i f i c a n c e s a f t e ri n t r o d u c i n gb a s i cc o n c e p t so f d wa n dm v s ,t h et h r e et i e rm a i n t e n a n c ea r c h i t e c t u r e o f d wi si m p r o v e db ya d d i n gac o m p o n e n tw r a p p e rb e t w e e nd wa n dd w b a s e ( d w b ) ,s o t h ev a l i dd a t af o r mo fd wc a nb ec o n v e r t e df r o mc u r r e n td a t ab a s ed u p l i c a t i o n ,a n dt h e i n c r e m e n t so f b a s i ct r a n s a c t i o nd bc a nb eo b t a i n e db yu s i n gt h et r i g g e r s a i m e da ts o m es h o r t a g e ss u c ha st h el o w e re f f i c i e n c ya n di n c o m p l e t ed i s p o s a l si nt h e p r e s e n tm v s i n c r e m e n t a lu p d a t i n ga l g o r i t h m ,aw a yo fc o m b i n i n gt h ec l e a n i n go l dd a t aa n d k e e p i n gt r a c ko fh i s t o r yi sp r o p o s e dt oi m p r o v et h ei n c r e m e n t a lu p d a t i n go fd i m e n s i o n t a b l e s w h i l ec l e a n i n gt h eo l dd a t a h o wt om a k ear e a l t i m ed e c i s i o na c c u r a t e l ya n d e f f i c i e n t l yi sv e r yi m p o r t a n t ,a n dt h eu s e r s r e q u i r e m e n t sm u s tb ec o m b i n e dt og e tt h eb e s t b a l a n c ep o i n t t h ec u r r e n tf l a gi n d i c a t o ra n da g g r e g a t i o nr e l a t e di n d i c a t o ra r eu s e dt o i m p r o v et h em v s i n c r e m e n t a lu p d a t i n ga l g o r i t h m ,s ot h eu p d a t i n gp r o c e s sc a nb e s i m p l i f i e d ,s o m eu n n e c e s s a r yc o r r e c t i o n so ff a c tt a b l ea l ea v o i d e da n dt h ei n c r e m e n t a l u p d a t i n ge f f i c i e n c ym a yb er a i s e d t h ec u r r e n ti n c r e m e n t a la l g o r i t h m so fa g g r e g a t i o nf u n c t i o n sa r eo n l ya d a p t e dt os o m e 鲨型堕窒三些堂堕堡主兰焦笙苎 s p e c i a lc o n d i t i o n sa n dh a v en og e n e r a l i t y a c c o r d i n gt ot h e i rc h a r a c t e r i s t i c s ,a g g r e g a t i o n m n n i o n sa l ed i v i d e di n t ot w ot y p e so fs e l f - m a i n t e n a n c ea n dn o n - s e l f - m a i n t e n a n c e ,a n dt h e i n c r e m e n t a lu p d a t i n gs t r a t e g i e so fa g g r e g a t i o nf u n c t i o n sa l ed e s i g n e dc o m p l e t e l y f o r d i f f e r e n tc a s e s i no r d e rt ot e s tt h ef u n c t i o na n de f f i c i e n c yo ft h ei m p r o v e da l g o r i t h m ,b o t hc o m p l e t e n e s s u p d a t i n ga n di n c r e m e n t a lu p d a t i n g a r eu s e dt od e a lw i t hm v s m a i n t e n a n c ei nt h e e x p e r i m e n t t h ei m p r o v e da l g o r i t h mi sp r o v e de f f e c t i v e l yi nm v s m a i n t e n a n c e i nd w b y c o m p a r i n g t h er u n n i n gt i m ea n dm e m o r y k e yw o r d s :d a t aw a r e h o u s e ;m a t e r i a l i z e dv i e w ;i n c r e m e n t a lu p d a t i n g ;a g g r e g a t i o n f u n c t i o n ;t r i g g e r 1 i i - 原创性声明 本人郑重声明:所呈交的学位论文是本人在导师的指导下独 立完成的。除文中已经注明引用的内容外,本论文不包含其他个 人或集体已经发表或撰写过的作品或成果,也不包含本人为获得 其他学位而使用过的成果。对本文研究做出重要贡献的个人或集 体均已在论文中进行了说明并表示谢意。本声明的法律后果由本 人承担。 论文作者签名:毕私友 年月日 版权授权说明 本人授权学校“有权保留送交学位论文的原件,允许学 位论文被查阅和借阅,学校可以公布学位论文的全部或部分 内容,可以影印、缩印或其他复制手段保存学位论文”:愿意 将本人学位论文电子版提交给研究生部指定授权单位收录和 使用。学校必须严格按照授权对论文进行处理,不得超越授 权对毕业论文进行任意处置。 授权人:瘁倾 年月日 沈阳航空工业学院硕士学位论文 第1 章绪论 1 1 问题提出 随计算机应用的普及,目前绝大多数现代企业都建立了各种各样的、针对不同具 体业务的信息系统,这些系统为企业业务的快速、准确处理提供了基本条件,同时为 企业积累了大量的、有价值的业务信息。面对如此众多的历史数据和当前数据,用户 不再满足于日常管理,企业管理人员特别是企业决策者需要充分利用这些数据,对企 业的客户状况、市场情况、发展趋势及自己所处的商业环境有更加深入的了解以做出 有效的决策。因此,要求管理人员能够从大量复杂的业务资料中获取相应的决策信息, 及时把握市场变化的趋势,做出有效的判断和抉择。在这种需求牵引下,提出了数据 仓库( d a t aw a r e h o u s e ,简记为d w ) 这一新概念。数据仓库作为一种高效地解决数据 使用问题的技术,正越来越多地应用于传统的数据库领域。 1 1 1 数据仓库的出现 数据仓库专家w m i n m o n 在其著作b u i l d i n g t h ed a t aw a r e h o u s e 一书中对数据 仓库给出了如下描述:数据仓库是一个面向主题的( s 嘶e c to r i e n t e d ) 、集成的 ( i n t e g r a t e ) 、相对稳定的( n o n - v o l a t i l e ) 、反映历史变化( t i m ev a r i a n t ) 的数据集合, 用于支持管理决策i ”。 数据仓库中的数据面向主题,主题是一个在较高层次上将数据归类的标准,每一 个主题对应一个宏观的分析领域。数据仓库中的数据从原有的分散的数据库中抽取出 来,在进入数据仓库之前,必须经过加工与集成,首先要统一数据源中的所有不一致, 然后进行数据综合和计算,最后得到集成的数据。数据仓库反映的是历史数据,而不 是日常事务处理产生的数据,数据经加工和集成进入数据仓库后极少或根本进行不修 改,因此是相对稳定的。数据仓库是不同时期的数据集合,是随时间变化的,数据仓 库中的数据保存时限应满足决策分析的要求。 数据仓库作为服务于企业级的应用,能够减轻系统负担、简化日常维护和管理, 增强数据的完整性、兼容性和有效性,提高了数据存取的效率,可以提供简单、统一 的查询和报表机制,为管理人员的决策提供有力的支持。 沈阳航空工业学院硕士学位论文 1 1 2 数据仓库维护的重要性 数据仓库“随时间变化”的特性决定了其构建、维护过程都处在不断的变化之中, 不断进行数据的转换、载入、计算、输出及刷新操作。数据仓库维护的主要工作是管 理日常数据载入,包括刷新数据仓库的当前详细数据、将过时的数据转化为历史数据、 清除不再使用的数据、管理元数据,以及确定数据仓库的数据刷新频率等。 数据仓库维护技术的研究是一项十分迫切的任务,具有重要的学术价值和广泛的 应用前景。由于原始数据信息的分散性和非完整性,数据仓库实施过程中约有3 0 的 费用和8 0 的时间与数据抽取集成、装载和维护有关【2 】。如何对数据仓库的进行加载 和高效率维护已成为数据仓库实际项目中的障碍,在具体设计数据仓库的过程中,首 先要解决的难点是加载数据和如何维护数据的一致性问题,以及加载维护的时机和加 载的效率,其次才是数据仓库的实现。操作型环境下数据源( 一般为数据库系统) 的 数据与数据仓库中的数据一致性维护成为当今数据仓库维护技术研究的重点之一,在 实际的项目开发中具有广阔的应用前景。 1 2 国内外研究现状 随数据仓库技术在现代信息领域中的广泛应用,建立一个数据仓库并正确高效地 维护其数据受到越来越多的关注。其中,核心问题之一就是如何保证从数据仓库读取 的数据正确的反映数据源状态,该问题可以继续划分为两个子问题:( 1 ) 如何保证数据 仓库与底层数据库数据的一致性,特别是在数据源来自多个自治、异构的数据源的情 况下;( 2 ) 如何保证在对数据仓库数据进行更新的同时从数据仓库读取数据时的数据一 致性【3 j 。 目前,学术界在数据仓库维护技术的研究工作主要包括以下方面:数据仓库维护 的体系结构、实视图的选择、实视图的维护、从数据仓库中的综合数据恢复原始数据、 快速收集与有效存取数据等等,其中实视图维护的研究主要集中于其增量维护方式。 文献 4 介绍了实视图的相关概念,描述了实视图的应用,并就实视图维护过程中需要 解决的问题和技术进行了讨论。d a l l a nq u a s 8 和j e n n i f e r w i d o m 提出的2 v n l 算法【5 1 , 允许数据仓库的维护与用户读取并发执行,该算法逻辑上维护两个版本的数据库,不 需要利用锁机制来保证串行化,但该算法没有考虑所维护的视图是由多个数据源生成 沈阳航空工业学院硕十学位论文 的情况。a s h i s hg u p t a 提出了c o u n t i n g 算法和d r e d 算法【6 】,c o u n t i n g 算法能够高效的 维护非递归视图,而d r e d 算法则针对递归视图的维护比较有效,这两个算法都能够 支持聚集函数。k iy o n gl e e 等人提出了d e l t ap r o p a g a t i o n 算法【7 l ,它通过分析各个基 表的属性,使得所需要访问基表的次数达到最小,同时还提出了对各个增量维护算法 的性能进行度量的代价模型。 国内的数据仓库工作者在数据仓库的增量维护方面同样开展了一些研究工作。文 献【2 】提出多层数据仓库体系结构下的增量多版本在线维护算法,实现了多层数据仓库 维护系统原型。文献【3 】采用空间换时间的策略,提出一种新的分布连接算法( 增量的 j o i n 算法) ,新的分布连接算法相对已有的算法,不仅具有理论价值,易于实现,而 且减少了运算时间。文献 8 】提出了一个实现数据仓库增量式刷新的体系框架,重点解 决了数据异常和实视图更新问题,将复杂的维护过程分为提交和刷新两个阶段,进一 步保证了实视图维护的可控制性和正确性。文献【9 】提出了基于a g e n t 和基库的三层数 据结构及多源实视图批量刷新维护算法o v r b u ,将a g e n t 和基库有机的结合起来, 减少了网络数据传输量,降低了事务数据库的负载,扩大了数据仓库的应用领域。文 献0 0 提出采用s b t r e e s 索引结构快速查找和更新预聚集数据的增量计算和维护算法, 文献【1 l ,1 2 ,1 3 在其基础上进行了改进,通过在维表中加入两个时间字段( 开始和结束时 间) ,能同时处理纠错改变和自然改变所引起的增量更新。 1 3 论文主要工作 数据仓库中包含从底层数据库中抽取出来的数据并以实视图的形式存储,当数据 源发生变化时,数据仓库中的数据也必须随之更新以反映这种变化。面对如此大量的 数据,采用完全更新的方法显然是不可行的,必须提出一种新的、高效的维护方法, 因而本文的工作主要集中于实视图的增量维护方式。 本文主要的工作如下: ( 1 ) 介绍数据仓库及实视图维护的基础知识。将底层数据库或其它数据源中的数据 经过清洗、转换、加载,并以实视图形式存储在数据仓库中,实视图分为基本实视图 和导出实视图,本文给出其形式化的定义。 ( 2 ) 对三层数据仓库维护体系结构进行改进。在数据仓库基库与数据仓库之间增加 沈日l 航空工业学院硕士学位论文 组件包装器,完成对基库中的底层数据库当前副本的格式转换,解决了底层数据库的 异构问题,并且处理了最基本的数据格式冲突,提交给集成器比较规范的数据,方便 了集成器的工作。同时利用触发器技术获取增量文件,过滤无关更新,提高数据仓库 实视图的维护效率。 ( 3 ) 设计数据仓库实视图增量维护流程图并对现有更新方法进行改进。针对现有实 视图增量更新算法存在效率不高或处理不完善等方面的不足,提出利用清除旧数据和 保存历史相结合的方法对维表的增量更新进行改进,在清除旧数据时充分考虑到决策 的准确性、即时性及高效性等几个方面,并结合用户需求获得最佳平衡点。 ( 4 ) 按照事实表的变化情况进行分类,分为事实表的纠错改变、自然改变两种方式, 针对不同的变化方式进行相应的增量更新。同时将维表的纠错改变分为聚集无关更新 和有关更新两种类型,利用扩展技术元数据聚集相关标识符和当前标志指示符对实视 图增量更新进行改进,避免对事实表进行的不必要的修改,简化了更新过程,提高了 增量更新的效率。 ( 5 ) 由于现有的聚集函数增量更新算法只考虑到某些特殊情况,不具有通用性,因 此根据更新的特点将聚集函数分为可自维护聚集函数和不可自维护聚集函数两类,针 对不同情况对聚集函数的增量更新进行完善。 ( 6 ) 为了测试改进算法的功能及效率,在实验中对实视图利用增量更新及完全更新 两种方式进行处理,通过运行时间及所耗内存空间的对比,证明了改进算法在数据仓 库实视图的维护中的有效性。 1 4 本章小结 本章是全文的绪论部分,首先从课题的学术研究背景及其意义出发,对数据仓库 相关知识进行了介绍,然后论述了数据仓库维护的重要意义,以及国内外的研究现状。 通过本章的介绍,认识到数据仓库维护在数据仓库环境的建立及决策支持系统的运行 中的重要地位,对数据仓库维护的研究尤其是实视图增量更新策略的研究具有很强的 现实意义。最后简要的说明了论文的主要工作。 沈阳航空:r 业学院硕士学位论文 2 1 数据仓库概述 第2 章实视图维护基础知识 数据仓库实际上是一个“以大型数据管理信息为基础的、附加在这个数据库系统之 上的、存储了从企业所有业务数据库中获取的综合数据的、并能利用这些综合数据为 用户提供经过处理后的有用信息的应用系统”。 2 1 1 数据仓库体系结构 对原有、分散的外部数据及数据库中的数据进行再加工,形成一个综合的、面向 分析的环境,以更好支持决策分析,从而形成了数据仓库系统。图2 1 显示了数据仓 库系统的基本体系结构图。 信息访阿 数据存储和管理 数据获取 图2 1 数据仓库系统体系结构图 f , g 2 1 a r c h i t e c t u r eo f d a t aw a r e h o u s es y s t e m 数据仓库系统包括数据源层、数据仓库层、应用层。 沈阳航空工业学院硕士学位论文 ( 1 ) 数据源层:这一层不仅包括常见的关系数据库,也包括w o r d 文档、h t m l ( h y p c r t e x tm a r k u pl a n g u a g e ,超文本标记协议) 文件等各种数据源。该层负责从外部数据源获 取数据,数据被区分出来,经过提取、清洁、转换、聚集等步骤得到集成和综合的数 据,载入数据仓库。 ( 2 ) 数据仓库层:该层负责数据仓库的内部维护和管理,提供的服务包括数据存储 的组织、数据的维护、数据的分发、数据仓库的例行维护等。 ( 3 ) 应用层:信息访问部分属于数据仓库的前端,面向不同的最终用户。数据仓库 的最终用户在这里提取信息、分析数据并实施决策。用于数据访问的软件工具主要是 可视化工具、多维分析工具和数据挖掘工具等。 2 , 1 2 联机分析处理技术( o l a p ) 数据仓库是管理决策分析的基础,要有效地利用数据仓库的信息资源,必须要有 强大的工具对数据仓库中的信息进行分析决策。o l a p 是针对特定问题的联机数据访 问和分析,通过对信息的多种可能的观察形式进行快速、稳定、一致的交互性的存取, 允许管理决策人员对数据进行深入观察1 4 1 。 ( 1 ) o l a p 重要概念 o l a p 中有三个重要概念,它们分别是维、度量和事实。 维( d i m e n s i o n ) 维是人们观察现实世界的角度”4 】。管理人员在日常管理决策中,经常需要不断地 选择各种对决策活动有重要影响的因素进行分析,在数据仓库的应用中,就需要有一 个出发点、一个观察问题的角度。维还可以存在细节程度不同的多个描述方面,称这 多个描述方面为维的层次。维大多具有多个层次,例如描述时间维时,可以从日期、 月份、季度、年等不同层次来描述,同样如图2 2 中,省、地区、国家等构成了一个 地理维的多个层次。 维的一个取值称为该维的一个维成员。如果一个维是多层次的,那么该维的维成 员是在不同维层次的取值的组合。根据以上描述,对维进行如下定义。 定义2 1 :维。定义维d i m e n s i o n 为d ,其值域为d o m ( d ) = ,其中 d m , ( i e 是该维的成员。 沈阳航空工业学院硕士学位论文 图2 2 维度层次结构 f i g 2 2h i e r a r c h yo f d i m e n s i o n 定义2 2 :维层次。一个维层次是一个线性有序的序列,h i c r a c h y ( d ) = 曲l ,k , m n ,当m = l 时,表示该维只有一个层次,维是一个有向无环图。 度量( m e a s u r e ) 度量是事实的数值属性,表示了与维相关的业务行为和业务表现,如销售额、销 售量、供应量等都可以是度量。度量在事实表里,由维成员的组合情况决定1 5 】。 度量具有依赖性,它和维一起反映数据对象,度量是用户希望分析的那些数据, 维定义了这些度量的组织方式。对于度量这种数值属性,为了能获取更进一步的信息, 可以用不同的方式进行聚合,也称作聚合属性【”1 。度量分为沿着所有维都是可聚合的, 沿着部分维是可聚合的和沿着任何维都不可聚合的三种情况。 定义2 3 :度量定义度量为m e a s u r e ( m ) = 其中c m 为度量属性;e 为 基于度量的聚集函数,如s u m ,a v g 等。 事实( f a c t ) 在数据仓库和联机分析处理的应用中,事实是人们所关心的内容。事实是制订决 策过程中,决策者所感兴趣的概念,对应于企业中动态发生的事件,如产量、库存量、 销售量、销售额等【1 5 l 。根据对事实的描述,建立事实的概念模型。 定义2 a :事实。定义事实为f a c t ( 0 = ,其中f n a m e 表示事实名;d 1 一,d 。是与该事实联系的各个维;m 1 ,m 。是与该事实联系的 各个度量:e 为以上定义的事实的基本操作。在一个零售行业的数据仓库中,销售事 实包括:时间、顾客、产品、购买地点、数量和销售额等字段,用户可以用时间、顾 客、产品、购买地点在总体上分析数量和销售额。在这种情况下,数量和销售额就是 沈阳航空工业学院硕十学位论文 度量,而时间、顾客、产品、购买地点等每一个都是一个维。 ( 2 ) o l a p 的实现 o l a p 系统在进行数据组织处理时,可以采用专门的多维数据库系统,或者利用 现在比较普遍的关系数据库技术来模拟多维数据集。这样在o l a p 的实现时就产生了 基于多维数据库的o l a p 系统( m u l t i d i m e n s i o n a lo l a p ,简记为m o l a p ) 和基于关系数 据库的o l a p 系统( r e l a t i o n a lo l a p ,简记为r o l a p ) 两种方式。 r o l a p 系统按“维表事实表”结构组织数据,以二维关系表存储,主要有星型模 型( s t a rs c h e m a ) 和雪花模型( s n o wf l a k es c h e m a ) 两种实现形式。 星型模型由一个事实表和一组维表组成,处在中间的是事实表,事实表中包含了 度量属性和指向周围维表的外码,维表位于事实表周围,包含每个维的描述信息,事 实表中的一个事实指向每个维表中的一个元组。星型模型不能很好地对维层次结构建 模,它要求一个维的所有层次上的实体信息都保存在一个表中,即使不同层次实体具 有不同的描述属性,也要求所有层次中的实体都用同样一组描述属性,这样造成了存 储空间的浪费。 雪花模型是星型模型的扩展,对星型模型的维表进一步层次化,形成一些局部的 “层次”区域,维表分解成与事实表直接关联的主维表和与主维表关联的次维表,结果 模式类似雪花的形状,因此称为“雪花模型”。雪花模型最大限度地减少数据存储量, 使维表尽可能地规范化,但执行查询需要更多的连接操作,会影响查询性能。 2 2 实视图概念及分类 实视图是数据仓库针对o l a p 查询对原始数据进行预处理,提供了预先生成供数 据仓库查询的数据,这样复杂查询可以直接在数据仓库中进行,无需存取原始数据, 从而提高了系统的性能【1 6 1 。因此实视图的选择、实视图的维护、利用实视图优化查询 等是数据仓库中的重要内容。 2 2 1 实视图概念 视图( v i e w ) 是从一个或几个基本表( 或视图) 导出的表。视图和基本表不同,视 图是一个虚表,即数据库中只存储视图的定义( 存在数据字典中) ,而不存放其所对应 的数据。 一8 一 沈阳航空】业学院硕士学位论文 数据仓库中存储的数据是由底层数据库或其它数据源中的数据经过清洗、转换、 加载而成的,从这个角度来看,它类似于数据库系统中的视图的概念。为了加快查询 速度,通常将查询频率高的视图内容保存在数据仓库中,这样便可以直接访问数据仓 库获取数据而无须再访问底层的数据库,这种视图称为实视 ( m a t e r i a l i z e dv i e w ) 。与 数据库中的视图相对比,它不仅仅存储视图的定义,也存储视图所对应的实际内容。 2 2 2 实视图的分类 数据仓库中主要存在两种形式的实视图。一种是基本实视图,它由底层数据库中 的数据经过过滤、转换和综合后生成,作为数据仓库中的基表存在,维表和事实表属 于这一类;另一种是定义在其它实视图基础上的导出实视图,是对基本实视图或底层 数据库中的基表进行选择、投影、连接等操作生成的视图,有助于提高系统查询性能, 如不同综合级别的预聚集和具有分片概念的数据分割实视图等都是导出实视图。下面 给出基本实视图和导出实视图的形式化定义。 定义2 5 :基本实视图( b a s i cm a t e r i a l i z e dv i e w ,简记为b m v ) 。基本实视图定义 一般形式为:b m v = f ( h a l oa 2 ( t 1 一t 2 一一枷,其中t t ,t 2 k 是底层数据库中的 表,a t 、a 2 为限定条件,f 为聚集函数,常用的有s u m 、c o u n t 、a v g 、m a x 、 m 玳等。对t l ,t 2 k 进行连接、投影和选择及聚集操作后生成b m v ,并在数据仓库 数据库中物理存储。在应用实例中建立基本实视图e m p l o y e e 的过程如下: s e u 圮t e m p l o y e e l d ,f i r s t n a m e + ”+ l a s t n a m ea sn a m e ,t i t l e ,r e p o r t s t o d t t o e m p l o y e e f r o m e m p l o y e e s : 定义2 6 :导出实视图( d e r i v e dm a t e r i a l i z e dv i e w ,简记为d m v ) 导出实视图 的一般形式为:d m v = f ( h a t oa 2 0 3 m v l o o b m v 2 一一b m v n c od m v l d m v 2 一一d m v n ) ) ,其中b m v l ,b m v 2 b m v n 是d w 中的基本实视图,d m v l , d m v 2 d m v n 是d w 中的导出实视图,对其进行连接、投影和选择,并将聚集函数 作用其上,所得聚集结果存入一新生成的表中,称为导出实视图。在应用实例中建立 导出实视图es a l e s 的过程如下: s e l e c t c e m p l o y e e ,c o u n t ( d i s t i n c tc c u s t o m e r l d ) a sc _ n u m , s u m ( s t o t a l ) a sct o t a l 沈阳航空t 业学院硕士学位论文 t o f r o m n o r t h w i n d _ d w d b o e _ s a l e s n o r t h w i n d _ d w d b o s a l e ss i n n e rj o i n n o r t h w i n d _ d w d b o e m p l o y e ee o ns e m p l o y e e i d = e e m p l o y e e i d g r o u p b yc e m p l o y e e 实视图是数据仓库中数据组织的基本方式之一,它在数据仓库中发挥着重要的作 用1 9 】。使用实视图避免了每次o l a p 查询都要访问原始数据,减少了昂贵的远程连接 和聚集操作的重复,有利于减轻数据仓库网络负载;其次避免了每次访问这些视图时 都要消耗大量时间、经过复杂处理重新生成,大大提高了系统性能,缩短了响应时间。 2 3 实视图维护的策略及时机 数据仓库以提高查询性能为设计目标,其数据结构采用逆规范化设计,从而对数 据的一致性维护提出了更高的要求,对实视图尤其是导出实视图一致性维护的更新与 维护策略、更新的时间选择( 动态即时或周期性) 、更新的模式( 在线或离线) 及通用 的数据周期研究是进行数据仓库维护时必须认真考虑的问题。 2 3 1 实视图维护策略 当基表因记录的插入、删除或者更新而发生变化时,实视图必须作相应改动以保 证查询结果的正确性。这种在源数据发生变化之后,保证视图及时更新的过程称为视 图维护( v i e wm a i n t e n a n c e ) 1 2 1 。 对视图维护问题的一种解决方法就是每次当基表数据发生变化时,对所有实视图 完全重新计算生成。在这种方法中,所有视图都要从数据源重新导出,每次都需要从 当前数据库中重新计算视图进行更新。它实现简单,但是缺点也显而易见: ( 1 ) 当底层数据库中仅有一小部分数据发生变化时,重新扫描所有数据源并生成视 图导致视图维护的效率低下,视图维护代价过大。 ( 2 ) 由于数据仓库中视图的维护和访问通常是分时进行的,若视图维护的时间过 长,势必会使数据仓库长时间处于不可访问状态。 这种当底层数据库发生改变时需要对数据仓库中实视图进行重新计算的方法,在 时间和空间上都造成极大的浪费,代价巨大,在数据量较大或变化较频繁时显然是不 1 0 沈阳航空t 业学院硕士学位论文 可行的,因此现有的实视图维护绝大多数采用增量更新维护。 视图的增量维护是指只需重新计算底层数据库中的变化部分来对实视图的进行维 护的方法。数据仓库系统根据实视图的定义和底层数据库的增量对实视图进行更新, 以确保实视图的状态与源数据状态保持一致。和重新生成视图相比,采用增量更新算 法大大减少维护时间,同时维护可以是动态的,一旦数据源发生变化,实视图可以随 时更新以反映这种变化,确保数据仓库提供的视图始终是最新的。 2 3 2 实视图维护时机 实视图维护分为立即维护和延迟维护两种方式。两者的区别在于前者保证数据仓 库中的数据与数据源当前状态一致,而后者则只保证数据仓库中的数据与数据源过去 某一状态一致。立即维护方式一般要求在基表更新事务尾部加入维护操作,该方式虽 然保证了实时的更新,但严重增加了数据源更新事务的负担,当维护包含远程数据访 问时,这种负担难以接受,因此立即维护方式一般仅用于本地维护。 与立即维护方式不同,延迟维护方式在基表更新事务完成之后对其进行维护操作, 即实视图不必在基表每次或若干次更新以后就进行维护,而可以在基表累积了大量更 新、一定的事件触发( 如用户查询或发出显式的更新命令) 之后更新实视图。虽然它 降低了更新的实时性,但同时大大降低了更新事务的负担。 在大多数决策支持应用中,并不要求及时更新,因此在很多实际应用中采用延迟 维护方式更加适宜。 2 4 本章小结 本章对实视图维护的基础知识进行了介绍,首先介绍数据仓库系统的基本体系结 构及联机分析处理中的重要概念,然后重点介绍实视图的概念及其分类,并给出形式 化的定义,最后对实视图维护的策略及时机进行了介绍,通过比较,证明在数据仓库 项目实际运行中实视图的增量式延迟维护方式是切实可行的。 沈阳航空t 业学院硕士学位论文 第3 章增量维护体系结构 数据仓库中实视图的数据来自底层数据库,因此当与之相关的数据源中的数据发 生变化时,为了避免数据过期必须正确、及时地更新实视图中的数据,而实视图正确 更新的一个先决条件是能够实时监控数据源并正确捕获其变化。依据被集成的数据源 的类型不同,对一个具体的数据仓库环境,可以有多种不同的解决方法,如采用触发 器的方式或读取数据源的日志信息等,本章将对一些常用的捕获数据源变化的方法进 行分类,并以s q ls e r v e r2 0 0 0 为例,重点阐述如何利用触发器技术捕获数据源变化。 3 1 增量维护体系结构 当前的数据仓库模型基本上都是类似于“数据库一数据仓库”的两层结构模型,在 这种模型下数据仓库中的数据来源于各分散的数据库系统,数据仓库中的视图维护需 要这些数据源的支持1 7 】。由底层数据库来完成视图维护,无疑增加其负担,导致这些 数据库的o l t p 性能下降。 为了减轻底层数据库抽取、转换、集成、维护及下钻查询的负载,文献【1 7 】提出 一种数据仓库三层维护结构( t h r e et i e rm a i n t e n a n c e a r c h i t e c t u r e ,简记为n d a ) 。t m a 是在传统的“数据库一数据仓库”两层模型中间增加了一个叫做“数据仓库基库( d a t a w a r e h o u s eb a s e ,简记为d w b ,以下简称基库) ”的数据库,由此构成了“数据库一基库 数据仓库”三层维护体系结构。基库类似于一个中间件,向上,它与数据仓库关联: 向下,它与传统的数据库关联,存储的是当前对应数据库的副本。数据库和基库之间 的数据流是单向的,数据库只需将其数据变化情况通知基库即可,除此之外无需作其 它任何动作,这无疑极大地减轻了底层数据库的负载;基库和数据仓库之间的数据流 是双向的,它向数据仓库提供视图维护的基本数据,数据仓库发出的某些下钻查询请 求则在基库中执行完成1 1 7 1 。 基库中存储的是当前数据库的副本,由于实视图更新时并不需要将所有变化情况 反映到数据仓库,只需捕捉与数据仓库查询和集合有关的数据,因此在基库与数据仓 库之间需要包装器来完成两者之间的格式转换。按照在实视图维护过程中完成的主要 1 2 沈阳航空工业学院硕士学位论文 工作将数据仓库三层体系结构划分为监控器、基库、包装器和集成器四个模块。当底 层数据库的内容发生变化时,监控器捕捉数据源中的变化数据,将变化后的数据库副 本存储在基库中,再由包装器将副本转换成数据仓库所需要的格式,将这些报告给集 成器,集成器计算相应的变化,最后将这些变化传送给数据仓库,数据仓库系统根据 实视图的定义,求出实视图的增量,并相应地修改实视图,以确保实视图的状态与源 数据状态保持一致。它们之间的关系如图3 1 所示。 i i n t e g r a t o r i 1w m 彬l l 竺竺l l 骶州l t+ 审审审 l m o n i t o r l lm i f m o n i t o r l 数据仓库层 数据仓库基库层 数据库层 图3 1 数据仓库维护体系结构 f i g 3 1 m a i n t a i na r c h i t e c t u r eo f d a t aw a r e h o u s e ( 1 ) 监控器和数据的增量更新 在数据仓库的运行过程中,底层数据库中的数据随时会发生变化,使得数据仓库 中的数据过期,因此必须要对其进行定期或者不定期的更新。首先要能够准确感知底 层数据库中自上次更新以来发生变化的数据,监控器根据相应的跟踪策略检测数据变 化的情况,并负责向基库报告底层数据库中数据的变化情况【l s l ,对于底层数据库中数 据的任何变化( i n s v r t u p d a t e d e l e t e ) ,监控器都产生一个消息,并在特定更新时机通知 基库。 目前捕捉变化数据的方法主要有时标方法、日志文件、快照、触发器等,应根据 不同数据源的情况,选择最合适的方法获取变化的数据。 ( 2 ) 基库 1 3 沈阳航空工业学院硕士学位论文 在传统数据仓库体系结构下,数据仓库与数据库耦合程度高,数据库担负起数据 仓库实视图维护和o l a p 的下钻任务,负载繁重。在数据源和数据仓库之间增加基库 较好的解决了底层数据库端负荷过大的问题。 数据仓库基库是数据源与数据仓库的过渡( 数据准备区) ,存储的是当前数据库的 副本,它使得与当前数据库有关的下钻操作只需反馈到基库这一层,无须下钻到底层 数据库进行,减轻了底层数据库的负载。 基库的更新由底层数据库和监控器来完成,监控器监控底层数据库的变化,将所 有变化都通知基库,在一定时间段内进行更新。这种更新并非对当前数据库副本的完 全复制,而是在原有最新数据库副本的基础上,利用监控器捕获的增量进行。 ( 3 ) 包装器 包装器访问异构的数据源并将所需的源数据转换为数据仓库所需要的格式【1 8 l ,是 集成前的预处理。由于底层数据库的d b m s 、所提供的数据类型及硬件等多方面的差 异,原则上

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论