1、国防科学技术大学研究生院学位论文摘要(数据模型是数据仓库的核心问题之一。很多研究表明,传统的数据模型(如 关素数据模型)难以有效地表示数据仓库应用中的数据结构和语义,也难以支 持OLAP的应用。由于OLAP具有多维特征,因此多维数据建模技术引起了人 们的普遍关注和广泛兴趣。随着商业竞争的日益激烈,原有的管理信息系统已经不能满足企业领导决 策的需求,他们迫切需要一个高效的数据仓库系统来辅助决策。怎样在原有的 管理信息系统的基础上构建数据仓库,怎茂在关系数据模型的基础上构建多维 数据模型的研究越来越显得重要和迫切X本逛于这样一个现实背景,对多维数据建模的概念、目的、基本方法、关键技术、国内外研究现
2、状进行多深入地归纳总结;对基于关系数据模型的多 维数据建模方法进行了系统总结,并用形式化方法对其主要操作进行了分类描 述。针对证券行业这样一个特定背景,在详细分析基于ME/R的多维数据概念建 模方法的基础上,运用它对股票交易主题进行了概念建模,同时也把ME/R模型 与常用的多维数据模型进行了对比;根据课题背景,对基于关系数据模型的多 维数据建模方法进行了详细地阐述。在具体的建模过程中,对时间维作了一定 的修正,提出了一种基于竞争机制的时间维模型,为基于时间的分析提供了更 加充分的信息;同时本文也对常用的多维数据模型的结构作了改进,采用了一 种称作为星族模式的结构,这种结构结合了星型模式和雪片模
3、式的优点,同时 又对各自的缺点进行了修正,并在实际中得到了很好的应用。关键词:数据仓库数据集市关系数据模型ME/R模型多维数据模型多维数据 建模m国防科学技术大学研究生院学位论文AbstractData model is one of the key problems of data warehouse.And many learns proved that traditional Relation Data Models couldnt effectively describe the structure and semantic of data warehouse applications
4、,and couldnt meet the requirement of OLAPs applications also.Because the OLAP is multidimensional,the multidimensional data modeling techniques attract humans general attentions and wide interests.With the business competition becomes more and more hotly,the MISs couldnt completely meet the leaders
5、requirements.They needed urgently a Data Warehouse System to help their decision-making.And how to build a Data Warehouse System based on MISs,how to build a Multidimensional Data Model based on Relation data Model attract humans general attentions.On these situations,this paper concluded the concep
6、t,motive,basic techniques,key problems and the present situation of researching of Multidimensional Data Modeling seriously.Based on the stock exchange,This paper described the approach of Conceptual Multidimensional Data Modeling Based on Multidimensional E/R Model in detail,and used it to model th
7、e stock exchange subject,then compared it with the existing Multidimensional Data Models.Based the applications,This paper described systemically the Multidimensional Data Modeling techniques,and stated classifiedly the main operations used in this technique with formalization means.This paper state
8、d vividly the approach of building the Multidimensional Data Model based on the Relation data Model.In the process of building the Multidimensional Data Model,We made some mends on the time dimension,adapted the time model based on competition,and this model provided enough information for the later
9、 analysis based on time.And contempary,this paper used a new schema called Star Cluster Schema as the basic structure of the Multidimensional Data Model.The Cluster Schema is the joint of Star Schema and Snowflake Schema,it inherits their merits,and mends their disadvantages.This schema made good us
10、e in the application of stock exchange.Key Words;data warehouse,data mart,re I at i on data mode I,ME/R mode I,multidimensional data model,mu 11 i d i mens i onaI data modeling国防科学技术大学研究生院学位论文第一章绪论1.1 引言数据仓库和OLAP是20世纪90年代初提出的概念,到90年代中期已经形 成潮流。在美国,数据仓库已经成为仅次于Intemet之后的又一技术热点。数据 仓库是市场激烈竞争的产物,它的目标是达到有效
11、的决策支持。数据仓库将大量用于事物处理的传统数据库数据进行清理、抽取和转换,并 按决策主题的需要进行重新组织数据仓库的数据可分为近期基本数据、历史 数据和综合数据(其中综合数据是为决策服务的)。数据仓库中的数据一般采用 星型结构存储在关系数据库中。星型结构由事实表和维表组成,多个维表之间形 成多维数据结构。星型结构的数据体现了空间的多维立方体。这种高度集中的 数据为各种不同决策需求提供了有用的分析基础。随着数据仓库的发展,OLAP也得到了迅猛的发展。数据仓库侧重于存储和 管理面向决策主题的数据;而OLAP则侧重于数据仓库中的数据分析,并将其转 换成辅助决策信息。OLAP的一个重要特点是多维数据
12、分析,这与数据仓库的多 维数据组织正好形成相互结合、相互补充的关系。OLAP技术中比较典型的应用 是对多维数据的切片和切块、钻取、旋转等,它便于使用者从不同角度提取有关 数据。OLAP的一个重要基础就是多维数据模型的建立。很多研究表明网,随着数 据的积累,达到一定规模以后(如Brabyte级),目前常用的几种数据建模方法(如ER方法等)已经不能满足数据日益增长的要求,很难为决策支持服务,而 且,目前普遍认为上述传统模型主要运用在面向事务的分析处理(OLTP)工作 之中。由于需要管理的数据量极为庞大,并为决策支持服务,因此需要有新的数 据建模方法来完成海量数据的建模和组织。Codd提出的OLAP
13、标准指出,OLAP具有多维特征。因此,多维数据模 型引起了人们的注意,相应地,多维数据建模(MDM)技术也越来越受到人们 的关注。在MDM中,一个表和关系的模型是根据关系数据库中优化决策性能的 目的来建立的,与正在被建模的商业过程结果的一种度量或度量集相对应。相反,传统的E-R建模是根据以下目的来建立的:(a)消除数据模型中的冗余,(b)容 易恢复某些含有特定标识的单个记录,以及(c)优化在线事务处理(OLTP)性 能。随着管理信息系统的广泛应用,各大企业都建立了自己的企业管理信息系 统。由于关系数据库有着雄厚的理论基础,经过多年的发展,在技术上也很完善,故现在使用的管理信息系统绝大部分都是建
14、立在关系数据库的基础上。随着商业 竞争的日益激烈,怎样充分利用各个企业积累下来的数据,怎样在原有的管理信 息系统的基础上构建数据仓库,怎样在关系数据模型的基础上构建多维数据模型 逐渐引起了人们的广泛关注。在关系数据模型的基础上构建多维数据模型的研 究有着广泛的现实意义:1)可以节省数据仓库系统开发的周期因为事物数据绝大部分来自关系型数据库,它们己经建立在关系数据模型的第1页国防科学技术大学研究生院学位论文第一章绪论1.1 引言数据仓库和OLAP是20世纪90年代初提出的概念,到90年代中期已经形 成潮流。在美国,数据仓库已经成为仅次于Internet之后的又一技术热点。数据 仓库是市场激烈竞争
15、的产物,它的目标是达到有效的决策支持。数据仓库将大量用于事物处理的传统数据库数据进行清理、抽取和转换,并 按决策主题的需要进行重新组织加。数据仓库的数据可分为近期基本数据、历史 数据和综合数据(其中综合数据是为决策服务的)。数据仓库中的数据一般采用 星型结构存储在关系数据库中。星型结构由事实表和维表组成,多个维表之间形 成多维数据结构。星型结构的数据体现了空间的多维立方体。这种高度集中的 数据为各种不同决策需求提供了有用的分析基础。随着数据仓库的发展,OLAP也得到了迅猛的发展。数据仓库侧重于存储和 管理面向决策主题的数据;而OLAP则侧重于数据仓库中的数据分析,并将其转 换成辅助决策信息。O
16、LAP的一个重要特点是多维数据分析,这与数据仓库的多 维数据组织正好形成相互结合、相互补充的关系。OLAP技术中比较典型的应用 是对多维数据的切片和切块、钻取、旋转等,它便于使用者从不同角度提取有关 数据。OLAP的一个重要基础就是多维数据模型的建立。很多研究表明,随着数 据的积累,达到一定规模以后(如Terabyte级),目前常用的几种数据建模方法(如ER方法等)已经不能满足数据日益增长的要求,很难为决策支持服务,而 且,目前普遍认为上述传统模型主要运用在面向事务的分析处理(OLTP)工作 之中。由于需要管理的数据量极为庞大,并为决策支持服务,因此需要有新的数 据建模方法来完成海量数据的建模
17、和组织。Codd提出的OLAP标准指出,OLAP具有多维特征叫 因此,多维数据模 型引起了人们的注意,相应地,多维数据建模(MDM)技术也越来越受到人们 的关注。在MDM中,一个表和关系的模型是根据关系数据库中优化决策性能的 目的来建立的,与正在被建模的商业过程结果的一种度量或度量集相对应。相反,传统的ER建模是根据以下目的来建立的:(a)消除数据模型中的冗余,(b)容 易恢复某些含有特定标识的单个记录,以及(c)优化在线事务处理(OLTP)性 能。随着管理信息系统的广泛应用,各大企业都建立了自己的企业管理信息系 统。由于关系数据库有着雄厚的理论基础,经过多年的发展,在技术上也很完善,故现在使
18、用的管理信息系统绝大部分都是建立在关系数据库的基础上。随着商业 竞争的日益激烈,怎样充分利用各个企业积累下来的数据,怎样在原有的管理信 息系统的基础上构建数据仓库,怎样在关系数据模型的基础上构建多维数据模型 逐渐引起了人们的广泛关注。在关系数据模型的基础上构建多维数据模型的研 究有着广泛的现实意义:1)可以节省数据仓库系统开发的周期因为事物数据绝大部分来自关系型数据库,它们已经建立在关系数据模型的 国防科学技术大学研究生院学位论文基础上,如果能在这个基础上定义一套转换规则,可以非常方便地把关系数据模 型转换为相应的多维数据模型,这样就大大节省了数据仓库中建模阶段的时间,从而也就缩短了数据仓库系
19、统的开发周期。2)可以节省数据仓库系统的开发费用构建一个数据仓库系统的费用非常高,如果能在已有的企业管理信息系统的 基础上构建数据仓库系统,使得以前的投资得到有效的利用。同时,在新建的数 据仓库系统中,也减少了数据清洗、装载的工作量,也就减少了相应的费用,这 样构建数据仓库系统比完全从零开始构建一个数据仓库系统所花的代价要小得 多。3)加速了数据仓库系统的普及基于上面两点,数据仓库的开发周期减少了,费用降低了,自然其应用就会 得到相应的普及,同时也促进了社会的经济发展。本文以“CRM-BI数据开采工具软件包”协作项目为背景,针对证券行业的 股票交易分析主题,对多维数据建模技术进行了广泛的研究。
20、研究的主要内容有 多维数据概念建模技术,基于关系数据模型的多维数据建模方法,并根据具体的 项目背景对这种方法进行了详细说明,在实际应用中,对常用的多维数据模型作 了一些改进,这在项目中得到了很好的应用。1.2 多维数据建模的研究现状目前,多维数据建模的理论、方法和工具方面的研究已经取得了一定的进展。但是尚未得到广泛的认可。1.2.1数据的存储从数据的存储角度来看,目前,解决多维数据存储的方法一般有两种:1.关系型它采用已经成熟的关系数据库作为海量数据的存储方式,在建模时,将多 维数据模型转换成为关系模式进行物理存储。这种方式目前使用得最多,各个数 据库厂商(如Oracle、Sybase、IBM
21、、Microsoft等)在其数据库产品的基础上 针对其技术特点将其产品进行扩充以满足存储多维数据的要求。为了改善性能,一些公司还针对多维数据关系存储的特点开发了特定的技术来提高信息检索的 速度,其中以Sybase公司的Bitwise技术最为突出。这种方式支持关系型的 联机分析处理(ROLAP)o2.多维型多维型就是采用多维数据库(Multi-Dimension Database)的方式对海量数 据进行组织和管理。多维数据库是完全按照多维数据自身特点形成的数据库系 统。多维数据库已经有了 20多年的研究历史,只是当数据仓库和联机分析处理 成为决策支持新方法时,多维数据库才得到蓬勃发展。在多维数据
22、库中,数据以 n维立方体方式存储(n-Dimension Cube),这种组织方式会导致“存储空洞”,即稀疏矩阵。这种方式的好处在于可以将时间作为多维数据库中的一维,同时在 第2页国防科学技术大学研究生院学位论文速度优化和查询方面更加容易实现,较采用关系数据库方式简洁。这种方式支持 多维型的联机分析处理(MOLAP)。另外,在一些文献中提到采用虚拟数据仓库的方式存储数据刖。它不存在数 据的“集中”存储,而是构造“视图”方式将分布在不同物理位置的数据库形成 逻辑数据仓库。1.2.2多维数据模型从理论角度来看,目前在学术界已经提出了一些多维数据模型,这些数据模 型可以分为以下几类:1.简单立方体模
23、型简单立方体模型把数据集合视为多维空间中的点集,把数据集合的属性分为 维和度量(或事实)属性两类,维属性用来描述度量属性,是多维空间的维度,度量属性用来进行分析处理,是多维空间中的点。简单多维数据模型具有一个致 命的弱点,即没有维层次结构的概念和语义,不能表示维层次结构。简单立方体 模型包括星型模式。2.结构化立方体模型电电结构化立方体模型考虑了如何表示多维数据集合的维层次结构问题,为用户 导航立方体提供了更好的指导。这些信息在查询优化时也很有用。一般通过以下 途径获取层次关系:分组关系、维合并功能、度量图、上钻功能、格或把明确的 层次树结构作为立方体的一部分。在相关研究中,Agrawal R
24、.和Li C提出的多 维数据模型只是部分地间接支持维层次结构的表示,而不能直接地表示多维数据 集合的完整维层次结构。Li C提出的数据模型通过组合多个维关系的方法表示 维层次结构,Agrawal R.提出的数据模型通过维合并功能来表示维层次结构。Lehner W.提出的数据模型能够明确地支持维层次结构的表示。但是它只允许每 个维具有单层次路径(即我们的数据模型中定义的层次链)。Pedersen TB.提出 的数据模型能够支持维层次结构,而且能够表示一个维的多个层次路径,但是该 数据模型要求维层次结构必须是一个代数格。这些方法提出的多维数据模型只是 部分地间接支持维层次结构的表示,而不能直接地表
25、示多维数据集合的完整维层 次结构。3.统计对象模型皿Rafanelli M.提出的统计对象模型支持结构化的分类层次,但是每个结构化 的分类层次必须与一个特定的聚集函数相关,而且每个结构化的分类层次只能定 义在一个度量属性上,用来回答特定的统计分析查询。显然,统计对象模型具有 很大的局限性,缺少灵活性。但是这种模型使用聚类语义提供一些保护,避免得 到一些对用户无意义的或不正确的结果。从工具角度来看,目前大型数据库厂商在其数据仓库产品中或多或少增加了 一些相关工具(如 Oracle、Sybase、IBM、Microsoft、Platinum 等)。这些工具 主要集中在实体化视图设计、数据存储和维护
26、以及联机分析处理(OLAP)算法的 设计和优化方面。采用关系数据库作为多维数据的存储方式,并结合这些数据库 厂商提供的相关工具,使得它们对数据仓库的数据结构和语义的表示能力得到了 第3页国防科学技术大学研究生院学位论文加强。综上所述,目前尽管基于数据仓库的决策支持技术得到了长足的发展,随着 研究的深入,人们已经认识到为了能够更好地支持数据仓库和联机分析处理技 术,必须对多维数据建模进行深入地研究。1.3本文研究的主要问题和成果本文结合有关课题,认真研究分析了数据仓库中的多维数据建模技术,在此 基础上主要进行了以下几个方面的工作:(一)基于关系数据模型的多维数据建方法关系数据模型随着数据库管理系
27、统的广泛应用得到了普及,怎样在原有的关 系数据模型的基础上构建多维数据模型,这样不仅很好的继承了原有系统的工 作,同时也减少了数据清洗、转换的代价,降低了数据仓库系统的运行费用,缩 短了其开发周期,促进了数据仓库系统的普及。本文对基于关系数据模型的多维 数据建模方法进行了系统的归纳,并用形式化方法对其主要操作进行了分类描 述。在这个基础上,本文还结合具体的应用背景,对这种方法进行了详细地分析 与说明,为数据仓库建模工作者提供了一个很好的范例。(二)多维数据概念建模关于多维数据模型本身以及多维数据逻辑模型的研究非常多,但是怎样针对 具体的现实世界构建多维数据概念模型的研究并不多。本文详细描述了一
28、种ME/R 的多维数据概念建模方法,它不仅能很好地描述现实世界,也能非常方便地转换 为常用的星型模式。(三)多维数据逻辑模型的扩展具体应用不同,其数据模型自然也就存在一定的差别,怎样根据具体的应用 来选择合适的逻辑模型,怎样对原有的逻辑模型进行扩展,本文提供了一个很好 的范例。本文应用了一种较小冗余度的多维数据逻辑结构一一星族模式,它不仅 结合了星型模式和雪片模式的优点,同时也对它们各自的缺点进行了一定程度的 修正。在对时间维进行建模时,本文也作了一定的贡献,提出了一种基于竞争机 制的时间维模型,为以后类似的情况提供了一个有利的借鉴。1.4论文的组织结构本文的组织结构如下:第一章 绪论。简要介
29、绍了本文的课题背景、当前的研究现状和研究内容。第二章 多维数据建模的概念、关键技术。简要介绍了多维数据建模的概念、目的、常用的多维数据模型的结构、以及多维数据建模的关键技术。第三章多维数据建模方法的形式化描述。从整体上对基于关系数据模型的 多维数据建模方法进行了说明,并使用形式化的方法,重点对其中涉及到的主要 操作进行了分类描述。第四章 多维数据概念建模。详细地描述了一种ME/R多维数据概念建模方 法,以及怎样把建出的多维数据概念模型转换为常用的逻辑结构星型模式的 方法。第4页国防科学技术大学研究生院学位论文第五章 多维数据建模方法的应用。根据第三章介绍的多维数据建模方法,针对证券行业的股票交
30、易分析主题,对这种方法的应用进行了详细地描述。第六章结束语。总结了论文的工作,展望了以后的工作方向。第5页国防科学技术大学研究生院学位论文第二章多维数据建模的概念和关键技术2.1 多维数据建模的概念数据模型是数据仓库的核心问题之一。很多研究表明,传统的数据模型(如 实体关系模型)不能有效地表示数据仓库应用中的数据结构和语义,也难以支持 OLAP的应用。Codd提出的OLAP标准指出,OLAP具有多维特征因此,多维数据模型逐渐引起了人们的注意。多维数据模型具有如下特点:是商业信息的逻辑模型;易于理解;适于关系数据库和多维数据库;对分析非常有用;是一种试测法。需要注意的是,多维数据模型并不是一个数
31、据库管理系统、一种飞速上升的 技术、一个“立方体”、关系模型的替代者和最新的时尚。根据Kimball(1996,1997)的阐述,数据仓库环境(OLAP)与数据操作 环境(OLTP)存在着根本的区别,因此设计数据库管理系统的方法就根本不适 合用来设计数据仓库应用系统叫。基于这个原因,Kimball提出了一种新的数据 建模方法,这种方法特别适合数据仓库应用的设计,这就是多维数据建模吮2。多维数据建模在实践中已经成为设计数据仓库和数据集市的主流方法,并对数据 建模和数据库设计规范的形成作出了重要贡献。多维数据建模的目的就是降低数据库结构的复杂性,使得终端用户易于理解 以及很容易写出他们需要的查询。
32、其次就是提高查询的效率。这些目的主要是通 过减少表的数目以及简化表间的联系来达到的。这降低了数据库结构的复杂性,也减少了用户查询中要求进行连接的表的数目。总之,多维数据建模是根据商业分析主题的要求,使用事实、维度、层次从 多个度量角度对商业活动进行建模,建出的多维数据模型由事实表和维表组成,其中事实表中包含的是一些度量信息,维表中包含的是关于度量的描述性信息,它的结构非常简单,层次清晰,易于为商业用户所理解,而且,多维数据模型可 以在关系数据库、多维数据库、甚至是面向对象数据库上实现。2.2 多维数据模型的基本结构目前,在数据仓库和数据集市的构建过程中,广泛采用的多维数据模型主要 有星型模式和
33、雪片模式两种。下面对其作一个简单的分析:2.2.1星型模式星型模式是多维数据建模中的一种典型模式,之所以称作为星型模式,是因 为它组织实体的方式是把一个事实表放在中间,与这个事实表相连有各个维表。第6页国防科学技术大学研究生院学位论文星型结构的核心是事实表。它是多维查询的焦点那里存储了真正的数据(事 实)。事实是数量属性,能被统计,能被求和,求平均值,求最大值,求最小值,能根据各种统计操作来聚类。事实属性包含了被事实表管理的主体的可度量值。维度属性提供了事实表中每一条记录的描述性信息。交易方式交易方式D交易方式名营业部1营业部D股票交易-顾客D-营业部D股票D 时间D交易方云D 买入股票数量
34、买入股票价格 买入股票金额 卖出股票数量 卖出股票价格 卖出股票金额事实表码号址区份 话地地省 电股票股票D名地份业块 票属省行板人 责 负图2.1星型模式 2.2.2雪片模式雪片模式是对星型模式的扩展。它对星型模式的维表进一步规范化,原有的 各个维表可能被扩展为小的事实表,形成一些局部的“层次”区域。它的优点是:通过最大限度地减少数据存储量以及联合较小的维表来改善查询性能。雪片模式增加了用户必须处理的表的数目,增加了某些查询的复杂性。这种 方式使系统进一步专业化和实用化,同时也降低了系统的通用程度。前端工具仍 然要用户在雪片的逻辑概念模式上操作,然后将用户的操作转化为具体的物理模 式,从而完
35、成对数据的查询。在雪片模式中可以定义多重“父类”维来描述某些特殊的维表,从而满足多 个分析主题的需要阿。比如,在股票维上可以定义地区子维和行业子维,这样用 户既可以按行业也可以按地区来对股票进行分析.在时间维上,也可以定义一些 特殊的时间周期,如减价周期,涨价周期等。为了某些分析的需要,还可以对雪片模式进行扩展。其中一种方法是使用多 重事实表的扩展雪片模式L23)在这种方法中,为了使数据模型变得更加全面,将 要定义更多的事实表,这样,某些综合查询可能要使用两个或更多的事实表,它 们就通过多重维表连接起来。另一种方法是渐增的雪片模式,比如,许多地理 级别能被用来对商店进行分组,使用这种扩展雪片模
36、式技术,在每一层上增加维 表,但是这可能意味着层次结构能戏剧性地增长。这种技术可以和反规范化技术 结合起来,在数据的冗余度和数据模型的复杂性方面有一个良好的折中。第7页国防科学技术大学研究生院学位论文图2.2雪片模式另外,在有些文章中也提到了一些其它的结构。比如基于影响域的旋转模式,它主要是针对星型模式在进行数据挖掘时的弱点提出的,并不能单独作为数据存 储的一种方法,必须和星型模式(雪片模式)结合起来,才能作为一个完整的多 维数据建模方案皿。2.3多维数据建模的关键技术根据Thomas J.Kelly的论述,在使用多维数据建模技术时,需要注意的关 键技术主要有网:反规范化 使用多重事实表的查询
37、 维表的数据量 聚类管理 雪片 数据共享反规范化:多维数据建模要求数据仓库中的数据通过有效反规范化来减少表 间的连接。关于反规范化,可以从下面几个方面来理解:反规范化导致了数据的冗余,它通过存储空间的冗余来提高查询性能。当副本数据发生变化时,为了保持数据的一致性,数据更新的操作比较 复杂。比如,用新的财政年度来定义时间关系,或者一个商业单位从一 个地区迁移到另外一个地区,为了保持数据的一致性,必须进行繁杂的 更新操作。当用户的要求是可预测的或者能够被计划好,并且不必为计划外的要求 第8页国防科学技术大学研究生院学位论文提供可扩展性时,反规划化数据模型也可以应用在OLTP系统中。,反规范化是一门
38、技术,它经常被用来提高查询性能,但它要求一些关于数据 怎样使用的高级知识。在某些情况中,反规范化技术通过要求5倍的数据冗余来 达到预期的性能。另一方面,它大大增加了数据存储空间的要求。反规范化易于减少数据仓库的灵活性,因此限制了在数据仓库上能被执行的 查询的种类。例如,完全规范化的数据模型把每个实体隔离开来,因而也就限制 了每个实体与其它实体联系的信息总量。一个反规范化的数据模型组合了多个实 体,它要求这个反规范化实体包含关于这个新实体种类的关系的假设。在一个完全规范化的数据模型中,在对位于某一城市内的证券营业部进行建 模时,这个营业部实体并没有包含任何其它的关于这个地理层次中的更高级别实 体
39、的信息。在一个反规范化的数据模型中,这个实体必须包含所有的相关信息。这样,当这个层次级别上的信息改变时,它不能把这些变化限制在这个模型的某 一特定部分,相反,这个变化将影响到整个层次中的实体。当副本数据发生变化时,为了保持数据的一致性,在反规范化结构中可能有 成千上万行的数据要被校正,进行的更新操作比较繁杂。然而,规范化关系结构 将这些变化限制在单个表中单行数据上,更新起来非常方便。使用多重事实表的查询:正如多维数据模型发展为包含多重事实表一样,在 一个查询中使用多个事实表也是一种趋势。例如,为了处理这样一个查询,这个查询是对某段时间内的某些产品促销情 况与这个零售店的销售事物进行对比分析,看
40、是否与预期的目标存在差距,这个 多维数据模型必须包括至少2个雪片。这种“雪暴”结构(指多个雪片模式的组 合)使用了一种称作“钻取”的技术来组合分析单个事实表中的数据。自从事实 表变得越来越庞大以来,这就影响了多维数据模型的一大主要优点:通过限制大 事实表与多个小维表的连接来提高性能。维表数据量:当与星型结构中的数据库表连接时,首先连接的是维表,然后 根据事实表进行这些表的交互连接。如果维表比较小,或者查询中维表满足要求 的记录数有很大的选择性,这样与事实表相连时就会产生一个相对小的中间结果 集。在另一方面,一个或多个大的维表可能会产生一个巨大的中间结果集,这显 然增加了查询反应时间,使得查询性
41、能比传统的关系数据表进行连接时的性能还 要差,而且由于反规范化导致了数据表中字段增多,这进一步恶化了查询性能。所以维表的数据量对查询性能有着重要的影响。聚类管理:聚类是根据已知查询预先计算好的答案,它不能用来支持没有计 划的,特殊的查询。(如果已经知道需要某些聚类,且使用它们的查询至少已经 被局部地计划好,这样的聚类才能起到预期的效果)。所以没有计划的查询可能 要求更长的时间才能得到响应。如果生成太多的聚类表,就可能会遭遇到聚类表爆炸问题。在一个只包含一 个度量属性和10个维度属性的数据模型中,可以构建出超过3百万个聚类表。(10!=3.63百万)。对于这些数目庞大的聚类表,只有极少的组织有这
42、个处理 能力,来管理所有来自这个小模型的潜在聚类。同样地,使用太多的维表也会引起数据表中的记录数量剧增。考虑一个包含 100个营业部,400种股票,50种顾客的证券公司,以及它在1年内的交易数据。从表2.1可以看出,聚类的粒度不同,得到的结果集的大小存在很大的区别。在 某些情况中,聚类能占据整个数据仓库空间的四分之三。第9页国防科学技术大学研究生院学位论文表2.1聚类结果聚类表行每月的交易额1,200每天的交易额36,500每种股票每天的交易额14,600,000根据股票种类和顾客类别 得出的每天的交易额730,000,000定义聚类时,可以考虑使用80:20的规则仅仅通过20%的聚类来提高
43、80%的性能。也就是说,这20%的聚类经常被重用,频繁用来节省处理这些查询 的总计算资源。其余80%的聚类往往导致下列两种错误:在获得查询结果时并没有减少计算资源一一仅仅把部分查询过程安排在 非高峰期。为了维持极少使用的聚类要增加大量计算资源这些聚类只是偶尔使 用。雪片:使用层次结构意味着它能戏剧性地增长。例如,如图2.3所示,可以 使用多个地理层次来对证券公司的营业部进行分组,如果使用雪片技术,在每一 层上增加维表,这可能使得查询性能进一步恶化。在这种情况下,可以运用反规 范化技术,把地理维层次统一在营业部维表中,从而减少了所有地理层次表的连 接。使用层次结构意味着它能戏剧性地增长。许多地理
44、级别能被用来对营业部进 行分组,如果使用雪片技术,必须在每一层上增加维表,图2.3就是这样的一种 情况。图23渐增的雪片结构不管怎样,所有这些维隐含了附加表的连接,这可能使得查询性能进一步恶 化。自从星型结构强调反规范化以来,地理维层次应该被统一在营业部维表中,正如图2.4所示,减少了上一模型中的所有表的可能连接。第10页国防科学技术大学研究生院学位论文营业部营业部代码 L营业部地址营业部名称 电话号码负责人姓名 地区名称 邮政编码 省份名称,股塞弯耳 时同代码 股票代码 营业部代码 客户代码 交易方式代码 买入股票数量 买入股票价格 买入股票金额 卖出股票数量 卖出股票价格 卖出股票金额图2
45、4反规范化层次关系这样进行反规范化之后的一个关键点就是数据的复制在省份和地区之 间的每个关系对每个营业部来说要成级数复制。数据共享:为了得到优化的性能,在某些情况下,可能把每个星型结构分割 成独立的数据库。因为某些维表不只在一个星型结构中使用,从而这些维表必须 在每个数据库中进行复制。这项技术对组织提出了挑战,它必须为这些数据的额 外备份提供附加的存储空间,以及保持这些备份表的同步。这里所说的多维数据建模的关键技术,也就是在建立多维数据模型时应该着 重考虑的几个问题,这些问题也不是绝对的,应该根据具体问题来分别对待。具 体情况不同,着重点也就不同,在上面列出的这些多维数据建模的关键技术的考 虑
46、上自然就存在偏差。而且,上面列出的这些关键技术有些本身就存在一定的对 立,比如反规范化与雪片,反规范化是通过牺牲存储空间来达到直询效能上的提 高,它导致了数据的冗余,而雪片为了保持数据的一致性,便于数据更新,它自 然就对维表提出了规范化的要求,一般要求满足3NF的要求,也就与反规范化 存在一定的冲突,这要根据具体问题来进行适当的均衡。第11页国防科学技术大学研究生院学位论文第三章多维数据建模方法的形式化描述在基于关系数据模型的多维数据建模方法中,数据仓库设计是从现有的关系 数据模型开始,得出一个多维数据模型集。这一章主要对这种方法作了一个系统 归纳,并用形式化方法对所涉及到的操作进行了分类描述
47、。在这些关系数据模型 或者中间模型(在关系数据模型上运用操作后产生的模型)上运用这套操作,可 以得到希望的多维数据模型。所以,组成结果模型的所有元素,关系和属性,都 是在原模型的基础上运用操作的结果,具体过程可用图3.1来表示。图3.1数据仓库的设计过程Adriana Marotta提出了一套把关系数据模型转换为多维数据模型的原语机 制,但是并没有对其完整性进行证明。而且,在他的这套原语机制中,可以有 多个原语完成相同的工作。为了对基于关系数据模型的多维数据建模方法有一个 更加深刻的认识,在这里借用了他的描述方法,对涉及到的一些基本操作进行了 详细描述,但同时也对它们作了一个系统总结,并从关系
48、数据模型的特点,多维 数据模型的特点,以及多维数据建模的关键技术等角度,对引出这些操作的原因 进行了分析。需要注意的是某些操作可以完成相近的功能,因为在实际操作过程 中,解决同一个问题有好几种方法,或者说可以在同一个关系数据模型上得出多 个多维数据模型。为了描述上的方便,本文对这些操作进行了分组,把某些功能 相近的操作放在同一个组里。但是这些操作仅仅是在关系数据模型的基础上构建 多维数据模型的方法总结,还没有一套很好的设计标准,这样容易带来设计上的 问题。第12页国防科学技术大学研究生院学位论文 3.1基 本定义多维数据模型是由事实表和维表组成的,其中事实表中主要包含一些度量属 性,而维表中包
49、含的是一些描述性属性。根据这些特点把关系数据模型元素(关 系和属性)分成不同的集合。总体来说,这些元素分成以下四种:维度关系、度 量关系、维度属性、度量属性。根据这些分类,在数据仓库设计中针对不同的情 况可以采取更加准确的方式来描述。下面分实体和属性两类来进行定义:3.1.1 实体集根据实体在多维数据模型中的作用,可以把它分成以下几类:A ReZ-所有关系集。Re/。一“维度”关系集,这些关系与多维数据模型中的维度信息相对应,主要是一些描述性知识。一“度量”关系集,这些关系与多维数据模型中的度量信息相对应,它们描述了维度元素之间的关系或联合。通常,它们是关于维度信息的 一些度量属性。Re/C
50、“交叉”关系集。它们是一些没有任何度量属性的“度量”关系,即它们只是描述了维度元素之间的关系或联合,而没有包含度量属性。Re。-“层次”关系集。它们是一些包含层次的“维度”关系。但是 对于关系的属性集中是否含有层次关系,这只能根据它们的语义来判断。Re0(R)“历史”关系集。这个关系集主要包含的是一些与关系R中的信息对应的历史信息。从上面这些集合的描述中可以得出下面这些关系:Re,c u Re/W Retj c ReZD DR,RelH(R)u(RelD uReZw)3.1.2属性集根据在多维数据模型中的作用,可以把属性分成以下几类:AttW 关系R的所有属性集。(R)一 关系R的度量属性集。