《基于数据仓库和数据挖掘的决策支持系统的研究》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
上海交通大学硕士学位论文基于数据仓库和数据挖掘的决策支持系统的研究姓名:叶瑾申请学位级别:硕士专业:计算机应用指导教师:谢康林2002.1.1 的挖掘技术方面,提出了适合于实际应用的销售型数据仓库的关联规则挖掘算法SMAR;在挖掘语义层次上的关联规则方面,引入一种新的挖掘方法,通过挖掘明式或暗示的代表数据仓库特征的语义层次来处理数据的复杂性;在时间序列模式的数据挖掘中,提出一个基于季节指数的最小二乘法来预测与季节变动相关的销售数据走向。以上算法本文不仅从^、/,理论上进行探讨,还结合实际应用系统加以实现。)/1//然后,本文从实际应用的角度来阐述整个基于数据仓库和数据挖掘技术的综合决策支持系统。其中包括对综合决策支持系统体系框架结构的研究和分析,以及针对具体实际应用的各个模块功能和决策支持系统整体解决方案。最后,总结本论文所做的工作,并对进一步的发展方向进行展望。关键词:数据仓库,联机分析处理,数据挖掘,关联规则,趋势分析决策支持系统 DECISIONSUPPORTSYSTEMRESEARCHBASEDONDATAWAREHOUSEANDDATA_lNlNGABSTR^CTWiththedevelopmentofcompmertechnologyandtheimplementofinformationhighway,informationsyStemhasalreadybecomeonepartof0131"lives.DataWarehousecameforthwithtIleechooftime,andbecamethehighlightindatabaseresearch.DataWarehousetechnologywithOLAPandDataMiningtechnologyistheexcellentmethodfordatamanagement,informationacquirementandintelligentdecision.DataWarehouse,OLAPandDataMininghavebecomethefocusofresearchinDecisionSupportSystemcurrentlyThispaperfirstintroducesthecurrentdevelopmentsituationofDecisionSupportSystem,itsrealresearchingbackgroundanditsaim.Secondly,theauthordescribesthetheoryofDataWarehouse,OLAPandDataMining,andtheirdevelopmentdirectionsindepth.Meanwhile,theauthordiscussestheimplementationonofDataWarehouse,buildsonesalesdatawarehousewithtwosubjects,salesandcustomers.Afterthat,theauthorexplorestherealizationofOLAPandDataMininginrealapplicationbasedonthebuilt datawarehouse.ThekeystoneofthispaperistheinnovationinminingresearchAsthecoreofthispaper,thispartdiscussestheresearchachievementonDataMiningduringdailyresearchworkandmaster’Sthesiscomposition,andtheapplicationoftheresultachieved,whichincludes:analgorithmSMARonassociationrulesmining,whichissuitabletothebuiltsaleswarehouse;amethodonconceptsassociationrulesminingtomineassociationrulesbyexploitingtheimplicitandexplicitconceptshierarchieswhichfeaturewarehouse;aLeastSquareMethodwithseasonalindexontimeserialminingtoforecastthesalesquantitieswhicharerelatedwithseasonal’alternation.Allthesemethodsarediscussednotonlyintheory,bfltalsoinrealization.Afterwards,theauthorproposestheframeworkofthewholedecisionsupportsystembasedonwarehouseandmining,includingthearchitectureanalysisofdecisionsupportsystem,themodulefunctionsinitsapplicationanditsfullsolutioninapplication.Finally,theauthorsumsupthewholework,givessomepredictionsonfutureresearch.’KEYWORDS:datawarehouse,OLAP,datamining,associationrules,sequelanalysis,decisionsupportsystem 上海交通大学硕士学位论文基于数据仓库和数据挖掘的决策支持系统的研究第一章绪论1.1基于新型决策支持技术的综合决策支持系统的提出决策支持系统(DecisionSupportSystem)的概念是20世纪70年代提出的,并且在80年代得到发展。它的产生基于以下原因:(1)传统的MIS没有给企业带来巨大的效益,人在管理中的积极作用要得到发挥;(2)人们对信息处理规律认识提高,面对不断变化的环境需求,要求更高层次的系统来直接支持决策;(3)计算机应用技术的发展为DSS提供了物质基础。决策支持系统,是以管理科学、运筹学、控制论和行为科学为基础,以计算机技术、仿真技术和信息技术为手段,针对半结构化的决策问题,支持决策活动的具有智能作用的人机系统。该系统能够为决策者提供决策所需的数据、信息和背景材料,帮助明确决策目标和进行问题的识别,建立或修改决策模型,提供各种备选方案,并且对各种方案进行评价和优选,通过人机交互功能进行分析、比较和判断,为正确决策提供必要的支持。数据仓库(DataWarehouse)和联机分析处理(On.LineAnalysisProcess)是20世纪90年代初提出的概念,到90年代中期已经形成潮流。在美国,数据仓库已经成为仅次于Internet之后的又一技术热点。数据仓库是市场激烈竞争的产物,它的目标是达到有效的决策支持。随着数据仓库的发展,OLAP也得到了迅猛的发展。数据仓库侧重于存储和管理面向决策主体的数据;而OLAP则侧重于数据仓库中的数据分析,并将其转换成辅助决策信息。OLAP的一个重要特点是多维数据分析,这与数据仓库的多维数据组织正好形成相互结合、相互补充的关系。到了20世纪90年代中期,从人工智能、机器学习等技术中发展出数据挖掘(DataMining)技术。数据挖掘是从数据库、数据仓库中挖掘有用的知识,其知识的形式有产生式规则、决策树、数据集、公式等,它对知识的推理即形成智能模型,是以定性分析方式辅助决策的。以数据仓库和OLAP相结合建立的综合决策系统是决策支持系统的新形式。以模型库为主体的决策支持系统已经发展了lO多年,它对计算机的辅助决策起了很大的推动作用。数据仓库和OLAP新技术为决策支持系统开辟了新途径。数据仓库与OLAP都是数据驱动的。这些新的技术和传统的模型库对决策的支持是两种不同的形式,它们可以相互补充。在OLAP中加入模型库,将会极大地提高OLAP的分析能力。把数据库、OLAP、数据开采、模型库结合起来形成综合决策支持系统,是更高级形式的决策支持系统。其中数据仓库能够实现对决策主题数据的存储和综合,OLAP实现多维数据分析,数据开采用以挖掘数据库和数据仓库中的知识,模型库实现多个广义模型的组合辅助决策,专家系统利用知识推理进行定性分析。它们集成的综合决策支持系统,将相互补充、相互依赖发挥各自的辅助决策优势,实现更有效的辅助决策。第l页共l页 上海交通大学硕士学位论文基于数据仓库和数据挖掘的决策支持系统的研究1.2论文研究的方法及拟达到的目标作者在硕士学位论文研究和撰写阶段,对数据仓库、OLAP和数据挖掘技术以及基于以上技术构架的决策支持系统进行了研究和探讨,同时阅读了国内外大量的最新技术文献,并且结合所参加的科研项目:三枪集团“基于数据仓库和数据挖掘的计划决策支持系统”的研究、设计和开发工作,在数据挖掘技术的某些前沿领域做了一些探索性尝试和努力。三枪集团是国内一家知名的大型内衣制造商,在多年的销售中已经积累了30万余条销售纪录。如何最大限度的利用好这些历史数据,从中提炼出对企业决策有价值的信息是一个值得特别研究的问题。该计划决策支持系统是三枪集团针对企业内部的生产管理和市场销售工作所提出的一个决策支持项目。概括的说,其目标和功能主要包括以下几点:●根据对市场销售情况的分析判断,对企业库存情况的统计,结合对企业内部生产能力的评估,合理、有效地制定生产计划;·及时了解企业集团分布在全国各地销售网点的销售情况,为管理者提供对销售数据准确、灵活的统计和查询能力;·对企业内部的各种数据进行分析,从中发现出有用的信息为企业的高层决策提供支持。作者希望通过对该系统的研究和开发,从而对决策支持系统的总体结构有一个较为全面的认识,同时对许多具体的技术细节进行较为深入的理解,并且在系统的设计和开发过程中,结合企业的具体实际应用,进行了一些有意义的尝试和探索性的研究。因此,在本硕士学位论文中,作者对数据仓库、OLAP和数据挖掘技术进行研究和探讨,并以三枪集团的计划决策支持系统作为实例,以系统设计开发的具体过程为线索,进行基于新型决策支持技术的综合决策支持系统的整体框架的研究。1.3论文研究的意义数据仓库技术自93年兴起以来,一直倍受业界人士的关注。作为决策型数据库,数据仓库能很好的实现异构数据库的集成,有效地利用历史数据资源。因而,众多的企业和公司都纷纷采用数据仓库技术来提高运作效率,提供最有效的信息来辅助决策。同时,数据仓库和联机分析技术、数据挖掘技术相结合,能更好地为用户提供决策信息的支持,这也正是目前用户所需要的。特别是在销售领域内,用户需要灵活的查询工具,从不同的角度来观察和分析数据,要同时做到概括性数据的浏览和细节性数据的探究。同时对用户无法表述而又想了解的决策信息,如关联规则的发现以及趋势的预测等。利用数据挖掘工具,系统就能自行在浩如烟海的数据中按一定的算法进行规则和趋势的挖掘,找出数据间的内在关联性,为用户提供决策上的支持。这些都是本课题研究的关键技术,在这些方面,作者不仅从理论上进行探讨,还结合具体的算法加以实现。以上这些技术都代表了目前国际上组织管理数据,发现获得信息和智能化决策的最先进的手段,并处于国内外该领域的科研前沿。同时,它们在决策支持领域中的应第2页共78页 上海交通大学硕士学位论文基于数据仓库和数据挖掘的决策支持系统的研究用,将给企业的管理和决策带来巨大的经济效益,强大的企业竞争优势,高效有序的管理,以及无限的可扩性和适应性,具有无法估量的发展前景。目前数据仓库、联机分析和数据挖掘等技术都已经成为决策支持系统领域内的热点研究课题。可以毫不夸张地说,基于数据仓库和数据挖掘的综合决策支持系统的出现将给传统的决策支持带来一场革命,它将是人们朝着智能化决策所迈出的最为坚实的一步。1.4论文内容编排本文的结构以如下的方式进行组织。全文共由六章组成。第~章为绪论,简单介绍决策支持系统的发展情况和论文的实际研究背景以及论文拟达到的目标与意义。除此以外,还包括了论文内容的具体编排结构。第二章到第四章中,分别详细探讨了数据仓库、联机分析处理和数据挖掘技术的理论基础及其在实际系统中的应用状况。其中第四章是本论文的重点,在这一章中,结合对实际系统的开发,详细地介绍了作者在科研和硕士学位论文撰写阶段,在数据挖掘技术的某些前沿领域中所作的研究和创新工作,并且将数据挖掘技术和企业的实际相结合起来。这些工作集中表现在对关联规则挖掘和时间序列预测的研究方面,其中不少内容都是作者在科研和和硕士论文撰写阶段的研究成果。第五章在前几章的基础上从实际应用的角度来介绍整个基于数据仓库和数据挖掘技术的综合决策支持系统。其中包括对综合决策支持系统体系框架结构的研究和分析,以及针对具体实际应用的各个模块功能和决策支持系统整体解决方案。第六章总结本论文所做的工作,并对进一步的发展进行展望。第3页共78页 上二海交通大学硕士学位论文基于数据仓库和数据挖掘的决策支持系统的研究第二章数据仓库技术的研究和应用2.1数据仓库技术的提出计算机系统的功能从数值计算扩展到数据管理距今已有三十多年了。最初的数据管理形式主要是文件系统,数据的访问必须依赖于特定的程序,数据的存取方式是固定的、死板的。到了1969年,E.F.Codd博士发表了他著名的关系数据模型的论文。此后,关系数据库的出现开创了数据管理的一个新时代。近几十年来,大量新技术、新思路的涌现出来,并被用于关系型数据库系统的开发和实现。这一切足以使得关系数据库系统的处理能力毫不逊色于传统封闭的数据库系统。而关系数据库在访问逻辑和应用上所带来的好处则远远不止这些,SQL的使用己成为一个不可阻挡的潮流,加上近些年来计算机硬件的处理能力呈数量级的递增,关系数据库最终成为联机事务处理系统的主宰。整个20世纪80年代直到90年代初,联机事务处理一直是数据库应用的主流。然而,应用在不断地进步。当联机事务处理系统应用到一定阶段后,用户便发现单靠拥有联机事务处理已经不足以获得市场竞争的优势,他们需要对其自身业务的运作以及整个市场相关行业的情况进行分析,而做出有利的决策。这种决策需要对大量的业务数据包括历史业务数据进行分析才能得到。在如今这样激烈的市场竞争环境下,这种基于业务数据的决策分析,我们把它称为联机分析处理(OLAP),比以往任何时候都显得更为重要。如果说传统联机事务处理强调的是更新数据库——向数据库中添加信息,那么联机分析处理就是从数据库中获取信息、利用信息。因此,著名的数据仓库专家RalphKimball写道:”我们花了二十多年的时间将数据放入数据库,如今是该将它们拿出来的时候了。”事实上,将大量的业务数据应用于分析和统计原本是一个非常简单和自然的想法。但在实际的操作中,人们却发现要获得有用的信息并非如想象的那么容易,这主要表现在以下几点:·所有联机事务处理强调的是密集的数据更新处理性能和系统的可靠性,并不关心数据查询的方便与快捷。联机分析和事务处理对系统的要求不同,同一个数据库在理论上都难以做到两全。·业务数据往往存放于分散的异构环境中,不易统一查询访问,而且还有大量的历史数据处于脱机状态,形同虚设。·业务数据的模式针对事务处理系统而设计,数据的格式和描述方式并不适合非计算机专业人员进行业务上的分析和查询。’因此有人感叹:20年前查询不到数据是因为数据太少了,而今天查询不到数据是因为数据太多了。针对这一问题,人们设想专门为业务的统计分析建立一个数据中心,它的数据从联机的事务处理系统中来、从异构的外部数据源来、从脱机的历史业务数据中来⋯⋯。这个数据中心是一个联机的系统,它是专门为分析统计和决策支持应用服务的,通过它可以满足决策支持和联机分析应用所要求的~切。这个数据中第4页共78页 上海交通大学硕士学位论文基于数据仓库和数据挖掘的决策支持系统的研究心就叫做数据仓库。这个概念在20世纪90年代初被提出来。如果需要给数据仓库一个定义的话,那么数据仓库就是一个作为决策支持系统和联机分析应用数据源的结构化数据环境。数据仓库所要研究和解决的问题就是从数据库中获取信息的问题。那么数据仓库与数据库(主要指关系数据库)又是什么关系呢?回想当初,人们圃守封闭式系统是出于对事务处理的偏爱,人们选择关系数据库是为了方便地获得信息。我们只要翻开c.J.Date博士的经典之作(AnIntroductiontoDatabaseSystems))便会发现:今天数据仓库所要提供的正是当年关系数据库所要倡导的。然而,由于关系数据库系统在联机事务处理应用中获得的巨大成功,使得人们已不知不觉将它划归为事务处理的范畴;过多地关注于事务处理能力的提高,使得关系数据库在面对联机分析应用时又遇到了新的问题一今天的数据仓库对关系数据库的联机分析能力提出了更高的要求,采用普通关系型数据库作为数据仓库在功能和性能上都是不够的,它们必须有专门的改进。因此,数据仓库与数据库的区别不仅仅表现在应用的方法和目的方面,同时也涉及到产品和配置上的不同。以辨证的眼光看,数据仓库的兴起实际是数据管理的一种回归,是螺旋式的上升。今天的数据库就好比当年的层次数据库和网状数据库,它们面向事务处理:今天的数据仓库就好比是当年的关系数据库,它针对联机分析。所不同的是,今天的数据仓库不必再为联机事务处理的特性而无谓奔忙,由于技术的专业化,它可更专心于联机分析领域的发展和探索.数据仓库的概念一经出现,就首先被用于金融、电信、保险等主要传统数据处理密集型行业。国外许多大型的数据仓库在1996—1997年建立。那么,什么样的行业最需要和可能建立数据仓库呢?有两个基本条件:第一,该行业有较为成熟的联机事务处理系统,它为数据仓库提供客观条件;第二,该行业面临市场竞争的压力,它为数据仓库的建立提供外在的动力。2.2数据仓库的定义业界公认的数据仓库概念创始人w.H.Inmon在《建立数据仓库》一书中对数据仓库的定义是:数据仓库就是面向主题的、集成的、不可更新的(稳定性)、随时间不断变化(不同时间)的数据集合,用以支持经营管理中的决策制定过程。数据仓库中的数据面向主题,与传统数据库面向应用相对应。主题是一个在较高层次上将数据归类的标准,每一个主题对应一个宏观的分析领域:数据仓库的集成特性是指在数据进入数据仓库之前,必须经过数据加工和集成,这是建立数据仓库的关键步骤,首先要统一原始数据中的矛盾之处,还要将原始数据结构做一个从面向应用向面向主题的转变;数据仓库的稳定性是指数据仓库反映的是历史数据的内,而不是日常事务处理产生的数据,数据经加工和集成进入数据仓库后是极少或根本不修改的:数据仓库是不同时间的数据集合,它要求数据仓库中的数据保存时限能满足进行决策分析的需要,而且数据仓库中的数据都要标明该数据的历史时期。.数据仓库最根本的特点是物理地存放数据,而且这些数据并不是最新的、专有的,而是来源于其它数据库的。数据仓库的建立并不是要取代数据库,它要建立在一个较全面和完善的信息应用的基础上,用于支持高层决策分析,而事务处理数据库在企业第5页共78页 上海交通大学硕士学位论文基于数据仓库和数据挖掘的决策支持系统的研究的信息环境中承担的是日常操作性的任务。数据仓库是数据库技术的一种新的应用,而且到目前为止,数据仓库还是用关系数据库管理系统来管理其中的数据。传统的数据库技术是以单一的数据资源,即数据库为中心,进行事务处理、批处理、决策分析等各种数据处理工作,主要的划分为两大类:操作型处理和分析型处理(或信息型处理)。操作型处理也叫事务处理,是指对数据库联机的日常操作,通常是对一个或一组纪录的查询和修改,主要为企业的特定应用服务的,注重响应时间,数据的安全性和完整性;分析型处理则用于管理人员的决策分析,经常要访问大量的历史数据。而传统数据库系统优于企业的日常事务处理工作,而难于实现对数据分析处理要求,已经无法满足数据处理多样化的要求。操作型处理和分析型处理的分离成为必然。近年来,随着数据库技术的应用和发展,人们尝试对DB中的数据进行再加工,形成一个综合的,面向分析的环境,以更好支持决策分析,从而形成了数据仓库技术(DataWarehousing)。作为决策支持系统(DecisionSupportSystem),数据仓库系统包括:l、数据仓库技术;2、联机分析处理技术(On—LineAnalyticalProcess);3、数据挖掘技术(DataMining);数据仓库弥补了原有的数据库的缺点,将原来的以单一数据库为中心的数据环境发展为一种新环境:体系化环境,如图2一I所示:图2一I数据仓库体系化环境2.3数据仓库中的数据组织2.3.1数据组织结构一个典型的数据仓库的数据组织结构如图2—2所示:数据仓库中的数据分为四个级别:早期细节级、当前细节级、轻度综合级、高度综合级。源数据经过综合后,首先进入当前细节级,并根据具体需要进行进一步的综合,从而进入轻度综合级乃至高度综合级,老化的数据将进入早期细节级由此可见,数据仓库中存在着不同的综合级别,一般称之为”粒度”。粒度越大,表示细节程度越低,综合程度越高。第6页共78页 上海交通大学硕士学位论文基于数据仓库和数捌挖掘的决策支持系统的研究图2—2DW数据组织结构2.3.2元数据(metadata)元数据是”关于数据的数据”,如在传统数据库中的数据字典就是一种元数据。对数据仓库来说,元数据是基础,它管理数据仓库中的各种控制参数,是数据仓库管理和开发的核心,是“关于数据仓库的数据库”。在数据仓库环境下,主要有两类元数据:第一种是为了从操作性环境向数据仓库转化而建立的元数据,包含了所有源数据项名、属性及其在数据仓库中的转化;第二种元数据在数据仓库中是用来和终端用户的多维商业模型/前端工具之间建立映射,主要是用于完成数据仓库的管理和监控,此种元数据称之为DSS元数据,常用来开发更先进的决策支持工具,包括数据的选取、加载和使用等过程等。2.3.3粒度与分割粒度是数据仓库的重要概念。粒度可以分为两种形式,第一种粒度是对数据仓库中的数据的综合程度高低的一个度量,它既影响数据仓库中的数据量的多少,也影响数据仓库所能回答询问的种类。在数据仓库中,多维粒度是必不可少的。由于数据仓库的主要作用是DSS分析,因而绝大多数查询都基于一定程度的综合数据之上的,只有极少数查询涉及到细节。所以应该将大粒度数据存储于快速设备如磁盘上,小粒度数据存于低速设备如磁带上。还有一种粒度形式,即样本数据库。它根据给定的采样率从细节数据库中抽取出一个子集。这样样本数据库中的粒度就不是根据综合程度的不同来划分的,而是有采样率的高低来划分,采样粒度不同的样本数据库可以具有相同的数据综合程度。分割是数据仓库中的另一个重要概念,它的目的同样在于提高效率。它是将数据分散到各自的物理单元中去,以便能分别独立处理。有许多数据分割的标准可供参考:如日期、地域、业务领域等等,也可以是其组合。一般而言,分割标准总应包括日期第7页共78页 上海交通大学硕士学位论文摹于数据仓库和数据挖掘的决策支持系统的研究项,它十分自然而且分割均匀。2.3.4数据仓库的数据组织形式·这里简单介绍数据仓库中常见的数据组织形式:f—j筋华罄勰之缪:它将每日由数据库中提取并加工的数据逐天积累并存储起来。r二)张橼兮史斧:数据存储单位被分为目、周、月、年等几个级别。在一个星期的七天中,数据被逐一记录在每日数据集中;然后,七天的数据被综合并记录在周数据集中;接下去的一个星期,日数据集被重新使用,以记录新数据。同理,周数据集达到五个后,数据再一次被综合并记入月数据集。以此类推。轮转综合结构十分简捷,数据量较简单堆积结构大大减少。当然,它是以损失数据细节为代价的,越久远的数据,细节损失越多。仨)筋纪直接勋学:它类似于简单堆积文件,但它是间隔一定时间的数据库快照,比如每隔一星期或一个月作一次。f四)篷嬖之鲈:通过两个连续的简化直接文件,可以生成另一种连续文件,它是通过比较两个简单直接文件的不同而生成的。当然,连续文件同新的简单直接文件也可生成新的连续文件。’对于各种文件结构的最终实现,在关系数据库中仍然要依靠”表”这种最基本的结构。2.3.5数据仓库的数据追加如何定期向数据仓库追加数据也是一个十分重要的技术。我们知道,数据仓库的数据是来自OLTP的数据库中,问题是我们如何知道究竟哪些数据是在上一次追加过程之后新生成的。常用的技术和方法有:·时标方法:如果数据含有时标,对新插入或更新的数据记录,在记录中加更新时的时标,那么只需根据时标判断即可。但并非所有的数据库中的数据都含有时标。·DELTA文件:它是由应用生成的,记录了应用所改变的所有内容。利用DELTA文件效率很高,它避免了扫描整个数据库,但同样的问题是生成DELTA文件的应用并不普遍。此外,还有更改应用代码的方法,使得应用在生成新数据时可以自动将其记录下来。但应用成千上万,且修改代码十分繁琐,这种方法很难实现。·前后映象文件的方法:在抽取数据前后对数据库各作一次快照,然后比较两幅快照的不同从而确定新数据。它占用大量资源,对性能影响极大,因此并无多大实际意义。·日志文件:最可取的技术大概是利用日志文件了,因为它是DB的固有机制,不会影响0LTP的性能。同时,它还具有DELTA文件的优越性质,提取数据只要局限日志文件即可,不用扫描整个数据库。当然,原来日志文件的格式是依据DB系统的要求而确定的,它包含的数据对于数据仓库而言可能有许多冗余。比如,对一个记录的多次更新,日志文件将全部变化过程都记录下来;而对于数据仓库,只需要最终结果。但比较而言,日志文件仍然是最可行的一种选择。第8页共78页 上海交通大学硕士学位论文基于数据仓库和数据挖掘的决策支持系统的研究2.4数据仓库的设计数据仓库是建立决策支持系统的基础。数据仓库的设计必须同企业的管理系统和决策支持相紧密联系。作为数据仓库的设计者不仅要考虑数据库和用户界面,还要考虑数据加载策略,数据访问工具,用户的培训和不断出现的维护问题。因此,数据仓库需要一个综合考虑了许多方面的设计方案。本节以作者为三枪集团设计的销售数据仓库为实际应用背景,详细介绍整个设计过程,包括数据仓库需求分析,概念模型设计,逻辑模型设计和物理模型设计。同时还相应地总结在设计过程中所涉及到的各种问题。2.4.1数据仓库需求分析数据仓库的设计从“它将用于什么以及谁将会用它”这个最基本的问题开始。建立企业级的数据仓库,目的是将用户直接与他们所需要的数据相连,以便于进行灵活,有效的,详细的,战略性的商业决策。因此在设计数据仓库之前必须明确其应用目标。以三枪集团销售数据仓库为例,如图2—3所示,建立数据仓库的目的是能够将分布在全国各地的各种销售数据进行汇总,整理。然后以星型模型和雪花模型将多个数据表连接起来,并以多维数据立方体的形式进行组织管理。在此基础上,提供为企业决策服务的各种分析,查询,报表功能。不仅如此,还要在数据仓库的基础上,开发各种数据挖掘技术,并将其渗透到企业管理决策的各个领域。决策支持f。LJ‘t查询分析▲JL多维分析工具甸阿数据挖掘工具一I}/彳>仓库图2—3数据仓库应用框架Figure2—3DataWarehouseApplicationArchitecture第9页共78页 上海交通大学硕士学位论文基于数据仓库和数据挖掘的决策支持系统的研究2.4.2概念模型设计这里指的概念模型与数据库设计中所指的概念模型基本相同。它是主观与客观之间的桥梁,是为系统设计和收集信息而服务的一个概念性工具。在计算机领域中,概念模型是客观世界到计算机世界的一个中间层次。人们将现实世界抽象为信息世界,再将信息世界抽象为机器世界,这个信息世界就是我们所说的概念模型。概念模型设计的主要任务是:1、界定系统边界.2、确定数据仓库的主题域及其内容。在概念模型设计中最常用的方法是E—R图法,即用E—R图来描述实体和实体之间的联系。在概念模型设计中长方形表示主题,在框内写上主题名;而椭圆表示一个主题对应的各个修饰限定信息,也就是维。(在下一章介绍联机分析时,维将是一个非常重要的概念。)图2—4主题分析Figure2—4DomainAnalysis图2—4是我们为三枪集团开发数据仓库时,进行概念模型设计的一部分较为典型的结果。在该图中,主要包含两个相关的主题:销售和顾客。在概念模型中,主题是由事实表来反映的。围绕着事实表的,是同该主题有关的一些限定信息,即维表。以销售主题为例:销售事实表反映三枪集团的服装销售情况。与之有关的是销售数量、销售金额、销售部门、销售地区、销售商品的型号、等级以及销售时间等。在图中,顾客购买信息主要是指顾客的相关信息。2.4.3逻辑模型设计逻辑模型设计是指:在数据仓库中如何将一个主题描述出来。它是对概念模型设计的细化。一般来说,数据仓库都是在现有的关系型数据库的基础上发展起来的。所第10页共78页 上海交通大学硕士学位论文基于数据仓库和数据挖掘的决策支持系统的研究以数据仓库中的数据仍然是以数据表格的形式进行组织的。逻辑模型就是要把不同主题和维的信息映射到数据仓库中的具体的表中。这一阶段的设计主要包括:l、分析主题域和维信息,确定粒度层次划分。2、关系模式的定义。2.4j3i1星型模銎和雪花模型仍然以三枪集团数据仓库为例,对于销售主题,全部数据以一个多维数据立方体的形式进行组织。总共包含一个核心事实表和五个维表。在实际数据仓库中,事实表里包含了集团商品销售的各种度量(度量是一种特殊的维),包括销售数量,销售金额和平均单价等。这些数据将在以后被直接或间接地用在分析中。除此之外,核心事实表中还包含有多个外码,分别对应于多个维表。外码是联系事实表和数据维表的纽带。在本例中,事实表中包含了五个外来关键字,它们分别于五个维表相对应。维表中存放着各个维的相关信息。如图2—5所示,所有的数据维表以核心事实表为中心构成了一个星形模型。事实表I地区维表l销售地区+ll商品等级表l商品型号+I丽品信思表J{J商品等级+l顾客信息表卜顾客信息+——-一销售时间表f销售时间+销售数量销售金额+代表外码平均单价”+·平均单价为导E变量。金额,销售数量)图2-5星型模型Figure2—5StarModel雪花模型是在星型模型的基础上进行设计的。由于人们观察角度的是多层次的,数据的维往往不仅只有一个维层次。维的不同层次组合在一起可以构建一个复杂的维。对于同一维中的多个层次,可以用多张表来描述一个复杂的维。例如地区维可以进一步划分为地区,省份,城市。商品等级维可以进一步划分为一级品、二级品等等。因此一个维表又可以根据不同的层次分裂成多个分支,这种形状称为雪花模型。如图2—6所示,是销售数据仓库中的地区维经过分裂以后所形成的雪花模型的结果。在实际的设计中雪花模型和星型模型常常需要进行均衡。雪花模型适合于层次结构较为复杂的的维,但其缺点是关系模型的表结构较为复杂。星型模型可以用~张表来描述,所以从表结构上来看较为简单,但数据冗余较大,并且有时不能满足第四关系范式4NF的要求。274i3i2数据仓痒设计的规范化数据库的设计同数据仓库的设计目标有显著的差异。数据库管理系统主要关心的第1I页共78页 上海交通大学硕士学位论文基于数据仓库和数据挖掘的决策支持系统的研究是快速高效存储和数据逻辑上的完整性。地区表省级表城市表地区维表销售地点地区代码省级代码城市代码商品等级表顾客信息表图2—6雪花模型Figure2—6SnowflowerMode事实表销售地点+商品型号+商品等级+顾客信息+销售时间+销售数量销售金额平均单价”商品信息表销售时间表·代表外码“平均单价为导出变量。为了规范数据库的设计,到目前为止,已经形成了一套比较完备的数据库规范化理论。数据库的规范化理论主要是由Codd提出的。目前经常使用的范式根据其级别不同依次为:第一范式1NF,第二范式2NF,BCNF和第四范式4NF。第一范式1NF最为简单,只要求保证数据项的原子性。它具有以下特征:1、所有的属性都是原子化的。2、属性不可能有一组值。3、属性不可能有任何嵌套关系。在第一范式的基础上,如果清除了主属性部分的依赖关系以后,所得到的关系就称为第二范式。第二范式的定义是:如果关系R∈lJ~,,,且每个非主属性完全函数依赖于码,那么R∈2NF。第二范式保证了所有不重要的属性关系完全依赖于主键。当然还有其它更高形式的规范化,现在许多数据库管理系统的设计层次都达到或高于第四范式。这里需要强调指出的是第四范式。因为第四范式的定义其实正说明了数据库与数据仓库之间的区别。从星型模型到雪花模型的转变就是针对第四范式。在星型模型中关系不必满足第四范式,因此数据中将会存在多值依赖。当从星型模型向雪花模型转变以后,消除或者减少了多值依赖,因此也减小了数据的冗余,但数据关系也由此而变得复杂。创建企业级的数据仓库是一个需要全面考虑各方面因素的开发过程,它需要用户团体与开发人员在开发过程中的密切合作。在数据仓库的关系模型设计阶段,这种合作显得尤为重要。因为关系模型的设计介于概念模型和物理模型设计之间,在这一阶段不仅要考虑用户的需求,同时还要考虑数据的组织。应该说,它起到了一个承上启下的作用。第12页共78页 卜海交通大学硕士学位论文基于数据仓库和数据挖掘的决策支持系统的研究2。4.4物理模型设计物理模型是指数据在数据仓库中的存放形式和数据的组织。目前的数据仓库都是建立在关系型数据库的基础上,最终的数据存放是由数据库系统进行管理的,因此物理模型设计主要考虑构建物理数据库。包括数据的存储表结构,索引策略,数据的存放位置和存储分配。当然一般只有在涉及到数据分割等情况才进行一些数据存放和存储分配的处理。在实际系统的设计中,我们使用了MicroSoft公司的MSSQLSERVER7.0和MsOLAPSERVICES来作为数据库和数据仓库的管理系统。根据设计要求,针对用户定义的具体应用,建立了如下几类数据存储结构:(--)系统信息表这些表是用于维护,运行及编程所需要的所有元数据,它们是关于数据仓库的数据库,又称为元数据表。包括系统用户表,数据备份和转储表和系统数据字典。(二)核心事实表数据仓库的事实表包括:销售数据表,库存数据表,顾客信息表。这三个表其实也就代表了数据仓库中的三个不同的分析主题。(三)维表维表包含由企业用户自行定义的各种描述信息(时间维除外)。这些信息一般是根据管理者的需求来确定的,并且同企业日常数据库操作紧密联系。诸如商品规格,商品等级,销售地区和顾客信息等等。(四)转换对照表包括从数据源至数据仓库转换过程中的客户对照表、产品对照表等。它们的目的是为了解决数据在集成综合过程中由于原来不同数据库中对相同意义的项的不同定义方法所造成的不一致性。2.5建立数据仓库体系结构2.5.1数据仓库的体系结构图。参见图2—7。2.5.2数据导入在完成了数据仓库的设计工作以后,就可以着手进行数据仓库的数据导入。在上文中已经指出,数据仓库中存放的都是历史数据,这些数据主要来自OLTP数据库。因此,在进行决策支持之前,必须把外部数据完整无误地送入数据仓库。同样,上文也指出,数据仓库中的数据必须是经过集成的。数据是从原有的分散的数据库系统中抽去来的。这些数据可以来自不同的渠道,其结构是多样化的。将这些数据进行统一与综合,就成为在数据导入过程中所要完成的任务。数据导入的工作主要包括以下四个步骤:(一)数据检验(Verification)“检验”主要是用来确保导入数据仓库的数据在规定范围内是否是合法和准确的。由于这些数据以后会成为决策支持的重要依据,因此数据检验的这一步的重要性是不言而喻的。在实际的系统建设中,最简单有效的数据检验主要包括:第13页共78页 上海交通大学硕士学位论文基于数据仓库和数据挖掘的决策支持系统的研究l、确保在必要的地方使用了NOTNULL属性2、确保主码的唯一性。比如,以下的SQL语句就确保了customer—id字段的取值不能为空:Createtable[customer]“customer—id][integer]notnull,[customer—name][varchar](40));又比如:createuniqueindexindex—idon[customer](customer—id)onprimary该SQL语句保证了主码属性CUStomer—id的唯一性。图2—7:数据仓库体系结构(二)数据抽取(Extraction)数据的抽取是数据进入仓库的入口。由于数据仓库是一个独立的数据环境,它需要通过抽取过程将数据从联机事务处理系统、外部数据源、脱机的数据存储介质中导入到数据仓库。数据抽取在技术上主要涉及互连、复制、增量、转换、调度和监控等几个方面。数据仓库的数据并不要求与联机事务处理系统保持实时的同步,因此数据抽取可以定时进行,但多个抽取操作执行的时间、相互的顺序、成败对数据仓库中信息的有效性则至关重要。在技术发展上,数据抽取所涉及的单个技术环节都已相对成熟,其中有一些是躲不开编程的。但整体的集成度还很不够。目前市场上所提供的大多是数据抽取工具。这些工具通过用户选定源数据和目标数据的对应关系,会自动生成数据抽取的代码。但数据抽取工具支持的数据种类是有限的;同时数据抽取过程涉及数据的转换,它是一个与实际应用密切相关的部分,其复杂性使得不可嵌入用户编程的抽取工具往往不能满足要求。因此,实际的数据仓库实施过程中往往不~定使用抽取工具。整个抽取过程能否因工具的使用而纳入有效的管理、调度和维护则更为重要。从市场发展来看,第14页共78页 上海交通大学硕士学位论文基于数据仓库和数据挖掘的决策支持系统的研究以数据抽取、异构互连产品为主项的数据仓库厂商一般都很有可能被其它拥有数据库产品的公司吞并。在数据仓库的世界里,它们只能成为辅助的角色。“抽取”这~操作只在某些时间点上进行。这些时间点是经过准确定义的,并与其它资源里进行的抽取操作的时间相协调。“抽取”就是读取并过滤数据,·这些数据将进入数据仓库或暂时存放在中介数据文件里,但最终还是会被导入数据仓库。(三)数据净化d$crubbinz)“净化”是指对从不同渠道收集来的数据进行加工,使它们可以被数据仓库接纳。常见的“净化”操作包括对数据进行的通用化,格式化和用户化等等。(西)数据转换(Transformation)“转化”操作包括把一个数据记录分割成多个相关的条目,以及把多个条目组合成一个新的记录;对数据记录进行查找和转化,使数据适合于显示或比较;以及根据已有数据计算新数据。转化工作的附加职能还包括把前面处理过的数据载如到数据仓库中。数据导入的过程中,许多情况下需要自行编写代码来控制数据导入过程。我采用了MSSQL语句和VisualBasicScript相结合的办法,完成了整个系统的数据导入工作。采用VBScript代码的实例如下:FunctionTransform()DTS—Destination(“ID”)=DTS—Source(“ID'')。DTS—Destination(“name”)=DTS—Source(“name”)Transform=lEndFunctjon2.5.3实际系统中销售型数据仓库的体系结构最后,给出构建整个三枪集团销售数据仓库的体系结构,如图2—8所示。该系统将分布在全国各地销售网点的销售数据,通过电话网传输并汇总到一个统一的数据仓库中。数据从不同的应用系统和不同的操作环境,通过数据采集,数据清理和数据迁移最终进入数据仓库,并为上层的决策支持应用系统所使用。(~)数据采集由于应用单位三枪集团已经建立了全国计算机销售网络,所以数据采集也伸展到每个细节。通过计算机网络,从各分公司、各专卖店以及两大销售节点收集数据,进行了汇总,这是由专门的采集工具在各个部门独自完成的。数据的刷新每天进行。(二)数据清理+虽然各分公司、专卖店使用的销售管理系统是类似的,但由于各部门的某些编码并不一致,所以需要对采集来的数据进行清理,把编码统一化,数据的统计口径一致化,把数据合并起来,这就要进行数据追加,在这里面采用了数据字典进行管理,也就是前面介绍的方法。这部分工作是将采集的数据汇总到集团后由工具完成的。(三)数据迁移由于原先的销售管理系统建立在Novell+FoxPro的平台上,为了把数据存储到数据仓库中,就需要进行异构数据的迁移。我们利用ODBC接口,采用了VBScript与SOL语言相结合的方法,自行开发这样的一个工具,实现了异构数据的转换,将Novell+FoxPro中的数据迁移到WINNT+SQLSERVER的环境中。第15页共78页 E海交通大学硕士学位论文基十数据仓库和数据挖掘的决策支持系统的研究灞阴————■—留决策支持系统应用图2—8销售数据仓库体系结构Figure2—8SystemArchiteetureforDataWarehouse2.6数据仓库的发展状况2.6.1数据仓库技术九十年代来的进展‘90年代以来,计算机技术,尤其是数据库技术的发展为DSS提供了技术支持:激烈的市场竞争促进了高层次决策人员对DSS的实际需求。两方面的共同作用,促成了以DW为核心、以沪LAP和DM工具为手段建设DSS的可行方案。数据库技术的发展Dw需要以下数据库技术的支持。(一)高性能数据库服务器Dw的应用不同于传统DB的OLTP应用。传统DB的应用是操作型的,而Dw的应用是分析型的,它需要高性能的DBMS核心的支持,以使较快地获得分析结果,这通常需数秒至数分钟。虽然比OLTP的响应时间长一些,但由于第16页共78页 上海交通大学硕士学位论文基于数据仓库和数据挖掘的决策支持系统的研究分析型应用涉及的数据量大,查询要求复杂,因此,对DBMS核心的性能要求更高,同DBMS必须具有良好的查询优化机制。(二)并行数据库技术Dw中的数据量大,而且随着时间的延长,新的数据还会不断进入。Dw中的数据库通常是GB甚至TB级的,可谓是超大规模数据库(VLDB)。而并行数据库技术是存储和管理VLDB,并提供对VLDB复杂查询处理的有效技术。(三)数据库互操作技术Dw中的数据大多来自企业或行业中业已运行的OLTP数据库或外部的数据源。这些数据库常常是异构的,甚至是文件系统中的数据。Dw必须从这些异构数据源中定期抽取、转换和集成所需要的数据,并把它们存入Dw中。因此,异构数据源之间的互访和互操作技术是必需的。+2.6.2数据仓库技术目前发展所遇到的问题数据仓库的真正关键是数据的存储和管理。数据仓库的组织管理方式决定了它有别于传统数据库的特性,同时也决定了其对外部数据表现形式。要决定采用什么产品和技术来建立数据仓库核心,则需要从数据仓库的技术特点着手分析。数据仓库遇到的第一个问题是对大量数据的存储和管理。这里所涉及的数据量比传统事务处理大得多,且随时间的推移而累积。从现有技术和产品来看,只有关系数据库系统能够担当此任。关系数据库经过近30年的发展,在数据存储和管理方面已经非常成熟,非其它数据管理系统可比。目前不少关系数据库系统已支持数据分割技术,能够将一个大的数据库表分散在多个物理存储设备中,进一步增强了系统管理大数据量的扩展能力。采用关系数据库管理数百个GB甚至到TB的数据已是一件平常的事情。一些厂商还专门考虑大数据量的系统备份问题,好在数据仓库对联机备份的要求并不高。数据仓库要解决的第二个问题是并行处理。在传统联机事务处理应用中,用户访问系统的特点是短小而密集;对于一个多处理机系统来说,能够将用户的请求进行均衡分担是关键,这便是并发操作。而在数据仓库系统中,用户访问系统的特点是庞大而稀疏,每一个查询和统计都很复杂,但访问的频率并不是很高。此时系统需要有能力将所有的处理机调动起来为这一个复杂的查询请求服务,将该请求并行处理。因此,并行处理技术在数据仓库中比以往更加重要。大家可以注意到,在针对数据仓库的TPC—D基准测试中,比以往增加了一个单用户环境的测试,成为”系统功力”(QPPD)。系统的并行处理能力对QPPD的值有重要影响。目前,关系数据库系统在并行处理方面已能做到对查询语句的分解并行、基于数据分割的并行、以及支持跨平台多处理机的群集环境和MPP环境,能够支持多达上百个处理机的硬件系统并保持性能的扩展能力。数据仓库的第三个问题是针对决策支持查询的优化。这个问题主要针对关系数据库而言,因为其它数据管理环境连基本的通用查询能力都还不完善。在技术上,针对决策支持的优化涉及数据库系统的索引机制、查询优化器、连接策略、数据排序和采样等诸多部分。普通关系数据库采用B树类的索引,对于性别、年龄、地区等具有大量重复值的字段几乎没有效果。而扩充的关系数据库则引入了位图索引的机制,以二进制位表示字段的状态,将查询过程变为筛选过程,单个计算机的基本操作便可筛选多条记录。由于数据仓库中各数据表的数据量往往极不均匀,普通查询优化器所得出第17页共78页 上海交通大学硕士学位论文基于数据仓库和数据挖掘的决策支持系统的研究得最佳查询路径可能不是最优的。因此,面向决策支持的关系数据库在查询优化器上也作了改进,同时根据索引的使用特性增加了多重索引扫描的能力。以关系数据库建立的数据仓库在应用时会遇到大量的表问连接操作,而连接操作对于关系数据库来说是一件耗时的操作。扩充的关系数据库中对连接操作可以做预先的定义,我们称之为连接索引,使得数据库在执行查询时可直接获取数据而不必实施具体的连接操作。数据仓库的查询常常只需要数据库中的部分记录,如最大的前50家客户,等等。普通关系数据库没有提供这样的查询能力,只好将整个表的记录进行排序,从而耗费了大量的时间。决策支持的关系数据库在此做了改进,提供了这一功能。此外,数据仓库的查询并不需要像事务处理系统那样精确,但在大容量数据环境中需要有足够短的系统响应时间。因此,一些数据库系统增加了采样数据的查询能力,在精确度允许的范围内,大幅度提高系统查询效率。。总之,将普通关系数据库改造成适合担当数据仓库的服务器有许多工作可以做,它已成为关系数据库技术的一个重要研究课题和发展方向。可见,对于决策支持的扩充是传统关系数据库进入数据仓库市场的重要技术措施。在数据仓库的数据存储管理领域,从当今的技术发展来看,面向决策支持扩充的并行关系数据库将是数据仓库的核心。在市场上,数据库厂商将成为数据仓库的中坚力量。2.7本章小结在本章中,介绍了数据仓库技术。不仅分析了数据仓库的理论技术基础,还结合具体的实际系统,构建了实际系统中的基于销售和顾客这两个主题的销售型数据仓库,并对数据仓库技术目前发展所遇到的问题进行了分析。第18页共78页 圭查窒塑查兰堡主兰些堡苎苎士墼塑鱼堡塑塑塑堡塑竺达蔓兰塑墨竺!!里翌第三章联机分析处理技术的研究和应用在第二章中,作者论述了数据仓库的基础理论以及三枪集团销售数据仓库的具体设计和系统整体框架结构。当然,在数据仓库之上还必须要有强有力的工具来进行分析和决策。本章将讨论与数据仓库密切相关的OLAP技术,以及在设计开发三枪集团计划决策支持系统中所实际采用的联机分析技术。第四章中将重点详细讨论数据挖掘技术。3.1OLAP中的基本概念3.1.1OLAP的定义联机分析处理不是一个新的概念,但仅是最近才将OLAP这一名称赋给这种技术的。在1993年,关系数据库之父E.F.Codd博士,在他的白皮书“ProvidingOLAPtoUserAnalysiS:AnITMandate,”中提出了这个术语。当时,todd认为联机事务处理(OLTP)已不能满足终端用户对数据库查询分析的需要,SQL对大数据库进行的简单查询也不能满足用户分析的需求。用户的决策分析需要对关系数据库进行大量计算才能得到结果,而查询的结果并不能满足决策者提出的需求。因此todd提出了多维数据库和多维分析的概念,即OLAP。在这个白皮书中,他设计了12条规则,定义了OLAP应用的特征:准则1OLAP模型必须提供多维概念视图。多维概念视图人们习惯于从多维的角度来观察数据、发掘数据的本质内容。作为OLAP分析工具而言,它的多维性不仅符合人们的习惯,也是必然的。准则2透明性准则。透明性OLAP工具在分析过程中所处的位置对用户来说应当是透明的。准则3存取能力推测。可访问性如果OLAP工具无法访问数据仓库中的数的话,信息的获取也就无从谈起。准则4稳定的报表能力。一致的报表操作对用户来说,报表的操作性能不应该随着参与分析的维数的增加而有所减弱。准则5客户/IJ&.务器体系结构。客户机/服务器体系结构很明显,OLAP作为一种独立的分析工具,要想获得强大的生命力,首先应当独立于任何数据库平台之外,客户机/服务器体系结构因此成为最佳的解决方案。更进一步说,OLAP工具的服务器构件应当具有足够的智能,以便各种客户只需花费最少的劳动,使用最少的集成程序就能与之相联。准则6维的等同性准则。通用的维结构必须存在一个维的逻辑结构和逻辑操作,它适用于所有的维。第19页共19页 上海交通大学硕士学位论文基于数据仓库和数据挖掘的决策支持系统的研究准则7动态的稀疏矩阵处理准则。动态稀疏矩阵处理OLAP服务器的物理结构应当完全适用于特定的分析模型。创建和加载这种模型是为了提供优化的稀疏矩阵处理。数据的物理存取方法也应该是动态可变的,它提供不同类型的机制。准则8多用户支持能力准则。多用户支持OLAP工具应当提供并发访问(检索和修改)、完整性和安全性等多用户支持功能,以便支持多个用户在同一分析模型上的并行分析操作。也只有这样,才能将OLAP的应用向更高的层次推广,真正满足用户的需要。准则9非受限的跨维操作。非限定的交叉维操作在多维的数据分析操作中,任何一维的生成和处理操作都是平等的,OLAP分析工具应当能够各维之间的交叉分析操作,而不需要最终用户定义分析的行为。准则10直观的数据操纵。直接数据操作如果用户分析时需要重新定向分析路径,或在维之间进行细化操作,那么这些操作都应当能够在分析模型上直接完成,而不需要跨越多个用户界面进行多次操作。准则ll灵活的报表生成。弹性报表OLAP分析工具应当能够按用户需要的任何方式来显示、操作、分析、综合、查看报表数据。准则12不受限的维与聚集层次。不受限制的维和聚集级别OLAP服务器至少应当能够在一个通用的分析模型中协调15个维的操作。每一个通用的维应当允许有无限个用户定义的聚集,而且给定联合路径的概括级别数据也是无限的。为了更好地、更方便地进行分析操作,除了上述的12条规则外,我认为OLAP分析工具还至少应该具有以下两条规则:明细信息的挖掘和报表数据的本地化支持。·明细信息的挖掘明细信息的挖掘指的是从数据仓库到日常营运数据库的访问。人们在OLAP分析过程中有可能对某些分析结果感兴趣,但是形成这一结果的原始数据存在于营运数据库而不在数据仓库之中。这时就要求分析系统能够提供一个对原始营运数据的访问手段,从而实现数据仓库和营运数据库之间的互访通讯。·报表数据的本地化支持OLAP作为一种独立性较强的分析工具,它与数据仓库之间应当是松耦合关系而不是紧耦合关系。因此,作为OLAP分析结果的主要表达方式的报表,应当能够独立于数据仓库之外。也就是说,在脱离了数据仓库的环境下,OLAP分析工具应该仍能够对报表进行分析操作。报表相关数据的本地化无疑是实现这一目标的最佳解决方案。3。1.2OLAP的多维数据概念多维结构是决策支持的支柱,也是OLAP的核心。OLAP展现在用户面前的是一幅幅多维视图。(一)维假定某某是个百货零售商,有一些因素会影响他的销售业务,如商品、时间、商店或流通渠道,更具体一点,如品牌、月份、地区等。对某一给定的商品,也许他想知道该商品在哪个商店和哪段时间的销售情况。对某一商店,也许他想知道哪个商品第20页 上海交通大学硕士学位论文基于数据仓库和数据挖掘的决镱支持系统的研究在哪段时间的销售情况。在某一时间,也许他想知道哪个商店哪种产品的销售情况。因此,他需要决策支持来帮助制定销售政策。这里,商店、时间和产品都是维。各个商店的集合是一维,时间的集合是一维,商品的集合是一维。维就是相同类数据的集合,也可以理解为变量。而每个商店、每段时间、每种商品都是某一维的一个成员。每个销售事实由一个特定的商店、特定的时间和特定的商品组成。维有自己固有的属性,如层次结构(对数据进行聚合分析时要用到)、排序(定义变量时要用到)、计算逻辑(是基于矩阵的算法,可有效地指定规则)。这些属性对进行决策支持是非常有用的。(二)多维性人们很容易理解一个二维表(如通常的电子表格),对于三维立方体同样也容易理解。OLAP通常将三维立方体的数据进行切片,显示三维的某一平面。如一个立方体有时间维、商品维、收入维,其图形很容易在屏幕上显示出来并进行切片。但是要加一维(如加入商店维),则图形很难想象,也不容易在屏幕上画出来。要突破三维的障碍,就必须理解逻辑维和物理维的差异。OLAP的多维分析视图就是冲破了物理的三维概念,采用了旋转、嵌套、切片、钻取和高维可视化技术,在屏幕上展示多维视图的结构,使用户直观地理解、分析数据,进行决策支持。3.1.30L^P的多维数据结构数据在多维空间中的分布总是稀疏的、不均匀的。在事件发生的位置,数据聚合在一起,其密度很大。因此,OLAP系统的开发者要设法解决多维数据空间的数据稀疏和数据聚合问题。事实上,有许多方法可以构造多维数据。t一)超立方结构超立方结构(Hypercube)指用三维或更多的维数来描述一个对象,每个维彼此垂直。数据的测量值发生在维的交叉点上,数据空间的各个部分都有相同的维属性。这种结构可应用在多维数据库和面向关系数据库的OLAP系统中,其主要特点是简化终端用户的操作。超立方结构有一种变形,即收缩超立方结构。这种结构的数据密度更太,数据的维数更少,并可加入额外的分析维。(二)多立方结构在多立方结构(Multicube)中,将大的数据结构分成多个多维结构。这些多维结构是大数据维数的子集,面向某一特定应用对维进行分割,即将超立方结构变为子立方结构。它具有很强的灵活性,提高了数据(特别是稀疏数据)的分析效率。一般来说,多立方结构灵活性较大,但超立方结构更易于理解。终端用户更容易接近超立方结构,它可以提供高水平的报告和多维视图。但具有多维分析经验的MIS专家更喜欢多立方结构,因为它具有良好的视图翻转性和灵活性。多立方结构是存储稀疏矩阵的一个更有效方法,并能减少计算量。因此,复杂的系统及预先建立的通用应用倾向于使用多立方结构,以使数据结构能更好地得到调整,满足常用的应用需求。第21页共78页 上海交通大学硕士学位论文基于数据仓库和数据挖掘的决策支持系统的研究许多产品结合了上述两种结构,它们的数据物理结构是多立方结构,但却利用超立方结构来进行计算,结合了超立方结构的简化性和多立方结构的旋转存储特性。3.1.4活动数据的存储,用户对某个应用所提取的数据称为活动数据,它的存储有以下三种形式:f一)关秃熬摇荦?如果数据来源于关系数据库,则活动数据被存储在关系数据库中。在大部分情况下,数据以星型结构或雪花结构进行存储。f二)多维裁据牵?在这种情况下,活动数据被存储在服务器上的多维数据库中,包括来自关系数据库和终端用户的数据。通常,数据库存储在硬盘上,但为了获得更高的性能,某些产品允许多维数据结构存储在RAM上。有些数据被提前计算,计算结果以数组形式进行存储。f三j基于客户厅穸卫鲈?在这种情况下,可以提取相对少的数据放在客户机的文件上。这些数据可预先建立,如Web文件。与服务器上的多维数据库一样,活动数据可放在磁盘或RAM上。这三种存储形式有不同的性能,其中关系数据库的处理速度大大低于其他两种。3.2OLAP应用系统的设计。在为三枪集团设计开发“计划决策支持系统”的实际过程中,我们使用了bticrosoft公司的OLAPServices技术。该技术采用了典型的三层构架,如图3—1所示,系统层次依次分别为:OLAPServer,PivotTable和Client。下面首先介绍OLAPServer端,着重介绍对数据立方体的设计,然后分析中间层PirotTable,最后介绍在前台应用程序开发过程中所涉及的~些关键技术。包括决策支持对象(DecisionSupportObject),多维查询语言(MDX)和数据立方体的操作方法。3.2.1数摄立方体的设计通过对三枪集团数据仓库和决策支持应用的分析,我们总共为三枪集团设计了三个数据立方体:销售数据,客户数据和库存数据。考虑到在其它章节中已有叙述,这里仅简单地给出销售数据立方体的结构。其它两个数据立方体的结构也基本相似。在销售数据立方体中,采用了星型模型。度量分别为:销售数量,销售单价和销售金额。(度量是一种特殊的维)其中销售数量和销售金额是输入成员,销售单价是导出成员,表示商品的平均价格,销售单价=销售金额/销售数量。立方体的维包括:销售地区,销售时间,商品型号,商品等级,销售顾客信息。3.2.2数据立方体结构的操作t一)切片在多维数据的各个维上,分别选定某个对应维成员的操作成为切片操作,即在多维数组(维1,维2⋯.维11,度量)中确定每个维的维成员,所得到的多维数组的子集(维成员l,维成员2⋯.维成员n,度量)称为是对多维数组的一个切片。当某个维取全体时,即取root时,该维所对应维成员变量称为ALL。切片操作的例子第22页共78页 圭童窒望奎兰堡主兰垡堡奎兰王垫塑垒壁塑塾塑丝塑堕堂堂型堕堑型茎!!!!墨参见图3-2。OLAPServicesSystemArchitecture(server),一—。一—1’_——⋯。————”—————~1lIH}.IcL—,,。,,,.,.—。,.,,,。。.,。—,——.o+lPJv。tT-3ble。erⅥ二e{:-....—.◆:Clien:;一:一剪一图3一IOLAPServer系统框架.Figure3——IOLAPServicesSystemArchitecture(二)坐标旋转在多维数据中,改变某个切片中的维的排列次序,称为坐标旋转。如图3—2所示。改变时间维和地区维的次序,就使该切片进行了相应的坐标旋转。(三)上寻(R011up)与一F寻(Drilldown)操作上寻和下寻操作是OLAP技术中特有的一列操作。对于一个数据切片,将某个维中的成员变量从等级结构中的低一级变为其上一级父亲节点的操作称为上寻操作,反之从父亲接点变为其下一级中所有的子节点的操作称为下寻操作。具体实例见图3—3。第23页共78页 !塑銮望奎兰堡主兰堡丝兰苎±丝塑垒塞塑堑塑丝塑堕盗茎皇苎至皇塑!!!!垄地区维时间维地区维图3—2对数据立方体的切片操作与旋转变换Figure3--2SliceandRotationOperationsOnDataCube3.2.3透视表服务(PivotTableServico)透视表服务(PivotTableService)是三层构架中的中间层,它在OLAP环境中扮演双重角色。首先,透视表服务是一个0LEDB的提供者,它支持在OLEDB2.0中的OLEDBforOLAP扩展说明。这使得客户机应用程序能够与一个OLAP服务器通信。在这种情况下,透视表服务充当了OLAP服务器的一个客户。透视表服务所扮演的第二个角色是作为一个独立的在线处理OLAP服务器。在这种角色中,透视表服务能够提供在线和本地数据分析,并能提供对OLAP数据的访问。用户可以定义并将客户机器中的本地数据立方体结构填充在一个单一的立方体结构分区中。度量时间产品类型19981999A4543B345457C56456上寻<——>下寻度量时间产品类型19981999四Tota季度lA1213104543B80908095345457C13151456456图3--3上寻和F寻操作Figure3--3RollupandDrilldownOperation对于所有的OLEDB提供者,都可以直接使用提供者给出的界面和方法来编写程序。透视表服务也不例外。但是一般情况下,通过面向模型对象的编程更为容易。面向对象的模型可以将OLEDB对象的复杂功能包装到一个更为简单的,并代表了很多应用程序所要求功能的一个模型中。鉴于ADO模型一般适合于使用表格型的数据格式,ADOMD模型也被设计成通过记录集对象CellSets来检索多维数据的风格。当然,在实际设计中可以使用两种模型中的任何一种来开发应用程序。3.2.4客户端的决策支持对象(Decl8ionSupportObject)为了在客户端对OLAP服务器进行访问和控制,我使用了决策支持对象(DecisionSupportObject)。从COM模型的角度来考虑,DecisionSupportObject模型与DAO,OLEDB,ADO或者其他任何COM编程模型没有什么不同。虽然它包含一套不同于其他第24页共78页 上海交通大学硕士学位论文基于数据仓库和数据挖掘的决黄支持系统的研究模型的对象集和集合,但它包含的集合,对象,属性以及方法依然是在通用的COM模型框架内。DSO支持OLAP对象的持久性描述。因此,它需要为服务器,数据库,和立方体结构等各个持久性对象存储全部的属性和集合,以便在以后可以使用它们。3.2.5多维表达式多维表达式(MDX)是由OLEDB为OLAP定义的一种语言,用来对处理多维数据的访问。该语言由类似于Transact-SQL的语法和语句组成,并且特意采用了与立方体结构模型有关的多维术语。(一)标准MDX语句。针对多维数据的查询以MDX语句的形式来表达的。查询结果作为一个数据集合(DataSets)被返回。在ADOMD模型中,DataSets又被称为数据元集(CellSets)。通过MDX语句,前台应用程序可以很方便地访问OLAPServer。一个标准的MDX语句如下所示:SelectCD是否成立,是通过计算可信度Conf=Supp(ABCD)/Supp(AB)是否超过最小可信度来决定。如果超过,则规则成立,其中Supp(x)表示X的支持度。第六步:确定有价值(Interest)的关联规则作为输出。在上面的算法中,第二步和第五步都比较直观简单,第三步采用了基本的Apriori算法,而在第六步就采用了Interest度量方法,可测量所推算的规则的准确度。在以上的算法中,第一步和第四步需要进行详细的解释说明。4.4.2多值属性划分的聚类算法cP如果一个数量属性的取值数目过多,则将这个属性划分为若干个区段。如果一个类别属性的取值过多,则将其属性值进行归纳,将所有这些能划分到一起的属性归到一个区段中。对于一个属性的每一个取值,计算D中含有该属性值的交易数,结果构成集合Ic。Ic={(r,v,n)fx∈I,v是属性x的一个取值,n∈P是D中交易的个数)。对于任何属性x,将其对应的集合I,映射为二维图。X轴表示属性的取值,Y轴表示D中所对应的交易数。将图中的点用曲线连接起来,则得到波动的曲线图。对应于每个局部最大点Maxi,存在两个局部最小点MinL.和MinR.。将MinL。和MinR.之间的交易数相加得到Sum.,再将所有的K个Sum.相加得到s。将MinSupp设为C·Save,这里Save=S/K,C>0是与问题有关的常数。当Sumi大于C·Save第38页共78页 上海交通大学硕士学位论文基于数据仓库和数据挖掘的决策支持系统的研究时,则认为MinL.和MinR.之间的区段是有价值的。这里要注意几个问题。Save的取值要有代表性。在计算局部最大之前,要从s减去max{Sum.}和min{Sum。}两个值,并从K中减去2,这样使得平均值更有意义。而且当一个区段的宽度很窄,与相邻区段很近,且它们之间的最低点与较低的局部最大点的差值很小,就可以将这两个区段合并,以减少信息的丢失。在合并相邻区段的同时还要考虑宽度。宽度是通过计算交易数和属性值的比率体现出来。如Sum./(MirlR。一MinL。)>S/(MinR。一MinL。),则认为Sum.所对应的区段是有价值的。具体的聚类算法可简述如下:for每个取值数>N的属性do●计算每个属性值所对应的交易数C。;‘●寻找所有的局部最大点Maxi和最小点MinL.和MinR.来确定区;●计算每个MinL。和MinR,之间的交易数Sum。;●如果满足合并条件则合并两个相邻区段,得到K个区段S=∑Sum.-maxfSum。卜min{sum。);Save=S/(k一2):●寻找所有大于c·Save的Sum。,并将结果存于Stmp;●ForStmp中每个区段jdoIfSum./(MinR.一MinLI)>S/(MinR。一MinL.)Then保存区段j于Sres结果为有价值的区段,保存在Sres中。以上处理是为了达到一定的支持度而进行的同一属性的合并。还要对一些达到了最小支持度MinSupp的区段进行合并,即合并频繁集中在同一属性的相邻区段。这样规则就更有概括性。虽然在这个转换过程中会丢失一些信息,但可以减少规则数,简化规则集。而且对信息损失的影响也不大。同时在合并了原有的规则后,考虑到规则的可信度时,也不能删除原有的规则。例如:Supp=5%,Supp=2%,Supp=3%,Supp=5%,Coff=70%)Coff=40%)Coff=50%)Coff=60%)(5)
此文档下载收益归作者所有