已阅读5页,还剩61页未读, 继续免费阅读
(计算机软件与理论专业论文)可扩展数据仓库性能管理的研究与设计.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
可扩展数据仓库性能管理的研究与设计 摘要 在信息技术高速发展和激烈市场竞争的今天,企业管理者如何从来自不同数 据源的大量的数据中得到良好的决策支持,这就产生了数据仓库技术。本文从数 据集成、查询优化和并行技术三个方面、对数据仓库的性能进行了研究和讨论。 在进行数据集成的时候对不同的数据源采用不同的策略,对数据仓库平台中休眠 数据的处理我们要根据其产生的特点,预先评估数据的可靠性和价值方面的问题, 可以在数据集成的时候将不必要的数据拒之门外,对查找出的休眠数据采用不同 的方法从数据仓库中删除它们。当大量的企业内部数据和复杂的外部数据不断进 入数据仓库以后,如果用软件的方法和现有的条件已经无法改善它的性能的时候, 则必须通过使用并行硬件和并行软件技术来扩展原有的结构以适应新环境要求。 本文的第五章中我们建立了一个考试数据仓库平台,通过使用该平台,管理 者和用户可以很方便地查询考试方面的信息,我们在数据集成时对文本文件等信 息处理和休眠数据的处理、数据的分割和布纹等方面取得了较好的效果。 关键词:可扩展数据仓库、并行技术、数据集成、查询、非规格化 r e s e a r c ha n dd e s i g no ns c a l a b l ed a t aw a r e h o u s ep e r f o r m a n c e a b s t r a c t w i t ht h e h i g hs p e e dd e v e l o p m e n to fi n f o r m a t i o nt e c h n o l o g y ,t h ee n t e r p r i s e m a n a g e r sl l o wt or n a k eu s eo ft h ea b u n d a n td a t at h a tc o m ef r o md i f f e r e n td a t as o u r c e s a n dp r o f i tf r o mt h o s e ,t h u sd a t aw a r e h o u s e t e c h n o l o g yc o m e s i n t ob e i n g i nt h i st h e s i s , d a t aw a r e h o u s ep e r f o r m a n c ei ss t u d i e db a s e do od a t ai n t e g r a t i o n 、q u e r yo p t i m i z a t i o n a n dp a r a l l e l t e c h n o l o g y d i f f e r e n tm e t h o d ss h o u l db eu s e dt od ow i t hd a t at h a tc o m e ( i o md i 脆r e n td a t as o u r c e sa tt l l et i m eo fd a t a i n t e g r a t i o n a st od o r m a n td a t a w e s h o u l de v a l u a t et i l ev a l u ea n d r e l i a b i l i t y i na d v a n c es ot h a tt oe x c l u d et h o s en o t o e c e s s a l yd a t a t i l ep e r f o r m a n c e o fd a t aw a r e h o u s eb e g i n st og od o w n ,w h i l em o r ea n d m o p ed a t ac o m ei n t o y o u rd a t aw a r e h o u s ef l a t a tt h i st i m ew es h o u l di m p r o v et h e p e r f o i m a n c eo f d a t aw a r e h o u s eb yu s i n gav a r i e t yo f m e t h o d s ,c o n f i g u r a t i o n sh a v et o b ee x t e n d e dift i l ef o r m e rm e t h o d sc a n n o ts a r i s f yt h en e e do f m a n a g e r so ru s e r s h e r e w el l s e p a l u l l e lt e c h n o l o g yt oi m p r o v eo u rd a t aw a r e h o u s ep e r f o r m a n c e i ti n c l u d e s p a l a l l e ls o f t w a r em e t h o d sa n dp a r a l l e ll l a r d w a r em e t h o d s a ne x a md a t aw a r e h o u s ei sb u i l ti n c h a p t e r5 t h ee n t e r p r i s em a n a g e r sa n du s e r s m a yq u e r ye x a mi n t b r m a t i o nb yu s i n go u rd a t aw a r e h o u s ef l a t w eh a v eg o t t e nb e t t e r e t 、f e c to i lt e x ti n t b r m a t i o na n dd o r m a n td a t a p r o c e s s i n g ,d a t ap a r t i t i o na n dd i s t r i b u t i o n k e yw o r d :s c a l a b l ed a t a h ? a r e h o u s e ,p a r a l l e lt e c h n o l o g y 、d a t ai n t e g r a t i o n 、 q u e r y 、1 1 0 1 1 一n o r m a l i z e d 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的研究成果。据 我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的 研究成果,也不包含为获得金且巴王业太堂或其他教育机构的学位或证书而使用过的 材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示谢 意。 学位论文作者签名: 叁谣歪签字日期:d 诤7 月 学位论文版权使用授权书 本学位论文作者完全了解金肥工业太堂有关保留、使用学位论文的规定,有权保留并 向国家有关部门或机构送交论文的复印件和磁盘,允许论文被查阅和借阅。本人授权金肥 工业太堂可以将学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩 印或扫描等复剃手段保存、汇编学位论文。 ( 保密的学位论文在解密后适用本授权书) 学位论文作者签名;叁谨醒 签字日期:a 。口7 年7 月;日 学位论文作者毕业后去向 工作单位: 通讯地址: 聊签名袭【司。$ 签字日期哆年7 月;日 , 电话 邮编 致谢 值此论文完成之际,首先向我的导师吴国凤副教授表示最真诚的感谢。吴老 师对我的这篇论文的完成倾注了大量的心血,从论文的选题、修改直至论文的定 稿一直给予精心的指导并提出了大量的宝贵意见。吴国风老师不仅在学习上指导 我们,而且在生活上也给我们无微不至的关怀。吴老师渊博的知识、严谨的治学 态度和对知识孜孜不倦的追求精神,给我留下了深刻的印象,这也是我以后工作 学习的榜样。 其次我还要感谢我的师兄弟张本宏、韩飞、韩巍、刘建华、曹祝军等同学, 还有周强和汪祖满同学,在论文工作中他们给我提出了很多宝贵的建议,也给了 很多支持和帮助。正是这些同学的友爱和帮助,使我度过了愉快的三年硕士生活, 并使我在专业上受益匪浅。 感谢计算机与信息学院各位领导和老师们给我们提供了一个良好的学习研究 和生活环境。 作者:秦学勇 2 0 0 3 年6 月2 日 第一章可扩展数据仓库性能管理概述 随着计算机技术和w e b 技术的飞速发展,越来越多的数据产生了,人们要求 计算机在处理日常简单数据的同时,能够更多地参与数据分析和决策支持。在激 烈的市场竞争中,企业必须把业务经营和市场的需求紧密地联系起来,以此为依 据做出准确而科学的决策。数据库系统【1 j f 乍为一种有效的数据管理手段,主要用 于数据的事务管理,却无法直接支持数据分析。数据仓库( d a t aw a r e h o u s e ) 技术p j 的出现是由于决策支持系统( d e c i s i o ns u p p o r ts y s t e m ) 发展的需要。人们通过 对原来数据库中的数据进行再加工和处理,形成一个综合并面向分析的环境用以 支持科学的决策,这就是数据仓库技术。数据仓库 3 , 4 1 是体系结构设计的核心,是 决策支持系统的基础。数据仓库中的数据来自多种业务数据源,这些数据源可能 是在不同的硬件平台上,使用不同的操作系统,因而数据以不同的格式存在于不 同的数据库中。如何向数据仓库中加载这些数量大、种类多的数据,已成为建立 数据仓库所面临的一个关键问题。数据仓库是通过迭代的方式建立起来的,并不 是一日建成的,是一种技术而不是一种产品。开始建立数据仓库时性能并不是一 个问题。一旦哪里有少量的数据,那里根快就会有海量的数据。当大量的数据涌 入数据仓库中时,数据仓库的性能问题日益突出,在查询时间、可用性和数据质 量等方面使得用户感觉数据仓库的性能每况愈下。当大量的企业内部数据和复杂 的外部数据不断进入数据仓库以后,数据仓库开始膨胀,最初的配置渐渐地适应 不了新的环境,这时必须扩展原有的结构以适应新环境的要求。因此数据仓库必 须要设计成为可扩展的体系结构,以满足不断增长的数据量和最终用户。可扩展 的数据仓库平台不但能够满足当前的环境,而且还要能够满足将来数据仓库的性 能要求,它能够随着数据、最终用户、复杂性和功能性的增长而增长并且在增长 的同时其性能水平并不会下降。 l _ 1 1 数据仓库的概念 1 1 数据仓库技术概述 数据仓库已经在很多行业广泛使用,商务管理人员通过收集、集成、预处 理和存储数据仓库中的数据进行分析和商务决策。在这里我们引用一个权威公 认的由数据仓库之父w h i l l r l o n 所下的定义【5 :数据仓库是一个面向主题的、 集成的、非易失的且随时间变化的集合,用来支持管理人员的决策。美国斯坦 福大学计算机科学系6 ,7 1 的一个专门小组通过对数据仓库技术的研究,提出了数 据仓库技术的一个比较完善的体系结构。数据仓库总体结构图如图1 1 所示: 1 1 2 数据仓库的产生 图1 1 数据仓库总体结构图 从计算机诞生以来,人们通过计算机对大量数据进行管理哺】。5 0 年代末出 现了文件管理系统,将数据分别保存在不同的文件之中,实现了文件的按名访 问。直到1 9 7 0 年,关系数据库奠基人e f c o d d 博士发表了他著名的关系数据 模型的论文以后,关系数据库开创了数据管理的一个新时代。 在整个8 0 年代直到9 0 年代初,联机事务处理一直是数据库应用的主流。 当联机事务处理系统应用发展到一定阶段后,他们需要对其自身业务的运作以 及整个市场相关行业的情况进行分析,而做出有利的决策。在如今这样激烈的 市场竞争环境下,这种基于业务数据的决策分析,我们把它称为联机分析处理, 比以往任何时候都显得更为重要。因此,著名的数据仓库专家r a l p hk i m b a l l 写道:“我们花了二十多年的时间将数据放入数据库,如今是该将它们拿出来的 时候了。” 于是有人感叹:2 0 年前查询不到数据是因为数据太少了,而今天查询不到 数据是因为数据太多太复杂了。对于异种数据库的集成,传统的数据库做法是 通过在多个异种数据库上建立一个包装程序和一个集成程序( 或中介程序) 一j 。 像i b m 的数据连接程序( d a t aj o i n e r ) 和i n f o r m i x 的数据刀( d a t a b l a d e ) 就是很 好的例子。当一个查询提交客户站点,首先使用源数据字典对查询进行转换, 将它转换成相应异种站点上的查询。然后,将这些查询映射和发送到局部查询 处理器,由不同的站点返回的结果被集成为全局回答。这种方法需要复杂的信 息过虑和集成处理,与局部数据源上的处理竞争资源,对于频繁的查询开销很 大,效率不高。另一种方法是专门为业务的统计分析建立一个数据中心,并将 来自多个异种数据源的信息预先集成在其中,以供直接查询和分析,这个数据 中心就叫做数据仓库,在9 0 年代初被提出来。联机事务处理系统在上世纪9 0 年代增长速度明显减慢,出现了饱和的现象,这促使各大数据库开发商积极地 寻求新的业务增长点,数据仓库的兴起无疑为数据库产品创造了巨大的市场, 成为2 0 世纪末到2 1 世纪初数据库市场的一个新的增长点。 1 2 数据仓库性能概述 数据仓库在创建、维护到更新扩展的过程之中,也就是在其不断成长的过 程之中,性能不可避免地成为问题。一旦哪里有少量地数据,那里不久就会有 海量的数据4 1 ;哪个数据仓库环境中有少量的用户,那里不久就会出现大量的 用户群。数据质量、可用性和查询等方面的因素将影响数据仓库的性能,使得 用户感觉数据仓库的性能逐渐下降。 1 2 1 数据集成 数据仓库最显著的特点就是数据集成,将多个数据源中的数据结合起来存 放在数据仓库中。如果数据以种非集成状态到达数据仓库,不进行集成就没 有实际的意义,就不能被用来支持数据的企业视图。对存储在操作型环境中的 当前数据或存储在慢速设备上的历史数据,根据不同来源和不同格式,一般需 要定制不同的数据抽取和转换工具,并编写数据清理程序,对数据进行一致性 校验,并将完整的数据通过数据装载,定期装载到数据仓库环境中去。数据仓 库的数据集成分为四个阶段e t ( c ) l f l 0 , 1 1 :抽取( e x t r a c t i o n ) 、转换 ( t r a n s f o r m a t i o n ) 、清理( c l e a n i n g ) 、装载( l o a d i n g ) 。让海量的高质量的源数 据进入数据仓库为以后的数据仓库运行和调整带来了很大的便利,为o l a p 和数 据挖掘提供了良好的工作环境。 1 2 2 查询 数据仓库查询性能的测量与o l t p 查询性能的测量相同,就是从提交查询到 返回查询的时间。然而数据仓库查询用于制定相对于短期决策来说更为长期的、 战略性的决策,查询响应时间较长且扫描大量的数据,并返回大量的查询结果。 有二个指标来衡量数据仓库的查询响应时间【4 】:从提交查询的时刻到第一个记 录或第一行返回给终端用户的时间长度;从查询的提交直到返回所有行之间的 时间长度。如果数据仓库系统有高效的查询响应,使得数据仓库的探索者有更 多的时间去做更多的实验和分析,从而更好地支持决策分析,提高生产率和性 能。国内外许多数据库厂商 1 2 埽口专家对数据仓库的高效查询进行了研究:位图 化索引( b i t m a p p e di n d e x ) 为数据库应用带来了巨大的性能收益,并和其它一些 如标准b 一树索引,聚族索引( c l u s t e r e dt a b l e ) 和哈希聚族( h a s hc l u s t e r ) 索引等相共存和兼容,著名的o r a c l e 公司的数据库o r a c l e 8 i 就提供了以上丰 富的查询处理技术。 1 2 3 并行技术 高性能的数据仓库平台是由大量组件构成的,这些组件连接在一起成为一 条性能链。数据仓库环境必须能够随着用户需求的增长而增长,并且必须能够 适应用户需求的变化。在这条性能链中,哪一个环节薄弱就会影响整个数据仓 库平台的性能,每个环节必须是可扩展的,这就形成了可扩展的( s c a l a b i l i t y ) 平台。可扩展的平台必须在其不断增长的同时,能够完成现有的性能水平,这 就需要新的硬件和软件技术来设计和建立数据仓库平台,那就是并行技术 ( p a r a l l e lt e c h n o l o g y ) 。管理大量数据的方法之一就是利用并行的硬件结构, 让多个处理器同时进行处理,提高效率。 1 3 课题意义和国内外发展状况概述 随着信息技术和数据库技术的飞速发展,数据处理的重点从传统的业务过 程扩展到对业务数据的联机分析处理,并从中得到各种决策支持信息。数据仓 库技术为联机分析处理和决策支持提供了一个良好的技术解决方案,是基于大 规模数据库的决策系统环境的核心。数据仓库不是一日建成的,而是通过不断 的迭代方式来建立它,当大量的数据开始在数据仓库中堆积时,数据仓库的性 能就开始成为一个重要的问题。所以数据仓库必须设计成为一种可扩展的结构, 以便适应将来的数据环境。通过该课题的研究,使得在数据仓库环境不断扩展 和庞大时,其性能不会直线下降,而是保持良好的工作环境。该课题的研究在 4 理论和实际上都有很高的价值。目前,国内外公司、团体和个人对数据仓库性 能研究方面作了不少的工作,取得了不少成果但很多问题也没有得到很好的解 决。因此,本课题综合多种技术和方法对数据仓库的性能改善进行研究,具有 一定的研究价值。 根据i d c 的报告,大约8 0 已投资于数据仓库的公司都已获得了巨大的成功。 这是因为数据仓库提供了与o l t p 系统截然不同的集中式存储系统,前者包含了 从公司拥有的许多数据库中提取出来的业务数据。这些数据生动地反映了企业 的现实,被予以分析,以及作为战略性的竞争武器。快速准确地分析商业问题, 将会影响公司的长期生存。9 0 年代以来,计算机技术尤其是数据库技术的发展 为d s s 提供了技术支持;激烈的市场竞争促进了高层次决策人员对d s s 的实际 需求。两方面的共同作用,促成了以d w 为核心、以o l a p 和d m 工具为手段建设 d s s 的可行方案。各大数据仓库厂商纷纷推出了自己的数据仓库平台【l 3 ,“ ,都或 多或少围绕数据仓库性能的改善进行的。随着数据库技术的发展,d w 需要以下 数据库技术的支持。 1 高性能数据库服务器:d w 的应用涉及的数据量大,查询要求复杂,因此 对d b m s 核心的性能要求更高,同d b m s 必须具有良好的查询优化机制。 2 并行数据库技术:d w 中的数据量大,而且随着时间的延长,新的数据还 会不断进入。d w 中的数据库通常是g b 甚至t b 级的( o r a c l e 支持p b 级的) ,可 谓是超大规模数据库( v l d b ) 。而并行数据库技术是存储和管理v l d b ,并提供对 v l d b 复杂查询处理的有效技术。 3 数据库互操作技术:d w 中的数据大多来自企业或行业中业已运行的o l t p 数据库或外部的数据源。d w 必须从这些异构数据源中定期抽取、转换和集成所 需要的数据,并把它们存入d w 中。因此,异构数据源之间互访和互操作技术是 必需的。 1 4 本章小结 在本章中我们简要地介绍了数据仓库的发展历史和其基本的技术,随着数据 仓库的不断发展,数据仓库的性能问题日益突出,所以我们要设计出可扩展的 数据仓库平台。最后对本文的章节安排和内容进行简要介绍,本文在第二、三、 四章分别从数据集成、查询处理和并行等几个方面对性能管理方面进行详细研 究讨论,第五、六章给出模型和结论展望。 第二章数据集成 2 1 数据集成概述 数据仓库是体系结构设计环境的核心,是决筑支持系统处理的基础,在数 据仓库环境中是单一的数据和集成的数据。数据集成i l5 】是数据仓库工程中很重 要的部分,是将多个数据源中的数据结合起来存放在一个一致的数据存储之中, 在这里就是指数据仓库,我们在数据集成的时候必须将高质量的数据集成到数 据仓库平台中。对于现实世界中的同一实体,来自不同数据源的属性值可能不 同,这是由于不同的操作型环境的设计人员对实体的不同的表示方法,实际应 用中,在编码、命名习惯、实际属性、属性度量等方面没有什么是一致的,在 各个不同的应用问题中,设计人员自由地做出他们自己的设计决策。数据仓库 中的数据集成如图2 1 所示: 图2 1 数据集成框架图 标准的数据仓库结构中有很多部分组成,但是抽取数据、转换数据和装载 数据进入数据仓库是最重要的部分。其实这四者有时关系区分并不是十分明确, 存在着相互的包含关系,由于转换过程是和数据清理是密不可分,转换应该包 括数据的清理过程【1 6 ,”。但因为数据清理的重要性,所以对它单独进行讨论i 侣】。 成功的高效的数据仓库解决方案很大程度上依赖于高效的抽取、转换和装载 ( e t l ) 部分。在大多数数据仓库解决方案中【5 i 】,在将数据装入数据仓库之前,我 们要花费将近7 0 的时间和精力去集成大量的异构的数据流。在市场上有很多 6 数据集成的产品,它们通常被称为e t l 工具。不同生产厂家的e t l 工具有不同 的性能,数据仓库的开发人员要根据自身的特点去选择合适的集成工具。但是 当我们面对如此多的工具时,这些工具各有特点使得我们很难去选择去用哪种 产品;另一种方法就是自己动手去开发一种适合自身情况的e t l 工具。聪明的 决策者应该熟悉理想的e t l 工具应该具有哪些性能和特征,自己具体的工作环 境需要哪家的产品。 2 2 1 元数据 2 2 元数据和数据集市 元数据( m e t a d a t a ) 1 9 , 2 0 , 2 1 , 5 2 是数据仓库环境中的一个很重要的因素,简单说 来就是关于数据的数据,用于建立、管理、维护和使用数据仓库。元数据管理 是企业级数据仓库中的关键组件,贯穿于建立数据仓库的整个过程。建立合理 的、完善而健全的元数据对提高数据仓库的性能有很大的益处。 我们通常将元数据分为技术元数据( t e c h n i c a lm e t a d a t a ) 和业务元数据 ( b u s i n e s sm e t a d a t a ) 。技术元数据是描述关于数据仓库技术细节的数据,这些 元数据应用于开发、管理和维护数据仓库;业务元数据从商业和业务的角度描 述数据仓库的数据,提供了良好的语义层定义,业务元数据使业务人员能够更 好的理解数据仓库分析出来的数据。元数据贯彻于建立数据仓库的整个过程, 不只是e t l 过程需要元数据的支持。元数据在数据仓库中的应用如图2 2 所示: 屉彗 数据展示 即席查询 同仁y 移 报表 图2 2 元数据在数据仓库中的应用 元数据使得用户可以掌握数据的历史情况,数据来源、流通时间和更新频 率等要素,和对它已经进行了哪些计算、转换和筛选等等。在使用元数据的同 时,随着数据仓库市场的发展,业界出现许多数据仓库管理和分析的工具,各 种工具使用不同的元数据标准来表示和处理,不同系统之间的迁移、数据交换 变得困难。于是,我们希望用一种单一的元数据标准,使得各种组织的元数据 具有单一的元模型( m e t a m o d e l ) 。元数据标准可以保证共享数据的一致性,而 数据共享领域的某些趋势说明对元数据的标准需求正逐步增加:支持一家企业 的数据仓库扩展到支持多个企业和组织的共享数据仓库;数据模型处理的对象 的复杂化;信息流控制出现了由数据仓库向源系统的反馈;各个厂商的专用数 据格式向公共开放标准元数据交换格式转换,以提高其信息捕获能力和市场份 额。这些趋势将导致数据仓库工具和实践将发生改变,以适应某个标准。对象 管理组织o m g 2 2 , 2 3 于2 0 0 1 年颁布元数据标准c w m1 0 ( c o m m o nw a r e h o u s e m e t a m o d e lv e r s i o n1 0 ) 。c w m 定义了一个元数据框架,该框架描述数据源、数 据目的、转换、分析等,并定义建立和管理数据仓库的过程和操作,提供使用 信息的继承。 2 2 2 数据集市 数据仓库中包含了大量的集成的、历史的数据,随着数据仓库的不断增长, 其性能出现了一些问题,为了解决这些问题,人们提出了数据集市( d a t a m a r k e t ) 的概念。数据集市 2 4 , 2 5 , 2 6 1 1 r = b 的数据是专门为某一个部门或某个特定商业需求所 定制。当数据仓库不断增长时,更多的部门决策处理需要在数据仓库中进行; 对数据仓库中的大量的数据进行定制和分析交得困难起来:数据仓库中的处理 消耗不断增加,用户发现数据仓库的性能逐渐下降。在这个时候就应该建立部 门级的数据仓库一数据集市。建立数据集市如图2 3 所示: 图2 3 建立数据集市 数据集市和数据仓库类似,通常据集市中的数据来自数据仓库。无论数据 集市提供何种功能,他们都必须被设计为主数据仓库的组件,从而使得数据的 组织、格式和结构在整个数据仓库中保持一致。表的设计、更新机制如果不一 致可能会使数据无法在整个数据仓库内重新使用,并有可能导致由相同的数据 生成不一致的报表。应该从作为数据仓库组件的角度设计数据集市,而无需考 虑它们各自的功能或构造,这使得信息在整个公司内保持一致。数据集市具有 建设周期短、投资小、见效快的优点,部门用户完全拥有自己的数据集市可以 根据需要定制其中的数据,部门用户可以自由地选择适合自己的数据集市的决 策分析工具,数据集市的使用可以解决各部门对数据仓库资源的竞争,提高处 理速度。通过建立合理有效的部门级的数据集市可以改善数据仓库的工作环境, 提高数据的访问效率,更好地进行决策支持。 2 3 1 数据抽取 2 3 数据集成e t l 数据集成的第一步是数据的抽取,数据仓库创建人员必须确定从操作型系 统中选取哪些数据装载到数据仓库中去,在操作型系统中哪些是对决策支持有 用的数据,哪些是没有用的。当选定了源数据,创建人员就可以着手考虑如何 将它们装载到数据仓库中。数据抽取是根据元数据库中的主题表定义、数据源 定义、数据抽取规则定义对异地异构数据源( 各种数据库、文本文件、h t m l 文件、 知识库等) 进行搜索整个文件或数据库,使用某些规定的标准选择合乎标准的数 据,并把数据传送到数据仓库中。在组织不同来源的数据过程中,先将数据转 换成一种中间模式,再把它移至临时工作区。在数据抽取过程中,必须在最终 用户的密切配合下,才能实现数据的真正统一,拷贝数据的过程应该在操作系 统不忙时进行。确保了解自己的商务及其支持系统。如果还未完成大量的更新, 就不应该移动数据。如果数据仓库中的数据来自多个相互关联的操作系统,就 应该保证在这些系统同步工作时移动数据。在数据抽取分析时需要对业务深刻 理解,如果想取一个数据在源系统中多个表都有,而你选择了一个在当时不会 有什么问题但随着后续工作的开展和分析就会出现意想不到的结果。所以从哪 一个表取不是随便的,一定要对业务非常熟悉。早期数据抽取是依靠手工编程 和程序生成器实现,现在则通过高效的工具来实现,如a r d e n t 公司的i n f o m o t e r 产品、s a s 的数据仓库产品s a s w a 及各大数据仓库厂商推出的、完整的数据仓库 解决方案。在进行数据抽取时,如下一些问题我们应该考虑: 抽取工具应该能从很多不同的数据源( 不同时期、不同存储介质、不同 数据格式、不同数据库类型、跨操作系统的历史数据或操作型数据) 抽 取数据,并尽可能地使用数据源本身提供的驱动程序来提高使用效率。 选择抽取数据是非常复杂的,当判定一个记录是否可进行抽取处理,往 往需要对多个文件中的其他记录完成多种协调查询,需要进行键码读 取,连接逻辑等,文件合并的程序必须具有键码解析功能。 抽取工具应该有完善的元数据管理,支持并行数据抽取,可以实现数据 的增量抽取,从而有较高的工作效。 数据抽取是数据集成的第一步,一个好的抽取工具可以将高质量的数据抽 取过来,以为以下的转换、清理、装载提供一个良好的数据源。 2 3 2 数据转换 当我们对数据进行抽取以后,就要开始对数据进行转换,按照元数据中的 定义将各种数据转换成数据仓库中的统一模式。有很多因素说明数据在进入数 据仓库之前要进行数据的转换,源异构的系统中存在着滥用缩写词、惯用语、 数据输入错误、数据中的内嵌控制信息、重复记录、丢失值、拼写变化、不同 的计量单位和过时的编码等或多或少的问题。数据转换大致可以分为以下四种 方法: 1 简单变换:数据变换中最简单的形式就是简单变换,它一次改变一个数 据属性而不考虑该属性的背景或与它相关的其他信息。这一类中包括的数据处 理一次只针对一个字段,而不是考虑相关字段的值。将各数据源的日期时间格 式的转换为数据仓库的格式就是一种简单变换。 2 清洁和刷洗:清洁和刷洗是比简单变换更复杂的一种数据变换,为了保 证前后一致地格式化和使用某一字段或相关的字段群。在这种变换中,需要检 查的是字段或字段组的实际内容而不仅是存储格式。一种清洁是检查数据字段 中的有效值,这可以通过范围检验、枚举清单和相关检验来完成。 3 集成:所谓集成就是将业务数据从数据源中取出,并逐字段地将其映射 到数据仓库的新数据结构平台上。集成的真正困难在于将它们集成为一个紧密 结合的数据模型,并结合成为一个新的实体。这些数据来源往往遵守的不是同 一套业务规则,在生成新数据时,必须考虑到这一差异。 在数据集成【9 l 时,由许多问题需要考虑,模式集成是有技巧的,来自多个信 息源的现实世界的实体如何才能“匹配”? 这涉及到实体识别问题,例如数据 分析者或计算机如何才能确信一个数据库中的c u s t o m e r i d 和另一个数据库中 的c u s t n u m b e r 值的是同一个实体? 通常数据库和数据仓库有元数据一数据的 数据,这种元数据可以帮助避免模式集中的错误。 冗余是另个重要的问题,一个属性是冗余的,如果它能由另一个表“导 出”,如年薪。属性或维名的不一致可能导致数据集中的冗余。有些冗余可以被 相关分析检测到,例如给定两个属性,根据可用的数据,这种分析可以度量一 个属性能多大程度上蕴含另一个属性,属性a 和b 之间的相关性可用下式度量: = 紫 其中,1 1 是元组个数,a 和b 分别是a 和b 的平均值,仃。和仃。分别是a 和 b 的标准差。如果上式的值大于0 ,则a 和b 是正相关的,即a 的值随b 的值增 加而增加,该值越大,个属性蕴含另一个的可能性越大,因此,一个很大的 值表明a 或b 可以作为冗余而去掉一个。如果结果值是0 ,则a 和b 是相互独立 的,它们之间是不相关的,如果结果值小于0 ,则a 和b 是负相关的,个值随 另一个减少而增加,这表明每个属性都阻止另一个属性出现。除检测属性间 的冗余之外,“重复”也应当在元组级进行检测。重复是对于同一个数据,存在 两个或多个相同的元组。 数据集成的第三个重要的问题是数据值冲突的检测和处理。例如对于现实 世界的同一个实体,来自不同数据源的属性值可能不同,这是因为表示、比例 和编码不同,例如重量属性可能在一个系统中以公有制单位存放,而在另一个 系统中是以英制为单位存放的,不同的旅馆的价格不仅可能涉及不同的货币, 而其可能涉及不同的服务和税。数据这种与以上的异种性是数据集成的巨大挑 战。将多个数据源中数据集成起来,能够减少或避免结果数据集中后数据的冗 余和不一致性,这有助于提高数据仓库的性能。 4 聚集和概括:所谓聚集和概括就是把业务环境中找到的零星数据压缩成 数据仓库环境中的较少数据块,有时进行聚集中的细节数据是为了避免仓库存 入业务环境中的那样具体的数据,有时则是为了建立包括仓库的聚集副本的数 据集市。大多数数据仓库都要用到数据的某种聚集和概括有助于将某一实体的 实例数目减少到易于驾驭的水平,也有助于预先计算出广泛应用的概括数字, 以使每个查询不必计算它们。概括是指按照一个或几个业务维将相近的数值加 在一起。聚集指将不同业务元素加在一起或为一个公共总数。在数据仓库中它 们是以相同的方式进行的。 数据仓库中存放的最具体的数据不与业务系统中存放的细节数据一样聚集。 这时,就有必要在变换业务数据的过程中加入一些数据聚集功能。这可以减少 存储在数据仓库中的行数。聚集还可以去除数据仓库中的过时细节。在许多情 况下,数据在一定时期内要以很具体的水平存放着,一旦数据到了某一时限, 对所有这些细节的需求就大大减弱了。此时,这些非常具体的数据应该传送到 离线存储器或近线存储器中,而数据的概括形式则可以存放在数据仓库中。 2 3 3 数据清理 由于多种原因,在数据仓库中存在脏数据是一件很正常的事情,既然不能 保证脏数据绝对不进入数据仓库平台,那么就应该想办法去处理这些脏数据 ( d i r t yd a t a ) 。数据转换过程是和数据清理分不开的,转换应该包括数据豹清 理过程,在这儿我们主要讨论发生在数据集成时刻的数据清理 2 7 , 2 8 , 2 9 , 3 0 , 3 1 , 3 2 。数 据清理包括确认数据的正确性,校正不正确的数据,然后以有效格式转换为正 确数据。这些数据可以通过广泛的脚本( 在数据集成过程中根据主题的信息自动 生成的各维的查询函数脚本代码和自动生成的用于实现进行转换、清理和装载 的存储过程的脚本代码) 处理语言进行校正,其中包括有条件的测试和以查找为 基础的计算。来自不同数据源的数据在数据集成时刻进入到数据仓库系统,这 些数据源通常是不太相同的,它们之间的数据结构、数据编码、数据定义、键 结构和数据物理特征等方面是不兼容的,他们从来就不是为集成而设计的。 数据清理是一个减少错误和不一致性、解决对象识别的过程。数据清理原 理:利用有关技术如数理统计、数据挖掘或预定义的清理规则将脏数据转化为 满足数据质量要求的数据。数据清理过程如图2 4 所示: 同一值的不同的表示 命名习惯和拼写错误脏数据 数理统计技术和数据 榜桐特术 空值和不合法值 数据清理策略、规则i 重复处理和异常检测 满足质量要求的数据 图2 4 数据清理原理 在脏数据清洗算法上,一些研究机构提出了:脏数据的预处理、排序邻居方 法、优先排队算法、多次遍历数据清理方法、增量数据清理、采用领域知识进 行清理、采用数据库管理系统的集成数据清理等算法。他们对于数据清洗算法 的有效性的度量标准是,返回率( r e c a l l ) :重复数据被正确识别的百分率; f a l s e p o s i t i r e e r r o r :错误地作为重复数据的记录的百分比;精确度 ( p r e c i s i o n ) :算法识别出的重复记录中正确的重复记录的数据清洗研究百分 比;计算公式:p r e c i s i o n = 1 0 0 - f a l s e p o s i t i v ee r r o r 。在数据清洗方面的研 究大都是针对具体应用、具体领域开展的,同时由于数据清洗的领域相关性很 1 2 强,通用的数据清洗可能受到很大的限制。因此数据清洗框架的通用性很少有 人关注。 由于数据仓库中的数据来自不同的数据源,重复的数据存在于数据仓库之 中是不可避免的。关于银行帐户持有者或者是顾客的数据可能来源于不同的分 行,也有可能在同一个分支结构但来自于不同的系统,这样就可能产生重复的 数据。在这儿我们主要讨论排序邻居算法( s o r t e d n e i g h b o r h o o d m e t h o d ) ,引 用文献 3 ”,该方法包括下面几个步骤: 1 主键的创建:先扫描整个数据库挑选出一些字段,由经验所得有代表性 的主键可能是有三个字母组成,在这些字段中确定一个主字段。在排序邻居算 法中的主键创建如表2 1 所示: 表2 1 在排序邻居算法中的主键创建 f i r s tl a s ta d d r e s si d k e y r a j k a t r e2 4b a n d r a4 5 6 7 8 9k t r r a j 2 4 b n d r 4 5 6 r a j k a t r e2 4b a n d r a4 5 6 7 8 9k t r r a j 2 4 b n d r 4 5 6 r a jk a t r y e 2 4b a n d r a4 5 6 7 8 9k t r r a j 2 4 b n d r 4 5 6 r a j i i t r a n2 48 a n d o r a4 5 6 7 8 9k t r r a j 2 4 b n d r 4 5 6 2 排序:任何种好的排序方法像快速排序或合并排序都可以用以排列这 些数据集,它是基于先前创建的主键的。 3 合并:用一个尺寸为w 的窗口去平滑数据集如图2 5 所示。新的记录进 入窗口中和窗口中现存的记录进行比较,窗口尺寸的大小可以从2 到n ( n 是数 据集的尺寸大小) 。通过平滑窗口合并记录如图2 5 所示。合并记录基于一系列 的规则: 例如: i ft h el a s tf l a m eo fr l e q u a l st h el a s t n a m eo fr 2 a n dt h ef i r s tn a m e sd i f f e r s l i g h t l y a n dt h ea d d r e s so fr l e q u a l st h ea d d r e s so fr 2 t h e n r li s e q u i v a l e n tt or 2 相似性也可以基于别的规则: 可以对应该单词增加或改变其字母数量去匹配别的单词, 可以检查那些发音相似的单词, 考虑打字机相邻键的问题,例如d m i t h 可能和s m i t h 相似就是由于 s 和d 是相邻的在一个q w e r t y 的键盘上。 重复记录探测的例子见表2 2 ,相似性规则可能引起误断的问题,例如不相 似的记录可能归类为相似的。改变窗口尺寸的大小可能产生不同数据集。 c u r g e n tw i n d o w o fr e c o r d s 图2 5 通过平滑窗口合并记录 n e x tw i n d o w o fr e c o r d s 世界5 0 0 强企业中的9 0 使用了数据仓库进行信息辅助决策,数据清洗保 证信息源的数据质量,从而保证了辅助决策的原始数据的正确性和准确性。数 据清洗足构建数据仓库和知识发现的必要因素。从目前的研究现状看来,数据 清洗处理的是海量数据集,因此,增量式的数据异常检测、数据转换算法是必 需的,而且对于算法的效率提出了很高的要求。数据清洗又是一个领域相关性 非常强的工作,国内外的研究人员始终没有提出一个通用的自动化的数据清洗 框架,而且在清理的过程中伴随着人工的处理,所有关于该领域的研究都是针 对特定领域数据的,通用的清理方案会受到越来越多的重视。到目前为止,数 据清理主要集中在西文上,中文数据清理与西文数据清理有较大的不同( 如很多 匹配算法并不适用于中文) 。它的识别主要集中在数值型、字符串型字段,识别 数值型字段之间的关系异常很不成熟与实用。尽管识别重复记录受到最多的关 注,采取了许多措施,但识别效率与识别精度问题,并不令人满意。特别是在记录 4 下i i w上一 rllf w上一 厂f,弋il 数据非常多时,耗时太多,有待于更好的算法。 表2 2 重复记录探测的例子 i d n a m e ( f i r s t ,i n i t i a l 。l a s t )a d d r e s s 3 3 4 6 0 0 4 4 3a lis h ab h a n d a r i 1 4 4w o r l i 3 3 4 6 0 0 4 6 3a lis h ab h a n d a r k a r1 4 4w o r m 5 2 5 5 2 0 0 0 1 r a m a nk a n i t k a r2 2w o r l i 5 2 5 5 2 0 0 0 1 r a y m a n dk a n i t k a r 2 2w o r l i 0 d i b ed a m b r i s h4 0m a r v a lic h u r c h o d i n aa 。d a m b r i s h4 0m a r v l ic h u r c h 0 k h e ts e e m a6 0 0p r e ma p t 5 a 5 0 s e e m a nk h e t6 0 0p r e ma p 5 8 5 8 5 0 9 8 2 3 1 9 l q b a lak e r m a n i 2 3k h a ra v 9 5 0 9 8 2 31 9 y q b a lak e e r m a n i 2 3k h a rs t 2 3 4 数据装载 数据装载就是将经过数据抽取、转换、清理的历史数据或操作型数据和经 过校正的脏数据导入数据仓库之中。在装载操作中可以进行一些最后的转换, 但应在最后的装载操作前完成所有可能标识不一致的转换。数据装载时,逐条 把合法的数据导入目标数据表,当被装载到数据仓库的记录中包含与目标表的 对应字段的限制不一致的数据时,该记录被称为包含坏数据( 脏数据) ,不合法 的数据则放入清理表,清理表数据经过校正后,重新再装载。 初始装载数据仓库时要填充数据仓库架构中的表,然后验证数据是否准备 用于装载。装载数据通常涉及从源可操作系统、数据准备区数据库或数据仓库 数据库中的准备区表传输大量的数据。数据装入数据仓库中后,验证维度和事 实数据表之间的引用完整性,确保所有的记录都与其它表中的适当记录相关。 应验证事实数据表中的每个记录都与每个将与该事实数据表一起使用的维度表 中的记录相关。例如,如果产品销售事实数据表将与维度表一起用于客户、产 品、时间和存储,那么对于事实数据表中的每个销售记录,每个维度表中必须 有记录通过相应的主键与销售记录相关。该验证确保对于每笔销售,进行购买 的客户、卖出的产品及
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2022年2月揭阳市税务系统遴选面试真题附详解
- 2021年税务师真题及答案
- 全国计算机一级考试习题及答案
- 北京公务员开始行测答题技巧:片段阅读词句理解
- 化妆品质量检验技术题库
- 初级管理会计之专业知识综合卷通关题库
- 2025黑龙江省安全员《B证》考试题库
- 关于共青团知识的问答题
- 一级注册计量师基础知识与专业实务百度云
- 2025年广西公务员考试申论真题
- 体重管理年课件
- 加油站作业安全规范课件
- 2025广东韶关乐昌市信访局信访工作服务人员招聘1人考试笔试模拟试题及答案解析
- 2025年急救急诊考试试题及答案
- 2026年中国眼科专科医院项目经营分析报告
- 眼面部防护 应急喷淋和洗眼设备
- 小学数学作业设计培训
- 大数据与会计专业汇报
- 成人脓毒症相关心肌损伤和(或)心功能障碍急诊专家共识2025
- 2025杭州西湖云创产业服务有限公司公开招聘工作人员6人考试笔试参考题库附答案解析
- 2025年下半年河北张家口市张北县硕博人才引进99人重点基础提升(共500题)附带答案详解
评论
0/150
提交评论