资源描述
国防科学技术大学研究生院学位论文摘要数据仓库技术是二十世纪九十年代计算机应用技术的一个研究热点,用以满足用 户不断增长的分析处理数据、获取信息的要求。建立数据仓库系统有利于企业提高自 身的竞争能力,更向用户提供了有价值的信息,实现了双赢。本文.主要分析研究了数据仓库系统中的用户工具。用户工具用于帮助用户获取数 据仓库中的信息,其中主要包括联机分析处理、多维分析统计、报表以及图形工具等。本文提出并设计了基于关系的三层OLAP工具的体系结构,分析了各层的功能以 及各模块划分。同时设计并实现了 OLAP工具中的多维数据建模工具,其中包括数据 源管理、维度管理以及基于星型模型的多维主题管理等。本文提出并实现了多维数据建模中有关元数据的结构定义,以及利用XML来实 现元数据的记录。在OLAP多维建模工具中采用了 XML作为元数据交换的标准,从 而实现各个功能构件的集成与交互。在分析研究的过程中,本文分析了在Delphi中关系数据访问、多维数据访问以及 XML数据的访问方法;并通过OLAP多维建模的过程,说明了如何利用这些方法和 原则来实现数据仓库系统的OLAP多维数据建模工具。关键词:数据仓库,联机分析处理,用户工具,多维模型,星型模型,XML国防科学技术大学研究生院学位论文ABSTRACTData Warehouse(DW)tec hnique is one of the most popular c omputer researc h hotspots in 1990s.It fulfills the inc reasing need for analytic al proc essing and information retrieval.And the DW systems b enefit for b oth enterprises and c ustoms.The user tools in the DW systems,whic h are used for retrieving information in warehouse,is mainly analyzed and researc hed.They inc lude On-line Analytic al Proc essing(OLAP),multidimensional analysis,report tools,c hart tools and so on.This text has proposed and designed the system struc ture b ased on three layers of OLAP tools of the relation,have analysed every layers of func tions and the division of every module.Designed and realized the multidimensional data modeling tool in OLAP too!at the same time,inc lude the data sourc e management,dimension management and the management of multidimensional theme b ased on star sc hema etc.This text propose and realize the defination of struc ture of metadata in multidimensional data modeling,realize the rec ord of metadata making use of XML.Multidimensional modeling adopt XML as standard of metadata exc hanging among the OLAP tool,thus realize the integrates and mutualing of eac h func tion c omponent.During the proc ess of analysing and researc hing,this text has analysed the visit methods of relation data,multidimensional data and XML data in Delphi;And through the c ourse of OLAP multidimensional modeling,have explained how to make use of these methods and princ iples to realize OLAP multidimensional data modeling tool of the data warehouse system.Key words:data warehouse,OLAP,user tools,multidimensional model star sc hema,XMLII国防科学技术大学研究生院学位论文第一章绪论 1.1课 题背景1.1.1传统MIS系统的发展计算机应用从科学计算进入数据处理是一个划时代的转折,使计算机从少数科学家 手中的珍品成为广大科技人员和管理人员工作中的得力助手和有力工具。数据处理是指对各种形式的数据进行收集、存储、加工和传播的一系列活动的总和。数据库技术是数据管理的重要技术,是计算机技术的一个重要分支。并且,数据库 管理系统(DBMS)早己经从专用的应用系统发展成为通用的应用系统。因为数据库具有数 据结构化、最低冗余度、较高的程序与数据的独立性、易于扩充、易于编制应用程序等 优点,各类管理信息系统(Manegent Information System,M【S)几乎都是建立在数据库设 计之上。传统的MIS系统在数据存储、管理、查询和支持日常事务等方面做得相当出色,但 是随着时代的发展,以及人类对信息探求要求的不断提高,传统的MIS系统逐渐显示出 其不足之处:往往只反映局部的数据信息,很难做到反映全局的信息;更倾向于对数 据的日常业务操作;不容易实现数据的对比、分析;无法表示出企业随着时间变化的规 律;缺乏分析挖掘能力,很难获得隐藏在数据背后的规律,从而指导决策支持.1.1.2数据仓库系统的产生当今,企业间的竞争日趋激烈,企业对计算机应用系统有了更多的需求,她己不能 满足应用系统仅仅处理具体的业务。企业要想在竞争中获胜或是取得有利地位,必须要 能透过复杂而多变的商业环境,通过对比、分析等手段挖掘出其中的内在规律和有用信 息,从而快速作出方向性的决策和计划,并付诸实施。企业的经营管理者、决策者必须 要及时地从大量的原始数据中挖掘出有价值的信息,并通过多种视角分析,准确掌握企 业的经营历史和现状,了解市场需求,从而作出重要的决策,由此产生决策支持系统(Dec ision Support Systems,DSS)。决策支持系统在数据的处理、组织和管理方面同传统的MIS系统有着很大不同。一 般的数据库管理系统由于自身的限制无法实现决策支持系统对较大规模数据的分析,所 以传统的MIS系统或者联机事务处理(OLTP)显得力不从心,它无法实现对数据的深层分 析和探索,于是人们开始寻找一种新的适合于决策支持系统数据组织与管理的技术,数 据仓库(Data Warehouse,DW)技术便在这种需求下应运而生。数据仓库技术是为了实现对数据的分析、挖掘,用于支持决策管理。可以说,数据 仓库是一个统一的数据平台,是-种新的数据处理体系结构,它是组织内部各荒门业务 第1页国防科学技术大学研究生院学位论文数据进行统一和综合的中央数据仓库,它为组织决策支持系统和行政信息系统提供所需 的信息,从而使人们很容易实现以上目标。完整的数据仓库应包括3个方面的技术内 容:数据仓库技术、联机分析处理(On-Line Analyse Prosessing,OLAP)技术和数据挖.掘(Data Mining,DM)技术,它是一个十分庞大的系统。数据仓库和OLAP是90年代初提出的概念,到90年代中期已经形成潮流。在美国,数据仓库已成为仅次于Internet之后的又一技术热点。数据仓库是市场激烈竞争的产物,它的目标是达到有效的决策支持。大型企业几乎都建立或计划建立自己的数据仓库,数据 库厂商也纷纷推出自己的数据仓库软件。目前,已建立和使用的数据仓库应用系统都取得 了明显的经济效益,在市场竞争中显示了强劲的活力。数据仓库应用领域遍及通信、军事、零售业、金融以及制造业。数据仓库的规模也越来越大,被广泛应用于更高精度的数据 分析中。比如,信息资源在战争中已成为主导因素,为了挖掘更多的信息资源,军方在 已有的武器装备管理信息数据库、军用信息设施资源库、作战环境信息数据库和战场动 态信息数据库的基础上开发信息资源数据仓库,并开发战例数据仓库,从多角度、多层 次研究战例,并在此基础上建立作战决策系统、管理决策系统、建设决策系统和辅助决 策系统。数据仓库把来自多个系统的数据集成起来,形成一个可靠的、一致的、不断更新的 信息集合。在大多数情况下,它们直接采取大规模关系型数据库以及传统的关系型报表 和查询工具的形式,这是研究历史过程的细节和概要的很好方式,但是它不直接支持更 加完整的多维视图,而这正是决策分析所需要的。数据仓库只是进行分析决策的基础,但还必须有强有力的工具进行分析和辅助决策,这就导致OLAP(联系分析处理)的出 现。我们把观察问题的角度称之维。因此,可以说数据仓库中的决策数据为多维数据,多维数据分析是决策分析的主要内容,多维数据模型成为数据仓库的核心问题之一。传 统的数据模型不能表示数据仓库中的数据结构和语义,也难以支持OLAP的应用。OLAP 具有多维的特性,因此,多维数据模型成了研究人员关注的重点,相应地多维建模技术 也越来越受到研究人员的关注。在多维建模中,多维数据模型是根据优化决策性能的目 地来建立的。随着管理信息系统MIS的广泛应用,各种企业都建立了自己的管理信息系统,并且 现在大部分的管理信息都是建立在关系型数据库的基础上,面对当今竞争日趋激烈与瞬 息万变的市场,各级管理人员迫切需要根据企业的现状和历史数据做出准确的判断和决 策。因此,怎样在原有的管理信息系统上建立数据仓库,怎样在关系数据模型上构建多 维数据模型逐渐引起了人们的广泛关注。对多维数据模型的研究包含两个方面:一是如何在关系数据模型的基础上构建多维 数据模型,使得到的多维数据模型能很好的适应决策分析;二是对多维数据模型本身的 结构研究,主要是指设计一个好的多维数据模型的结构,使之能够完整的表达多维语义,并能够适应多维数据分析。多维数据模型设计的好坏关系到数据仓库的成败,衡量它好 坏的标准是:看它是否满足高性能OLAP分析。对于多维数据模型本身的结构而言,一 个好的多维数据模型包括:完整的多维数据概念模型的图形化表示和形式化定义,完整 而适用的多维数据逻辑模型,以及在此模型上进行高效OLAP操作的定义。深入了解多维数据模型,不仅可以使我们很方便的把实际问题中的应用主题转化为 第2页国防科学技术大学研究生院学位论文多维数据概念模型,而且可以帮助我们设计合适的逻辑数据模型,以便尽可能的表示维 的结构和语义,同时能够优化多维数据模型的操作,并对多维建模语言的定义和OLAP 引擎设计工作都有很大的帮助,因此对数据仓库中多维数据模型的研究具有深远的意义。多维建模技术是数据仓库技术中很重要的一部分,它主要关心的是如何实现多维数 据模型,提高数据仓库以及OLAP的性能。多维建模技术包括了非标准化、维表数据量、聚集管理、雪片和慢速变化维等技术。多维数据建模技术在解决分析类型的问题时特别 有用,因此,我们应该仔细考虑在决策分析系统中如何使用好多维建模技术,使得简单 的决策分析系统能够实现准确而高性能的目标。1.2选题依据与研究现状Internet和数据仓库技术是九十年代出现的两大热点,它们似乎有着一个共同的特 点,那就是最大程度的实现数据、信息的共享,以满足信息时代人们日益增长的各种需 求。数据仓库系统的实现根本上要求分布化、网络化,因此将二者结合起来,是一件非 常自然的事。一方面,利用网络使在地理上分布的人们都非常容易地获取信息;另一方面,利用 数据仓库技术将各类数据集成起来,便于用户杳询分析,获得其想要的各种信息。即利 用网络这种载体以及各种相关技术,利用数据仓库技术将企业及领域内的数据进行发布。这样,不仅企业以及广大用户可以获得更有价值的信息,而且企业和服务提供商可以获 得高额的回报。早在1996年7月,Meta Group(美国著名的IT咨询公司)就提出了数 据仓库将来的着眼点是“DW+ROLAP+WWW=$!”。本课题正是利用数据仓库这个数据信息的统一平台,着眼于利用OLAP用户工具从 中获取并展示有价值的数据信息。即利用当今先进的数据仓库技术和网络载体,结合C/S 或B/S的现代化企业营运模式,获取、挖掘重要的信息和知识。目前,多家公司都提出了数据仓库系统解决方案。就其数据仓库用户工具来讲,Orac le提出了 Orac le Express Web Agent,用于支持基于Web的动态数据展现,以及Orac le Express Analyzer报告、分析工具;CA公司的Forest&Trees前端数据展示工具;Mic rosoft 推出了 SQL Server,Analysis Servic es,另外利用 Exc el 实现数据报表;Business Ob jec t 推出了集查询、报表、03于一身的智能决策支持系统等等。这些产品在功能上已较为完善,但仍然存在着很多不足:首先,它们这些产品都与 其特定的工具、环境捆绑在一起,并且各自都采用了自己的数据库产品,兼容性较差;各阶段组织分析过程所依赖的,或者产生的元数据有着各自独立的管理,彼此无法实现 共享;配置这些产品的过程非常复杂,并且软硬件的成本很大。数据仓库的用户工具集中体现了数据仓库的价值所在,它用于帮助人们获取数据仓 库中的信息。用户工具主要包括联机分析处理工具(OLAP)、可视化工具、统计工具、图形用户界面建立程序、电子表格、报表生成器、数据访问工具。第3页国防科学技术大学研究生院学位论文1.3研究内容基于关系的联机分析处理OLAP用户工具是数据仓库系统中的一个重要的应用。课 题把研究的重点放在数据仓库的用户工具上,并设计和实现了基于关系的OLAP用户工 具一KDOLAP工具,主要包括了多维数据建模、多维数据分析、多维数据展现等三方 面内容。本文主要的研究重点是关于KDOLAP工具多维数据建模部分的研究设计与实 现。本文结合星型模型的建模方法,给出了多维数据建模工具的详细设计和实现方案;并利用XML技术进行有关多维数据模型元数据的统一管理;实现了关系数据、多维数 据和XML数据的访问方法以及它们之间相互交换;根据星型模型建模方法,实现了通 过建立不同的维度,最终建立用于多维数据分析的不同多维主题的多维数据建模工具。本文的内容主要分为七章:第一章介绍了计算机数据管理的发展历程,阐述了本文的选题依据是将数据仓库技 术与Internet结合起来,从而实现信息的查询和共享,并给出了本文的研究内容和研究 重点。第二章讲述了数据仓库理论,包括其概念和特点,分析了数据仓库的体系结构,并 针对数据仓库技术中的几个重要部分:体系结构的设计方法、数据的组织方式以及元数 据等进行了分析,最后对数据仓库用户工具的研究内容进行解释。第三章讲述了 OLAP技术知识,包括其概念、特征及分类等。第四章概要分析了基于星型模型的KDOLAP工具的设计方案,并对其特点进行了 剖析。重点介绍了利用OLAP技术进行多维数据建模,并引出多维模型的概念及多维数 据建模工具的设计与实现方案。第五章定义了详细的元数据结构,并且利用XML实现OLAP工具元数据的记录与 交换。第六章介绍了关系数据、多维数据和XML数据的访问及处理方法。第七章介绍了基于星型模型的03多维数据建模工具的实现,并利用它构建 OLAP工具的分析主题。笫4页国防科学技术大学研究生院学位论文第二章数据仓库技术数据仓库通过对传统业务数据库中的大量静态业务数据进行抽取、转换、过滤和清 洗,形成综合并面向分析的数据仓库数据。数据仓库可以为决策支持系统的决策处理过 程提供有效的支持,也可以为其它的信息处理系统服务。2.1 数据仓库的概念2.1.1数据仓库的概念及特点1992年,业界公认的数据仓库之父W.H.Inmon在其所著建立数据仓库一书中 提出了数据仓库的概念:数据仓库是面向主题的、集成的、稳定的、随时间变化的数据 集合,用以支持决策分析管理。定义中指出了建立数据仓库系统的目的在于为制定决策管理提供信息依据,并指出 了数据仓库四个重要的特点。首先,数据仓库是面向主题的。主题在逻辑上对应企业中某个宏观分析领域所涉及 的分析对象,例如销售量,库存量等都是主题,是针对某一决策问题而设置的。正像企 业为了发展要进行业务重组一样,为了支持管理决策需要也要按决策业务科目的要求重 组OLTP系统中的数据,并要按不同主题、分析内容分别组织使之方便使用。这种基于 主题的模式从用户角度来看就是多重的数据重组结构。这种面向主题的数据组织方式,就是在较高层次上对分析对象数据的一个完整、统一和一致的描述,能完整和统一地刻 画各个分析对象所涉及的有关企业的各项数据,以及数据之间的联系。目前,数据仓库 的实现主要是基于关系数据库,每个主题由一组关系表或逻辑视图实现。这些表和视图 的内容与原来各个运营系统数据源的数据本质上是一致的,但为了方便支持分析数据处 理,对数据结构进行了重组,其中还可能增加一些冗余数据。其次,数据仓库是集成的。数据仓库中的数据来自于多个不同操作型环境和历史数 据源,但并不是原有数据的简单拷贝,而是经过统一和综合。一方面,原有数据库系统 记录的是每一项业务处理的流水帐,这些数据不适合于分析处理,所以在进入数据仓库 之前必须经过综合、计算,抛弃分析处理不需要的数据项,增加一些可能涉及的外部数 据;另一方面不同的数据源可能对相同事物的表达有许多重复或者不相同之处,例如:表达性别,可能有(M,F),或者是(0,1),为此,在将数据载入数据仓库时要将数据进 行转换,并且清洗,除去不适合的数据,确保数据完整统一,最后将数据加载到数据仓 库中。再次,数据仓库是非易失的。从数据的使用方式上看,数据仓库的数据不可更新。即数据保存到数据仓库中后,最终用户只能通过分析工具进行查询和分析,而不能修改,即数据仓库的数据对最终用户而言是只读的。从数据的内容上看,数据仓库存储的是企 第5页国防科学技术大学研究生院学位论文业当前和历史的数据,在一定时间间隔以后,当前数据需要按一定的方法转换成历史数 据。年代久远且查询率低的数据需要从数据仓库脱离到慢速设备上,并从数据仓库中删 除分析处理不再有用的数据。所以数据被载入到数据仓库之后,一般很少进行变动,除 了加载新的数据,或者为了减少数据量,将部分历史数据进行备份,转移。所以,在一 定时间间隔内的不同时刻,针对数据仓库进行相同的分析查询,应该得到相同的结果。最后,数据仓库是随时间变化的。数据进入数据仓库以后随时间变化而定期更新。每隔一段固定的时间间隔后,抽取运营数据库系统中产生的数据,转换后集成到数据仓 库中。而数据的过去版本仍被保留在数据仓库中,如同“定期摄影术”,每隔一周、一 月或适当的间隔就照一张像。随着时间的变化,数据以更高的综合层次被不断综合,以 适应趋势分析的要求。当数据超过数据仓库的存储期限,或对分析无用时,从数据仓库 中删除这些数据。时间在数据仓库中是一项很重要的信息,所以在数据加载时,很多数 据要加上时间戳。2.1.2数据仓库系统与传统数据库系统的区别由此可见,数据仓库系统与传统的MIS系统(或者OLTP系统)有着很多区别,同时 又有一定的联系。首先,数据仓库系统是为了分析,并最终辅助决策管理,所以它是面向企业的中高 级管理人员,尤其是企业发展方向的掌握者:而传统的OLTP系统大多是为了处理日常 的业务管理,所以它是面向一般的业务员、操作员。其次,一般数据仓库系统的数据来源于MIS系统所产生的大量历史数据或者其它数 据源,在很大意义上,数据仓库系统利用了 OLTP系统的数据,并按照企业的主题重新 组织数据,建立一个企业内部或者部门内部的统一的数据平台,所以底层数据组织的设 计是围绕主题来展开的;而传统的OLTP系统要根据企业业务的规则来设计数据模式。第三,数据仓库系统一般只对数据进行查询,几乎不进行插入、删除、更新等操作(除了在仓库系统周期性维护时):而传统的OLTP系统则要频繁地进行插入、删除、更新等操作。表2.1列出了两者的比较。表2.1数据仓库系统与传统MIS系统的比较数据仓库系统传统MIS系统实现目标分析查询,决策支持日常业务处理,数据处理使用用户企业经理,决策者多为操作员数据组织的目标面向主题面向业务操作对数据的操作多为查询、计算,很少插入、删 除、更新插入、删除、更新、查询数据更新的频率周期性(如按月载入数据)非常频繁建立数据仓库并不是要取代原有的运行数据库系统,其目的是为了将企业多年来已 经收集到的数据按一个统一且一致的企业级视图组织并存储。然后对这些数据进行分析,从中得出有关企业经营好坏、客户需求、对手情况以及以后发展趋势等有用信息。帮助 企业及时、准确地把握机会,以求在激烈的竞争中获得更大的利益。作为数据库技术的第6页国防科学技术大学研究生院学位论文一种新的应用,数据仓库用数据库管理系统来管理其中的数据。也就是说,数据仓库是 企业范围内数据的处理,它将分散的企业内各种跨平台的数据经过重新组合和加工。数 据仓库最根本的特点是物理地存放数据,而且这些数据并非是最新和专有的,而是来源 于其他的数据库。建立数据仓库的最终目标是建立一个较全面、完善的信息应用的基础,然后利用该信息基础支持高层决策分析。最终用户可以在数据仓库的基础上进行数据的 深层挖掘、多维数据分析、动态查询和动态生成报表等。数据仓库能够为企业决策者方 便地分析企业发展状况,进而为企业决策提供有效的途径。2.2 数据仓库的体系结构数据仓库体系结构的提出是为了简化数据仓库方案的设计、实现和管理。用于描述 在构建、使用和管理数据仓库的过程中各个构件的相互关系。基于用户的反馈以及针对 数据仓库的新的发现,数据仓库的体系结构将随着时间不断发展和完善。数据仓库作为数据存储的一种组织形式,它从最初的数据源获取原始数据,按照决策 的要求重新组织,形成了具有不同粒度的综合数据层,这是数据仓库的一个方面:另外,数据仓库还需对其存储的数据进行操纵、分析、挖掘和管理等以支持决策。数据仓库系 统是对原始数据进行抽取、转换、过滤、清洗和加载,并对数据仓库中存储的数据进行 更新、管理、使用和表现的相关软件/工具的集合,用以支持数据仓库应用或管理决策。数据仓库系统通常由管理部分、数据仓库、OLAP服务器和前端应用四部分组成。这四 部分关系如图2.1所示。1、数据仓库管理部分数据仓库的数据来自多个数据源,包括组织内部数据和外部数据源。正如前面提到 的,数据仓库系统的源数据取自MIS系统或者OLTP系统所产生的操作型数据,或者称 之为历史数据。从这种意义上说,若没有了这些数据,数据仓库系统将成为无本之木,无源之水。同时,又要充分考虑源数据的特征,以便能够以较小的代价来获取这些数据 信息。例如,当前关系数据库技术相当的成熟,并且在大量的系统中均采用了 RDBMS 来管理数据,所以在集成时,采用基于关系的数据仓库存储、管理方法将是目前很经济 的选择。在确定数据仓库信息需求之后,需要进行数据建模。确定从数据源到数据仓库的数 据抽取、清理和转换过程,分析、划分维数据以及确定物理存储结构。一般的,关系型 数据库、非关系型数据库以及其他各种数据文件均可以作为操作型系统的数据文件,在 这种系统中数据是当前的,详细的,并且不断更新变化。而数据仓库要把操作型系统产 生的源数据、历史数据经过一系列的变化集成到数据仓库之中。这些变化主要包括抽取(Extrac tion),清洗(Cleaning),转换(Transformation)、最后装载(Load),它们可以简称为 ETL 工具。最终在数据仓库、数据集市中,数据有一致的数据形式,以便于分析决策。元数据是数据仓库的核心,用于存储数据模型、定义数据结构、转换规则、数据仓 库结构和控制信息等。管理部分包括对数据的安全、归档、备份、维护、恢复等工作。第7页国防科学技术大学研究生院学位论文数据源:数据存储 不同层次汇总:OLAP服前端应用外部 数据 源内部 数据 源多维建 模工具 生成 c ub e-一OLAP分析 T M-!.gngS3图2.1数据仓库的体系结构2、数据仓库部分数据仓库部分是数据存储部分,主要包括了历史数据、当前数据、综合数据和元数 据。3、OLAP服务器OLAP服务器包含了为用户预定义的超级立方体,从而能为具有明确的数据分析范 围和分析要求的用户提供高性能的决策支持。4、前端应用前端应用主要包括检索查询、多维数据的OLAP分析、统计分析以及进行数据挖掘。数据仓库的构建和管理非常繁琐、复杂,同时包含许多复杂的技术,如数据的抽取、转换、加载(ETL),复制,数据一致性维护,各种主题的维护,元数据的管理等,但是本 文研究的重点在用户工具,用于获取仓库中的信息,同时将其用各种形式展示给用户。它是数据仓库系统的一个窗口,通过它,可以看到仓库中大量有价值的信息,这也是数 据仓库系统应用价值的最直接体现。本文主要讨论OLAP用户工具中的OLAP多维数据 建模部分,所包括的各项技术将在后面的章节详细论述。第8页国防科学技术大学研究生院学位论文2.3 数据仓库的数据组织2.3.1数据仓库中数据的组织方式数据仓库中数据的组织方式与数据库不同,通常采用分级的方式进行组织。一般包 含早期细节数据、当前细节数据、轻度综合数据、高度综合数据和元数据五个部分。如图2.2所示。1、早期细节数据。存储过去的详细数据,反映真实的历史情况。这类数据随着时间 增加,数据量很大,使用频度低。2、当前细节数据。最近时期的业务数据,反映当前业务的情况,数据量大,是数据 仓库用户最感兴趣的部分。随着时间的推移,当前细节数据由数据仓库的时间控制机制 转为早期细节数据。3、轻度综合数据。从当前基本数据提取出来,通常以较少的粒度统计而形成的数据。这类数据较细节数据的数据量小得多。4、高度综合数据。这一层的数据高度聚合,是一种准决策数据。5、元数据。元数据是关于数据、操纵数据的进程和应用程序的结构和意义的描述信 息,它是“关于数据的数据”。如在传统数据库中,数据字典就是一种元数据。在数据 仓库中整个数据的组织结构由元数据统一来组织,它不包含任何业务数据库中的实际数 据信息。在数据仓库环境下,主要有两种元数据:第一种是为了从操作性环境向数据仓 库转化而建立的元数据,包含了所有源数据项名、属性及其在数据仓库中的转化;第二 第9页国防科学技术大学研究生院学位论文种是用来和终端用户的多维商业模型/前端工具之间建立映射,此种元数据称之为DSS 元数据,常用来开发更先进的决策支持工具。2.3.2数据仓库中数据的组织模式数据仓库需要管理的数据量极为庞大,并且服务的目的不同,传统的数据建模方法 已经不能适应数据仓库数据模型的需要。因此需要新的数据建模方法来完成数据仓库中 数据的建模和组织,这种数据模型就是多维数据模型。由于多维数据模型是数据仓库中 一个非常重要的概念,我们在后面章节专门讨论。数据仓库中数据的组织模式概括起来 一般有三种,即第三范式模式(3NF,Third Normal Form Sc hema)、星型模型(Star Sc hema)和雪花模型(Snow flake Sc hema)o在实际应用中,由于数据仓库系统一般比较庞大,所以数据仓库中的数据普遍是按 照3NF的方式来组织的,这样方便了数据的管理和维护。因此,为了能够更方便的进行 OLAP分析,还需要在此基础上构建多维数据模型,也就是OLAP建模。2.4数据仓库建模由于本文关注的是多维数据模型和多维建模技术的研究和应用,我们首先就需要对 数据仓库和OLAP建模有深入的了解,因此,在本小节我们重点对数据仓库建模进行系 统的分析和总结,而OLAP建模部分在后面章节说明。数据仓库建模主要关注的是如何对数据仓库中的数据进行有效的存储、管理和维护,而OLAP建模主要关心的是如何更好地对数据模型进行多维分析。两者有区别也有联系,对于小的系统来说我们可以采用相同的方法来完成建模任务,比如说在数据集市设计中 就是这样处理的。而对于比较大的系统来说,我们就需要对两者分别进行。本文的主要工作只与OLAP建模有关,因此我们只对数据仓库建模作简单的分析,主要讨论后面章节的OLAP建模。数据仓库中存储的数据量是巨大的,很多组织的数据量都达到TB级以上,为了完 整的存储组织的数据,并对大量数据进行有效的管理和维护,在数据仓库中就需要一个 很好的数据模型。数据仓库模型设计分如下几个步骤2:分析建立企业模型 概念模型的设计 逻辑模型的设计 物理模型的设计2.4.1分析建立企业模型企业模型是从企业用户的角度对企业所需数据的内容以及数据间关系的抽象。并不 需要考虑操作型和数据仓库之间的差异,它只反映企业各个阶层人员对数据的需求情况。企业模型中的部门数据可能是企业现有业务系统中没有的,这些数据处理可能还停留在 第10页国防科学技术大学研究生院学位论文人工的方式。企业数据模型对于一个大型企业是重要而有意义的,通过企业数据模型,我们可以 比较完整的了解企业中各方面人员、各个阶层的人员对数据的需要程度,这对数据仓库 系统的建设都具有很好的指导作用,企业模型一般采用E/R模型的建模方法。建立企业模型的目的是为了更好的进行数据仓库建模,因此需要把企业模型映射到 数据仓库概念模型。2.4.2概念模型的设计多维数据概念模型是一种高层模型,它是对应用主题的较高层次的抽象。概念模型 描述的是从客观世界到主观世界的映射,通过概念模型,我们用计算机世界的模型和语 言对客观世界中的具体问题进行了描述。要将企业模型映射到数据仓库的概念模型,首先需要确定主题,并根据主题确定主 题的边界,主题的确定必须由最终用户和数据仓库的设计人员共同完成。比如,银行信 贷分析的主题包括客户主题、行业主题、产品主题和机构主题。在概念模型中,常用的表示方法是E/R模型,另一种很好的方法是面向对象的分析 方法。E/R模型形式简单易于理解,便于同用户交流,同时可以对问题进行更深入细致 的描述。概念模型处于最高抽象层,它包含分析业务问题的主题、主题中应该包含相关的实 体和实体之间的关系。2.4.3逻辑模型的设计逻辑模型实际上就是关系模型,它是用来构成关系型数据仓库的。它具有严格的数 学基础一关系数据理论。对于数据仓库而言,业界比较常用的多维数据逻辑模型有:星 型模型、雪花模型和星座模型。维表维表就是将多维模型映射到关系型模型中,用于记录各个维度信息的关系表。事实表事实表就是将多维模型映射到关系型模型中,用于记录维度交点处的度量信息的关 系表。事实表中除了度量变量外,其余的列都必须是各个维表的主键,它们在事实表是 外键且不能为空。事实表的这种结构最大的好处是通过字节数很少的外键同维表相连,从而大大的节省了存储空间,这一点在问题涉及多个维且维中具有多个层次时尤为有效。星型模型星型模型是多维数据模型中一种典型的结构,它把一个事实表放在中间,周围有很 多维表与这个事实表相连。星型模型的核心是事实表。它是多维查询的焦点。这里存储 了真正的数据,事实是数量属性,能被统计、求和、求平均值、最大值和最小值,能够 根据各种统计操作来聚类。维度属性提供了在事实表中的每一行的描述性信息,这些属 性用来提供事实表和维表之间的联系。信贷分析系统时点指标分析主题的星型模型如图2.3所示,其中:时间维是数据仓 第11页国防科学技术大学研究生院学位论文库多维数据模型的关键组成部分,客户维允许我们根据客户的地区、规模和所有制结构 来进行分析,贷款期限维允许分析贷款时间的结构,而担保方式允许分析贷款担保的结 构。雪花模型雪花模型是星型模型的一种扩展,是在星型模型的维表上增加层次结构。比如,在 图2.3中可以把地区维、客户规模维和所有制维连接到客户维上。雪花模型增加了查询 的种类,提高了分析的灵活性。它的优点是最大限度地减少数据存储量并且联合较小的 维表来改善查询性能。实际应用中,在星型模型下,每增加一个有N个条目的维表,则 事实表的内容将是原来的N倍。这种情况下,可以考虑使用雪花型的结构。这样可以大 大减少事实表的条目数,但要访问与中间表连接的维表信息时,需要用事实表、中间维 表、中间表相关维表之间进行2次连接运算,这将增加OLAP处理的时间。事实上,可 以在标准星型和雪花型结构之间求得一种折中。把用户经常观察的维直接与事实表连接,而用户很少考察的维通过中间表连接。星座模型在星型模型中如果多个事实表共享维表,我们把这种模型称为星座模型。这样就减 少了维表的数目,通过维表的重复使用而提高了其利用率。地区维PKKHDQnKKbHK1IDQKHGYI KHGM2SYZF何维flTllg ID所有制推PKsxzSYZ.DCB贷款存虽时在事实表PK,FK4 PK,FK8 PK.FK5 PK,FK6 PK,FK1PK,FK2 PK.FK3 PK,FK7TI MEU KHBMMM SU KOIUH 9CXDKYE 8LDKYE YSt SDKYE YSfSLX CKYE.行处推PKJG.DCB贷款期限检PKDKQX.DC8客户挽梗aPKK11CM2KIIGM2_DCB姐保方式维担保方式维PKDBFSMFS_DCB DBFS_PARET MFS_PAREyr_DCB图2.3信贷分析系统时点指标分析主题的星型模型数据仓库逻辑模型的设计主要包括数据粒度的选择、维表增加时间字段、进行表的 分割、合理化表的划分、定义关系模式、去除纯操作数据、增加导出字段和定义记录系 统。记录系统的定义和关系模式的定义可以作为数据仓库逻辑模型设计的输出,它表达 第12页国防科学技术大学研究生院学位论文了数据仓库模型映射到关系模型的结果。1、数据粒度的选择确定数据粒度是数据仓库开发者需耍面对的一个最重要的设计问题之一,如果数据 仓库粒度确定的比较合理,设计和实现中的其它方面就会很顺利,否则的话,会使其它 方面很难进行。粒度的主要问题是使其处于一个合适的级别,粒度级别不能太高,也不 能太低。.对于不同的数据量采用不同的数据粒度策略。在数据量较小的环境下,可以采用单 一的数据粒度。对于大量的数据量需要采用双重或更多层次的粒度,对于细节数据只保 留近期的数据在数据仓库中,当保留周期到达时,将距离较远的细节数据导出到其它存 储设备上,数据仓库中只保留其综合数据。2、表的分割在确定粒度之后,需要考虑表的分割策略,常用的分割策略是按照时间进行。比如,我们一般按年来分割数据表。3、增加时间字段由于在数据仓库中数据必须有时间信息,因此,我们需要对业务数据中数据加上时 间字段。4、去除纯操作型数据纯操作数据就是与分析毫无关系的数据,这些数据字段通常是为了方便业务系统的 运营而设立的,它们对于面向分析的数据仓库系统没有实际的意义。5、关系模式的确定数据仓库中数据模型的模式根据系统复杂程度而定,对于比较复杂的系统,仍然采 用3NF(Third Normal Form Sc hema);而对于相对比较简单的系统,就可以采用星型模 型,这样可以与OLAP模型对应起来,从而简化了系统。2.4.4物理模型的建立多维数据物理模型主要是指多维数据模型的物理上的存储方式、数据存放位置、索 引结构、存储分配优化等。在关系数据库中用一个事实表和多个维表来存储多维数据,在
展开阅读全文