(计算机应用技术专业论文)数据仓库在超市中的应用研究.pdf_第1页
(计算机应用技术专业论文)数据仓库在超市中的应用研究.pdf_第2页
(计算机应用技术专业论文)数据仓库在超市中的应用研究.pdf_第3页
(计算机应用技术专业论文)数据仓库在超市中的应用研究.pdf_第4页
(计算机应用技术专业论文)数据仓库在超市中的应用研究.pdf_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

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

文档简介

论文摘要 本论文的主要工作是将数据仓库技术引入超市连锁店经营数据的分析,利用数据仓库建模、e t l 、 o i 。a p 联机分析处理等技术,设计实现了一个基于数据仓库的决策支持系统,用以在大量的经营数据 中发现潜在的、有用的规则和模式。这些规则和模式可以有效指导企业经营管理,达到降低运营成 本、增加利润和市场份额的目的。 论文首先介绍了数据仓库的有关概念,然后详细阐述了一个超市数据仓库的开发过程,包括数 据仓库的建模,根据超市的经营数据确定分析主题、维度、粒度、度量、事实表和维表等;数据仓 库数据的提取、清理、转换和加载,数据仓库中的数据从多种数据源中提取而来的,提取来的数据 需要加j 三i 清理,经转换再加载到数据仓库,e t l 工具可以完成这一系列的任务;联机分析处? r 里- ( o l a p ) 应用开发,o l a p 是基于数据仓库的一种主要的应用,提供了一种数据分析的机制,经o l a p 建模、 多维数据立方体的建立以及前端工具可以向用户展示各种分析结果。论文最后对所建的系统进行了 评价,对使用的技术进行了总结和展望。 关键词:数据仓库 数据仓库建模 e t l0 l a p 超市 i v a b s t r a c t b a s e do nt h ed a t aa n a l y s i so fd a t aw a r e h o u s et e c h n o l o g yi n t r o d u c e di n t oc h a i ns u p e r m a r k e t s ,t h i s p a p e rd e s i g n sa n dr e a l i z e sad a t aw a r e h o u s e b a s e dd e c i s i o ns u p p o r ts y s t e mb yu s i n gt e c h n o l o g i e so f u s i n g t e c h n o l o g i e so fd a t aw a r e h o u s e ,e t la n do l a p w ec a r lt a k eo u ti n f o r m a t i o nt of i n dp o t e n t i a la n du s e f u l r u l e sa n dp a t t e r n sf r o ma g r e a tn u m b e ro fm a n a g e m e n td a t a t h e s er u l e sa n dp a t t e r n sc a nd i r e c t m a n a g e m e n to f e n t e r p r i s e ,r e d u c ed 3 nc o s t sa n di n c r e a s ep r o f i t sa n dp e r c e n t so f m a r k e t f i r s t l y , t h ec o n c e p t i o no fd a t aw a r e h o u s ei si n t r o d u c e d s e c o n d l y ,t h ed e v e l o p i n gp r o c e s so ft h ed a t a w a r e h o u s eo fas u p e r m a r k e ti si l l u s t r a t e d ,i n c l u d i n gi t sm o d e lc o n s t r u c t i o n ,t h ea n a l y s i sa n dd e t e r m i n a t i o n o f t h es u b j e c t ,d i m e n s i o n ,g r a n u l a r i t y , m e a s u r e ,f a c tc h a r t sa n dd i m e n s i o n a lc h a r t s ,a sw e l l a st h ee x t r a c t i n g , c l e a n i n g ,t r a n s f o r m i n ga n dl o a d i n go fd a t aw a r e h o u s ed a t a t h ed a t af r o md a t aw a r e h o u s ea r ee x t r a c t e d f r o mv a r i o u sd a t as o u r c e t h ee x t r a c t e dd a t an e e dt ob ec l e a n e d ,t r a n s f o r m e da n dl o a d e dt od a t aw a r e h o u s e w h i c hc a l lb ea c c o m p l i s h e db ye t lt o o l s t h e n ,i ti sa b o u tt h ea p p l i c a t i o na n dd e v e l o p m e n to fo l a p o l a pi sam a i na p p l i c a t i o nb a s e du p o nd a t aw a r e h o u s e ,w h i c ho f f e r sad a t aa n a l y s i ss y s t e m i tc a n e x h i b i t a v a r i e t y o f a n a l y s i sc o n s e q u e n c e s t oc u s t o m e r s t h r o u g ht h ec o n s t r u c t i o no fo l a pm o ( k l - m u l t i d i m e n s i o n a ld a t ac u b e sa n df r o n tp o r tt o o l s a tl a s t ,t h i sp a p e re v a l u a t e st h ee s t a b l i s h e ds y s t e ma n d s u m m a r i z e s ,f o r e c a s t st h ea p p l i e dt e c h n o l o g y k e y ”o r d s :d a t aw a r e h o u s ed a t aw a r e h o u s em o d e l e t l o l a p s u p e r m a r k e t v 东南大学学位论文独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取锝的研究成 果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表 或撰写过的研究成果,也不包含为获得东南大学或其他教育机构的学位或证书而使用过 的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并 表示了谢意。 研究生签名:! 薹望塑日期:型! ! 东南大学学位论文使用授权声明 东南大学、中国科学技术信息研究所、国家图书馆有权保留本人所送交学位论文的 复印件和电子文档,可以采用影印、缩印或其他复制手段保存论文。本人电子文档的内 容和纸质论文的内容相一致。除在保密期内的保密论文外,允许论文被查阅和借阅,可 以公布( 包括刊登) 论文的全部或部分内容。论文的公布( 包括刊登) 授权东南大学研 究生院办理。 研究生签名:! 重塑麴导师签名: i n 日期:2 竺;2 墨 前言 前言 数据处理可以分为操作型处理和分析型处理( 或信息型处理) 两大类。操作型处理咀传统的数 据库为中心进行企业的日常业务处理。分析型处理以数据仓库( d a t a w a r e h o u s e ,d w ) 为中心分析数 据背后的关联和规律,为企业的决策提供可靠有效的依据。数据仓库不是简单地对数据进行存储, 而是对数据进行再组织。各个业务数据库的数据通过建模,再经过e t l ( 提取,清理,转换,装载) 存放在数据仓库中,原先存放在多个业务系统中的反映企业局部情况的数据经过整理后转换成反映 企业整体情况的信息。企业的决策层可以利用o l a p 处理得到的知识制订相应的策略,并反馈到业 务系统中,最终改善企业的运营。比如,超市通过分析近期商品的销售趋势或商品间的关联制订近 期的采购计划、调整商品的合理布局,确保超市采购的商品能够适销对路。本论文的研究目标是对 超市的营销数据进行数据仓库建模,确定分析主题,e t l 数据抽取转换,o l a p 联机分析处理,以 供决策者制订正确的营销政策,提高效益。 国外,数据仓库技术已经开始了大规模的应用,产品的功能也日渐完善,可以很好的满足各种 需求。国内对于数据仓库的研究是从九十年代中期开始,到了九十年代末开始了数据仓库平台的研 究。主要是一些大学在国外的基础上研究数据仓库技术。近年来数据仓库在证券业、银行领域、税 务领域、控制金融风险、保险、客户管理等众多领域得到了越来越广泛的应用。 本论文的工作是根据某超市的需求,建立一个基于数据仓库的决策支持系统。主要工作内容首 先是数据仓库建模,根据超市的经营数据确定分析主题、维度、粒度、度量、事实表和维表等。其 次是使用数据仓库e t l 工具中的调度器、抽取转换器、加载器等实现对数据的抽取、转换、清理、 装载,从而将对决策有用的、经过清理的数据存储在数据仓库中。第三是使用数据仓库o l a p 分析 工具实现数据的多维分析,并生成报表供决策者使用。 东南大学硕士学位论文 第一章数据仓库概述 1 1 数据仓库技术的产生 数据库系统作为数据管理的手段,从它的诞生开始,就主要用于事务处理。许多组织经过数十 年的发展,在他们的数据库中已积累了大量的日常业务数据。传统的业务系统一般是直接建立在这 种事务处理环境上的。随着各行各业对计算机应用需求的多样化、深入化,需要从大量事务数据中 归纳出业务活动的规律性及其发展趋势。从本世纪7 0 年代起,为满足管理决策的需要,人们在管理 信息系统的基础上,发展了以数据分析和建模定量分析为基础的决策支持系统( d s s ,d e c i s i e n s u p p o r ts y s t e m ) 。而数据库技术也一直力图使自己能胜任从事务处理、批处理到分析处理的各种类 型的信息处理任务。后来人们逐渐认识到,由_ 丁二事务处理和分析处理具有不同的性质,直接使用事 务处理环境来支持决策是行不通的。事务处理环境不适合分析处理应用的原因主要有以f 几条: 1 事务型处理和分析型处理的性能特性不同 在事务处理环境中,用户的行为特点是数据的存取操作频率高而每次操作处理的时间短,而在 分析型环境中,某个d s s 应用程序可能需要连续处理几个小时,从而消耗大量的系统资源,因此将 两种不同处理性能的应用放在同一环境中是不适当的。 2 数据集成问题 全面正确的数据是有效的分析和决策的首要前提,而当前绝大多数企业内数据的真正状况是分 散的、非集成的,造成数据分散的原因有很多,主要有事务处理应用分散、蜘蛛网问题、数据不一 致问题、外部数据和非结构化问题。 3 历史数据问题 事务处理一般只需要当前数据,在数据库中一般也只存储短期的数据,且不同数据的保有期限 也不一样。但对于决策分析而言,历史数据是相当重要的,没有对历史数据的详尽分析,是难以把 握企业的发展趋势的。d s s 对数据在空间和时间的广度上都有了更高的要求,而事务处理环境难以 满足这些要求。 4 数据的综合问题 在事务处理系统中积累了大量的细节数据,一般而言,分析型处理并不对这些细节数据进行分 析,这主要有两个原因;一是细节数据数量太大,会严重影响分析的效率:二是太多的细节数据不 利于分析人员将注意力集中于有用的信息上。因此,在分析前,往往需要对细节数据进行不同程度 的综合。而事务处理系统不具备这种综合能力。根据规范化理论,这种综合还往往因为是一种数据 冗余而被加以限制。 为了提高分析和决策的效率和有效性,就要把分析型处理及其数据与操作型处理及其数据相分 离,把分析型数据从事务处理环境中提取出来,然后按照分析处理的需要进行重新组织,建立单独 的分析处理环境。而数据仓库技术正是为了构建这种新的分析处理环境而出现的一种数据存储和组 织技术。 1 2 数据仓库与传统数据库的区别 数据仓库除了具有传统d b m s 的共享性、完整性、数据独立性外,还有自己的一些特征,可概 括为如下四个方面: 1 。 数据仓库是面向主题的 传统的数据库是面向应用设计的,它的数据只是为处理具体应用而组织在一起的。应用是客观 世界既定的东西,它对于数据内容的划分未必适用于各种动态分析。而主题是一个在较高层次将数 据归类的标准,每一个主题对应一个客观领域,基于主题组织的数据都被划分为各自独立的领域, 每个领域都有自己的逻辑内容而互不交叉,面向应用经常会随着各种经营环境的变化而发生变化, 而面向主题则比较稳定。 2 第一章数据仓库概述 2 数据仓库是集成的 数据仓库是一致的数据集合,在数据仓库中,使用一致的命名规定、度量、物理属性和语义来 统一来自异构数据源的业务数据。在数据仓库中存储的数据需要以一种单一的、可以由企业分析人 员接受的格式存储。 3 数据仓库是随时间变化的 事务系统的数据库通常只包含晟近的数据,一般不超过一年,不同时刻的查询一般会得到不同 的查询结果。数据仓库中的数据则保存了一段比较长的时间的数据,般是5 到1 0 年。数据仓库按 照每日、每周或者每月的频率从操作型数据库中导入数据,随着时间的变化,数据以更高的综合层 次被i ;断综合,以适应分析的要求。 4 数据仓库是稳定的 数据被导入到数据仓库中后,一般不允许进行修改、插入或者删除之类的操作。数据仓库存储 的数据包含当前的数据和历史的数据。在一定的时间间隔以后,当前的数据需要按一定的规则转换 综合成历史数据,年代久远的对分析处理不再有用的数据需要从数据仓库中删除。因此,数据仓库 在一定时间间隔内是稳定的。因为数据仓库在加载之后不再修改,所以对数据仓库的设计可以通过 索引、预聚集和数据库的正规化来优化查询性能。 数据仓库与数据库技术有很大的区别,它们的物理结构不同,应用对象不同,数据源不同,应 用种类不同,基本技术不同。最主要的区别在于它们包含的数据具有不同特性。 数据库中的数据生存周期短,经常变化;存取一般是记录级别;采用事务处理的存取方式;通 常实时修改;过程由事件驱动;操作包括读写操作;数据规模通常不超过几个g b 。而数据仓库中的 数据一般变化较小;以聚类的方式存取;主要应用查询功能;数据修改一般是定期执行:过程由数 据驱动:操作主要是读写操作:数据规模常常可以达到上百个g b 。这种特性的区别,决定了数据仓 库和数据库在技术实现上有很大的区别。 ( 1 ) 数据的更新。数据库必须适应记录更新。而数据仓库上主要进行大数据量的查询,更新操 作的开销可以很小。 ( 2 ) 物理空间的管理。数据库物理数据的组织是为了优化事务的处理,而数据仓库为了决策分 析与查询,决策分析与查询常常涉及多维数据的聚集,因此多维数据的存储与管理显得十分重要。 ( 3 ) 索引的方法和利用不同。数据仓库相对数据库需要更完善、更健壮、更复杂的索引。索引 本身的开销在数据仓库中不大,却能极大地加速查询性能。 ( 4 ) 元数据的重要性不同。数据仓库的数据从不同数据源抽取出来,所以元数据需要记录抽取 关系,同时元数据还需要记录数据仓库中的数据模型。这使得数据仓库中的元数据管理更为重要。 1 3 决策支持与数据仓库 正确及时的决策是企业生存和发展的最重要环节。现在,愈来愈多的企业认识到,要想在竞争 中取胜获得更大的收益,必须韵用网络、数据仓库等计算机技术,深层次地挖掘、分析当前和历 史的生产业务数据,以及相关的环境数据,自动快速地获取其中有用的决策信息,为企业提供快速、 准确和方便的决策支持。 决策支持就是采用数据仓库技术充分利用企业内部已存在的海量数据。挖掘出有价值的知识 和规则,将客观详实的数据经验和企业决策者宝贵的自身经验结合起来,支持企业决策。通过对企 业生产和计划的完成情况及相关环境数据进行多角度多层次的分析决策支持可以使企业的决策者 及时掌握企业的运行情况和发展趋势,并对制定生产计划和长远规划提供理论指导,提高企业的管 理水平和竞争优势。传统的数据库技术侧重于事务处理和业务处理。 计算机的广泛应用,尤其是数据库应用的广泛普及,数据量急剧增大,人们对于数据处理的多 层次特点有了更清晰的认识,进而将数据处理划分为两大类:操作型处理和分析型处理。操作型处 理也叫做事务处理,是指对数据库联机的日常处理,通常是对一个或一组记录的查询和修改,主要 是为企业的特定应用服务的。分析型处理则用于管理人员的决策分析。两者之间的巨大差异使得操 作型处理和分析型处理的分离成为必然。 东南大学硕士学位论文 随着应用的发展和技术的进步,人们对以往计算机的简单数据操作,提出了更高的要求,希望 计算机不仅能够查询或操作数据,还可以进行数据分析和信息综合,更多的参与数据分析与决策的 制定等领域。决策支持必须基于数据仓库技术。这是因为,传统数据库技术己不能满足决策支持的 需要,出现了许多难以克服的困难,主要有以f 五条: 1 事务处理和分析处理的性能特性不同。 在事务处理环境中用户的行为特点是数据的存取操作频率高而每次操作处理的时间短;在分 析处理环境中,用户的行为模式与此完全不同,某个d s s 应用程序可能需要连续几个小时,从而消 耗大量的系统资源。将具有如此不同处理性能的两种应用放在同一个环境中运行显然是不适当的。 2 数据集成问题。 d s s 需要集成的数据。全面而正确的数据是有效的分析和决策的首要前提,相关数据收集得越 完整,得到的结果就越可靠。当前绝大多数企业内数据的真正状况是分散而非集成的。造成这种分 散的原因有多种,主要有事务处理应用分散、数据不一致问题、外部数据和非结构化数据。 3 数据动态集成问题。 静态集成的最大缺点在于,如果在数据集成后数据源中数据发生了变化,这些变化将不能反映 给决策者,导致决策者使用的是过时的数据。集成数据必须以一定的周期( 例如2 4 小时) 进行刷新, 我们称其为动态集成。显然,事务处理系统不具备动态集成的能力。 4 历史数据问题。 事务处理一般只需要当前数据,在数据库中一般也是存储短期数据,且不同数据的保存期限也 不一样,即使有一些历史数据保存下来了,也被束之高阁,未得到充分利用。但对于决策分析而言, 历史数据是相当重要的许多分析方法必须以大量的历史数据为依托。没有历史数据的详细分析, 是难以把握企业的发展趋势的。 5 数据的综合问题。 在事务处理系统中积累了大量的细节数据,一般而言,d s s 并不对这些细节数据进行分析。在 分析前,往往需要对细节数据进行不同程度的综合。而事务处理系统不具备这种综合能力,根据规 范化理论,这种综合还往往因为是一种数据冗余而加以限制。 以上种种问题表明,在传统数据库系统环境下构建d s s 是不现实的。要提高分析和决策的效率 和有效性,分析型处理及其数据必须与操作型处理及其数据相分离。人们开始尝试对数据库中的原 始数据进行重新组织,最终达到为高层决策提供支持的目的。由此,数据仓库的思想逐渐形成。数 据仓库是企业信息环境不断演进的产物,是企业对信息的需求从简单到复杂,从基本的事务处理和 业务管理到信息查询检索、信息分析和决策的体现。必须把分析型数据从事务处理环境中提取出来, 按照d s s 处理的需要进行重新组织,建立单独的分析处理环境。数据仓库正是为了构建这种新的分 析处理环境而出现的一种数据存储和组织技术。 建立一个基于数据仓库的决策支持系统,首先要根据确立的决策主题实现数据仓库模型的设计 工作,这需要用到建模工具。其次要对现有数据进行抽取、转换、清理和加载等操作,这需要用到 e t l 转换工具。最后建立分析模型,并将分析结果展示给用户,这需要用到o l a p 工具。下面就分 别介绍这些工具。 4 第二二章数据仓库系统的开发过程 第二章数据仓库系统的开发过程 2 1 数据仓库建模 建模工具实现数据仓库模型的设计工作,包括逻辑模式和物理模式,以及这两种模式之间的转 换。主要有以下这些功能: ( 1 ) 设计数据仓库的逻辑模式,采用星形模式来描述。逻辑模式采用以下结构层次的形式:模 式( 包括主题、公共维) 、主题( 包括事实、事实层次:聚合、分割) 、事实( 包括维、度 量) 、维( 包括属性、属性组、维层次) 。特殊要求可以将某些维保存成一个模扳,这样可 以快速的定义主题; ( 2 ) 将数据仓库的逻辑模式转换到物理模式,选择特定的数据库管理系统( d b m s ) 将已有的 逻辑模式映射成物理模式,如将事实、维、度量、属性按照特定的模式生成表、列、表之 间的关系、主键、外键、索引; ( 3 ) 修改或直接创建数据仓库的物理模式,可以修改数据库的表、列、表之间的关系、主键、 外键、索引,编写触发器、存储过程,要求根据选择的数据库管理系统( d b m s ) 自动生 成所有的s q l 语句,这样可以直接将物理模式实现到该数据库中; 2 1 1 概念建模 概念建模就是将决策分析的要求使用一种模式来描述,主要需要表达决策的主题,分析主题的 角度、各个角度需要分析的属性信息,决策中有哪些层次的信息,最细的信息是什么等等。超市决 策支持系统定义了销售分析、供应商、顾客、仓库四个分析主题。 现在较为流行的是信息包圈的方法,如图2 - 1 所示。这种方法要求从一个决策者的角度去将焦 点集中在企业的几个主题上,着重分析所涉及的数据多维性。 下面以销售分析这个决策主题为例,来讲述数据仓库的建模过程。 维度 嫠 上 嚣l ,荨厦 嗒 蘸添溺蒸麟= 镐- 一r h 婀目# ;! 三:徽垂虱鳓酾麟麟懋戮灏秘酬l 纛囊豢 柜组编码 正 收款员号码优惠类型 商品编码 月收款员姓名 商品条码 日收款员类型 商品名称 小时 单价 度量:数量,销售额 图2 - 1 概念建模的信息包图 信息包图方法首先需要确定分析的主题,然后围绕这个主题填入度量、维度、粒度等信息。 1 定义度量:定义分析主题的评估指标; 2 定义维度:维度是用户访问评估信息的途径,每一个维度只表示一个主要的访问途径。 3 定义粒度:粒度是维度中信息的详细程度。 信息包图方法并不能完全描述用户的分析需求,遇到某些情况将会丢失评估分析数据。比如: 1 同一维度中存在不平衡的层次体系。用户要求时间维中前5 年是按每天来统计的,而后五 东南大学硕士学位论文 年是按月来统计。在信息包图上无法体现这种要求。 2 存在多访问途径。类别定义中可能存在多种访问途径,这种情况下信息包图必定丢失一种 需求信息。 2 1 2 逻辑建模 逻辑建模中将用户的决策信息需求描述成一个更确切、更接近实现的模式,这样根据这个模式 可以实现到实际的数据存储器里( 概念模式和d b m s 无关,但逻辑模式和d b m s 有一定的关系,比 如数据类型等,这里采用一种混合模式机制来阐述数据仓库的概念逻辑模式,定义了些公用的数 据类型,以及公用的结构类型,这样可以将这个混合类型映射到不同的d b m s 模式中去) 。一般的 数据库应用( o l t p ) 使用e 垠模型来描述,但数据仓库的需求与一般的数据库应用不同,需要一种 面向主题、面向集成的数据模型。星形模式比较适合数据仓库的要求,在星形模式的基础上扩展出 雪花模式。 1星形模式 星形模式中使用事实、维、维属性、事实度量来描述。星彤模式以事实为中心,各个维为角的 星形结构,事实使用度量来评估,维中使用属性来描述维中的类别信息和描述信息。 ( 1 ) 事实指决策主题。上例销售决策分析中,销售就是一个事实。 ( 2 ) 维指对应主题来分析的各个方面的信息数据,是个访问事实信息的途径。以销售分 析为例,可以从商品、时间、收款员、优惠四个角度来对销售进行评估。这四个方面 就是销售事实的四个维。如图2 - 2 所示。 时间表 ( 维表) 图2 - 2 星形模式示例 商品表 ( 维表) 优惠表 ( 维表) ( 3 ) 事实度量一指衡量决策主题的数据。销售分析中销售颡就是一个衡量销售的事实度量。 ( 4 ) 维属性一描述维信息的数据,代表维度中的单独层次,要求更加详细的信息才能满足用 户的需要。比如时间维中,年、月、日和小时就是维的属性,它们分别对应了每年、每月、 每日和每小时的销售额的统计要求。 2 雪花模式 雪花模式是在星形模式的基础上增加了粒度层次的描述。根据以上对星形模式中维属性的分析 6 第二章数据仓库系统的开发过程 可知,同一种星形模式可以转化成不同的雪花模式,转的根据是属性层次的确定。不同的属性层次 结构可以展现成不同的雪花图。 3 逻辑模式中聚集操作的需求和表示 数据仓库建模中一个比较重要的概念就是聚集操作,即将信息按照属性粒度层次来进行聚集。 这样主要是为了在执行分析操作的时候可以加快分析速度,可以将分析频繁的层次预先进行聚集, 以后在这个层次的分析直接在这个聚集表上进行,当需要进一步分析时再到原有的基本信息中进行 搜索。 聚集操作在星形和雪花模式中有不同的表示: ( 1 ) 星形模式中由于维本身没有表示属性粒度层析信息,所以如果需要表达聚集需要进行额外的 处理。一般最常用的方法是生成聚集维,这些维中只保留在聚集粒度层次中所需属性层次以 上的属性和其他不相关的属性,去除需要层次以下的属性。这种方法需要生成很多的新维, 这些新维需要从原维复制信息,会产生信息冗余,同时需要维护新维和原维的一致性。另外 一种是在维中使用一个表示属性层次的信息来标明当前维所表示的粒度层次信息。 ( 2 ) 雪花模式中由于直接就表示了维中的粒度层次,无需增加任何新的维和属性来表达,可以亩 接很好的表达这个概念,但是由于雪花模式本身在表达粒度层次存在不确定性,所以同样也 无法很好的聚集这个概念。 4 主题之间的关联 数据仓库中一般存在多个主题,这些主题域之间不是独立的,可能会存在一定的关系。主题的 关联主要有主题本身的相关性和主题所对应维的相关性。主题本身的相关性主要是两个主题之间存 在一定的关联,这种关联性不是数据仓库研究的主题,是数据挖掘研究的主题。对这种关联性的研 究可以在以建立数据仓库模型再次建模进行挖掘。主题对应的维存在相关性,两个主题可能使用相 同的维。数据仓库中时间维几乎是每个决策主题都拥有的维,所以这种维可以作为一个公共的维。 这样在实际物理建模中,如果使用关系模型的话,可以节省存储空间。 2 1 3 物理建模 物理建模就是将逻辑模式转换成实际存储的模式。数据仓库中保存了分析需要的海量数据,分 析时主要是在大量的数据中查询所需要的部分。所以物理模式中如何才能提供更快的查询速度是设 计的关键。 数据仓库提高查询速度的方法有以下几种: ( 1 ) 索引技术:数据库中索引可以加快表中信息检索速度,但是以牺牲空间和索引维护时间为代 价的。多维数据库中索引的建立比价复杂,但多维数据库本身就是为了检索而建立的一种存 储模型,所以多维数据库中索引技术不是很重要。关系数据仓库中由于事实表中保存的数据 数量非常大,如果使用一般的索引( b 树) 的话,需要很大的存储空间。所以数据仓库中一 般使用位图索引技术来减少存储空间。 ( 2 ) 预聚集技术:由于决策分析需要按维的属性层次来分析主题,不可避免的需要对评估数据按 维属性粒度层次进行聚集。如果数据量大,而且聚集数据使用的频率很高的话,通过预先聚 集这些数据可以加快分析速度。 ( 3 ) 分割技术:决策中不一定需要所有的数据,有一部分数据可以说是一些休眠数据,一般不会 使用到这些数据,分析时如果在整个数据集上处理的话需要花很多时间,如果只对那些需要 分析数据进行分析则可以加快分析的速度。 2 2 e t l 转换 数据仓库的建立,需要从各种数据源中通过数据的抽取、转换、加载将数据导入到数据仓库中。 e t l ( e x t r a c t i o n ,t r a n s f o r m a t i o n ,a n dl o a d ) 设计工具可以完成这一系列的转换,然后记录这些转 换规则,生成转换任务,交由调度器调度,给各个模块( 抽取器、转换器、加裁器) 处理。存_ i 丈个 7 过程的定义、任务的生成( 自动) 、临时表的管理。由于业务系统可能使用不同的数据库厂商的产品, 各种数据库产品提供的数据类型可能不同,因此需要将不同格式的数据转换成统一的数据格式。 1 e t l 设计工具 在e t l 设计工具中,提出了一些独有的概念,根据这些概念,我们可以设计相应的设计结构。 ( 1 ) 过程。一个程序对应一个过程,它是n 个活动的集合。 ( 2 ) 活动。一个活动对应着将数据从数据源抽取、转换、加载到一个数据仓库中的整个流程, 它包含n 个节点 ( 3 ) 节点。一个节点一般情况下对应一个任务,即正常的转换任务( 有的时候对应两个任务, 另一个是出错任务) 。它主要完成一组源表到一组目的表的一次转换定义。 ( 4 ) 任务。任务就是根据一次转换定义,记录f 这个转换规则。 2 数据抽取 数据抽取分为两种:数据源模式的抽取和数据的抽取。 ( 1 ) 模式抽取就是对数据源进行建模的过程。将数据源的数据模式抽取出来,获取数据源模式的 基本信息以及模式所使用的语义描述,这样模式转换和字段清理过程中可以定义转换清理规 则。 ( 2 ) 数据的抽取是将数据从数据源中抽取出来,数据的抽取主要是对数据源进行数据查询,数据 源根据查询来提供所需的数据。数据查询主要有投影、连接和聚合操作来组成。每一种类型 数据源的提供数据的能力不同。比如关系数据库提供了很强的数据提供能力,可以使用s q l 来创建数据获取视图,数据源根据s q l 自动进行投影、连接和聚合操作来提供所需数据, 文本文件和h t m l 文件不提供查询功能,需要设计相应的模块来完成数据获取功能。 3 e t l 分析 数据仓库的管理过程可以看作一个实视图的维护,这个实视图不是一个关系库中视图的实例化, 而是在多个数据源模式上的视图。这些数据源模式并不一定是关系型的,可能是对象型的、层次型 的、半结构化的、无结构化的。视图设计过程包括数据仓库模式定义、数据源模式抽取( 分解整个 实视图的获取查询到各个数据源上) 、数据源抽取模式定义( 投影、连接、聚合) 、数据模式转换定 义( 转换成关系模式) 、数据清理转换定义、数据集成( 根据实视图的获取查询分解将各个视图连接 集成) 、聚合( 在集成的数据上再次进行聚合获取聚合数据) 定义等等。 4 调度器 调度器模块主要完成对e t l 任务的分配调度。从元数据文件中读取e t l 系统的元数据,然后将 各个e t l 任务分配给连接到调度器上的执行模块。加载器在e t l 工具集合中的作用是将中间层的数 据分插到数据仓库中的事实表和维表中。具体实现是接收调度器发来的加载脚本,功能主要是将一 个源视图中的数据按脚本的分解要求,形成由事实表和维表组成的星形数据模式的实例。具体功能 包括:根据维表字段间的依赖关系生成维表i d ( 主键) ;自动生成事实表i d ( 主键) ;实现源数据和 目标数据的转换;加载器的使用配置;填充事实表的外键。调度器的调度策略是指如何安排整个e t l 的执行,主要需要考虑到以下一些情况:数据源的情况、e t l 系统的体系结构、运行的均衡性、运 行情况的记录。调度器的调度策略是整个系统的关键,调度器就是调度策略的实施。与调度策略相 关的有以下几个分析:数据源情况的分析、工作量的分析、网络通讯分析、执行要求分析、出错分 析。我们将从这几个方面来分析整个调度策略,最终制定需要的调度策略。 5 中间层管理器 中间层管理器在e t l 工具集中的作用是负责操作中间数据库,对中间层数据的操作脚本从调度 器处接收,解析出其中的s q l 脚本,送交具体的d b m s 解释执行。中间层管理节点主要是完成临 时表中临时数据的处理,临时表的数据会被多个节点作为输入使用,在使用临时数据的节点完成以 后需要清除临时表中的数据。 6 工具间的通信 工具间的通信是双向的,要求每一个模块使用一个特定的端口来进行侦听,所以我们需要为每 第二章数据仓库系统的开发过程 一个模块分配一个侦听端口来侦听其他模块的连接请求。其他模块需要向本模块提出请求时使用 t c p i p 短连接,即向对方请求连接,请求成功后发送通讯信息,然后断开连接。由于抽取器比较特 殊存在多个不同类型的抽取器,所以要求为每一种类型的抽取分配一个端口号。主要的处理流程是: 建立侦听,建立连接进行发送,接收连接进行数据接收。首先建立侦听服务s o c k e t 等待连接,一旦 存在连接,将创建接收连接s o c k e t 来处理接收到的请求,当需要建立请求连接的时候就建立请求 s o c k e t ,与对方进行连接,处理请求过程。 整个通讯框架分成2 个部分:服务端部分和客户端部分。服务端主要是完成建立侦听线程,然 后在连接到达时创建服务线程来完成各个业务,服务线程根据得到的包文中的包文信息来调用不同 的业务模块来完成相应的工作和通讯。客户端部分主要是完成建立连接然后根据业务需要来调用相 关的业务模块来完成相应的工作和通讯。服务端部分主要有两个通用部分:侦听部分、服务部分。 需要使用的业务模块部分包括:配置通讯服务端、状态查询服务端、任务分配服务端、执行结果汇 报服务端。客户端部分没有通用部分,使用单独的业务模块部分包括:配置通讯客户端、状态查询 客户端、任务分配客户端、执行结果汇报客户端。各个模块将分别完成连接服务器,发送请求,取 回数据,等待回应的过程。调度器程序运行一开始就打开侦听线程,侦听其他程序的连接线程。当 配置查询消息到达,完成相应的信息记录和查询相关的配置信息包图发送给要求配置的程序。等到 已经存在对应的抽取器、转换器、加载器和中间层管理器,就开始执行调度。当接收到报告消息后 通过查询元数据中的处理措施来回答其他程序的处理要求。调度器的执行调度流程如下:查询相关 模块程序的状态,一旦状态空闲,发送任务执行请求等待回应。对于抽取器、转换器、加载器、中 间层管理器,程序运行开始执行配置请求线程,然后获取相关的数据进行配置。配置完后打开侦听 线程,开始等待接收查询和接收任务。一旦接收到查询消息,就根据本身的负载情况报告可以是否 可以执行。一旦接收到任务消息,就将任务数据包交给任务执行模块来进行。一旦任务执行结束, 将执行结果信息打包向调度器发送报告信息。等待调度器的进一步处理指示。 7 e t l 中的难点 ( 1 ) 数据源模型定义机制一如何对数据源进行建模,使用统一的模式来描述数据源,是对数据 源数据的抽取建立在一个统一的模式上: ( 2 ) 实视图的分解及其优化算法一实视图是一个在多个数据源模型上的视图,是各个数据源上 视图的集成,这个集成同样包括映射、连接、聚合、分割等操作。如何将一个视图按照数 据源所能提供的视图能力来进行分解,这个分解需要考虑到分解后的性能以及聚合的效率; ( 3 ) 维护过程的原子化和顺序化模式定义机制及其自动化执行算法视图的分解后,数据抽取 过程也就变成一系列的子过程,这些子过程可能是将数据清理、可能是将数据转换、也可 能是讲数据字段分割等操作,这些子过程可能是融合的,也可能是原子的,过程的组合可 能是串行的也可能是并行的,如何确定过程任务的原子性和自动的设计过程中子任务顺序 是一个很复杂的过程: 2 3o l a p 联机分析处理 o l a p ( o n l i n e a n a l y t i c a l p r o c e s s i n g ,联机分析处理) 的概念最早在1 9 9 3 年提出的。当时,联机 事务处理( o l t p ) 已不能满足终端用户对数据库查询分析的要求,s q l 对大数据库的简单查询也不 能满足用户分析的需求。用户的决策分析需要对关系数据库进行大量计算才能得到结果,而查询的 结果并不能满足决策者提出的需求。因此,提出了多维数据库和多维分析的概念,即o l a p 。 o l a p 的特点可以用五个关键字来代表:f a s ta n a l y s i so fs h a r e dm u l t i d i m e n s i o n a l i n f o r m a t i o n ( f a s m i ,共享多维信息的快速分析) 。这也是设计人员或管理人员用来判断一个o l a p 设 计是否成功的准则。f a s t :系统响应用户的时间要非常迅速,要达到这个目标,数据库的模式应该 朝着更广泛的技术发展,包括特殊的数据存储格式,预先计算和硬件配置等。a n a l y s i s :系统应能处 理与应用有关的任何逻辑分析和统计分析,用户无需编程就可以定义新的专门计算,将其作为分析的 一部分,并以用户理想的方式给出报告。s h a r e d :这意味着系统要能够符合数据保密的安全要求,即 使多个用户同时使用,也能够根据用户所属的安全级别,让他们只能看到他们应该看到的信息。 9 东南大学硕士学位论文 m u l t i d i m e n s i o n a l :o l a p 的显著待征就是它能提供数据的多维视图系统必须提供对数据分析的多维 视图和分析,包括对层次维和多重层次维的完全支持。i n f o r m a t i o n :不论数据量有多大,也不管数据存 储在何处0lap 系统应能及时获得信息,并且管理大容最信息。这里有许多因素需要考虑,如数据 的可复制性、可利用的磁盘空间、0lap 产品的性能及与数据仓库的结合度等。 o l a p 的一个重要特点是多维数据分析,o l a p 技术中比较典型的应用是对多维数据的切片和 切块、钻取、旋转等操作,使用户从不同角度和不同层次提取和分析数据,还能利用分析过程对数 据进行深八分析和加工。 0 l a p 可按存储方式和特点分为三种方式:r o l a p 、m o l a p 和h o l a p 。 1 r o l a p r o l a p ( r e l a t i o n a lo l a p ) 以关系型结构存储和表示多维数据,而不生成多维立方体,只是存 储数据模型和数据仓库数据之间的映射关系,真正的数据物理存储在数据仓库中。在进行多维分析 时,o l a p 服务器根据定义的模型和映射关系,从数据仓库中取得数据,进行实时分析。由于数据 仓库中保存了大量的细节数据和描述性的数据,因而数据集比较大,且响应用户的分析请求是要进 行大量的关系表之间的连接操作,这就增加了对用户的响应时间,但数据只存储一次,相对于 m o l a p ,节省了空间,且分析可以得到较细节的数据,即分析的粒度可以比较细。 2 m o l a p m o l a p ( m u l t i d i m e n s i o n a lo l a p ) 是将按照主题定义的o l a p 分析所用到的数据,生成并存储为 多维数据库的形式,形成“超立方体”的结构。生成的多维立方体己经计算生成了一些汇总值,当 用户发出分析请求时,从多维立方体中取得数据,而不是从数据仓库中取数据。这种方式对用户的 相应速度较快,但由于多维立方体通常是稀疏的,存储的利用率很低,造成存储空间的浪费。因此 多维立方体中,不可能存储大量的细节数据,综合数据较多,分析的粒度比较粗。 3 h o l a p h o l a p ( h y b r i d o l a p ) 综合了m o l a p 和r o l a p 的优点,得到了折中的解决方案。对些 用户经常用到的维度和度量值( 通常是一些聚集数据) ,保存维为多维数据库,而与这些维度和度量 值相关的详细数据,仍然以关系型数据的形式保存在数据仓库中。这样既解决了o l a p 分析的速度 问题和存储问题,也解决了对详细数据的分祈问题。 o l a p 分析就是在o l a p 分析多维立方体上进行查询操作。o l a p 分析晟基本的操作是设定各 个维上的值,查询对应的事实度量。o l a p 多维立方体中一般存放的是基本粒度的数据,由于维中 的属性存在层次信息,很多分析需要使数据按照维的层次来进行聚合。o l a p 分析主要使按多个维、 维中属性层次来进行分析的,可以分为以下几种操作: ( 1 ) 上钻:上钻操作主要用于数据的获取上。上钻操作最简单的是在一个维上按照属性层次进 行聚集。复杂的上钴是同时在几个维上进行聚集操作。 ( 2 ) 下钻:下钻操作主要用于数据的获取上。下钻操作是在某一个维上顺着属性粒度层次获取 更低一级的分析数据。一般不会同时进行多个维上的同时下钻操作。 ( 3 ) 旋转:旋转操作主要用于数据的展示上,可以改变维度的方向来展现出数据不同的含义。 ( 4 ) 切片:切片操作主要用于数据的获取上。切片操作是固定其中几个维的粒度层次,然后在 其他几个维上进行查询。 o l a p 系统本身还需要一些元数据:o l a p 模型元数据、o l a p 分析操作元数据。o l a p 模型元 数据是描述o l a p 多维立方体模型的元数据,和数据仓库中的逻辑模式差不多,不过特别强调属性 层次,还包含了数据的物理存储信息。o l a p 分析操作元数据包括每一种分析操作所需要的参数信 息等。 数据仓库o l a p 建模和管理工具主要完成根据数据仓库元数据库来建立真正的分析模型,同时 将这个模型建立对应的数据从数据仓库中抽取出来,建立立方体在o l a p 服务器中,定期刷新o l a p 立方体,管理立方体的存储。 o l a p 建模和管理工具负责管理o l a p 分析中所用到多维数据库的逻辑、物理模式,包括建立 和维护。提供友好的图形化界面,将数据仓库的逻辑物理模式展现给设计人员,然后接受设计人员 】0 第二章数据仓库系统的开发过程 的操作建立或者修改多维数据库的逻辑物理模式。同时生成描述多维数据库逻辑物理模式以及多维 数据库物理模式与数据仓库物理模式对应哭系的x m l 文件,供o l a p 应用服务器或者前端工具使 用。由于多维数据库的逻辑和物理模式具有简单的映射关系,这里考

温馨提示

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

评论

0/150

提交评论