文档详情

数据仓库与数据挖掘技术第4章OLAP技术

公****
实名认证
店铺
PPT
335.50KB
约65页
文档ID:593204231
数据仓库与数据挖掘技术第4章OLAP技术_第1页
1/65

第4章 OLAP技术主讲人:孙水华 副教授信息科学与工程学院数据仓库与数据挖掘技术 内 容nOLAP概述n多维数据库及其存储nOLAP的类型nOLAP的体系结构nOLAP中的索引技术nOLAP的评价标准nOLAP的前端展现n小结 联机分析处理(OLAP)是数据仓库上的分析展示工具,它建立在数据多维视图的基础上,可以提供给用户强大的统计、分析、报表处理功能及进行趋势预测能力,OLAP主要有两个特点:主要有两个特点:一是性即联机一是性即联机,体现为对用户请求的快速响应和交互式操作;另一特点是多维分析另一特点是多维分析,数据的多维视图使用户能从多角度、多侧面、多层次的查看包含在数据中的信息,数据仓库的面向主题的特点为OLAP的建模提供了良好的基础,但数据仓库并不能自己自行分析,还需要借助OLAP工具进行更好的展现 4.1 OLAP概述 4.1.1 OLAP的定义的定义 OLAP是针对特定问题的联机访问和分析,通过对信息或维数据的多种可能的观察形式进行快速地、稳定地、一致地和交互性的存取,允许管理决策人员对数据进行深入观察对于其准确的定义目前还没有一个统一的说法,但人们普遍接受1995年OLAP专门研究机构OLAP Report提出的一个关于OLAP的简明定义FASMI (Fast Analysis of Shared Multidimensional Information)。

(1)快速性(Fast)系统必须能快速响应用户的分析查询要求,对于用户大部分分析要求在5秒钟内作出反应,否则超过30秒用户可能会失去分析的主线索,影响分析质量如果数据量很大,为了达到合适的响应速度需要采取一些措施,如专门的数据存储形式,大量的事先运算,或者采用特别的硬件设备等2)分析性(Analysis)OLAP系统能处理任何与用户和应用有关的逻辑分析和统计分析,在需要的情况下还允许用户无需编程就可为分析和生成报表定义一些新的特殊运算,将其作为分析的一部分,并以用户理想的方式给出报告用户可以在OLAP平台上进行数据分析,也可以与其他外部分析工具交互信息,同时应提供灵活开放的报表处理功能,保存分析结果 (3)共享性(Shared)即OLAP应能实现在多用户环境下的安全保密要求和并发控制多个用户同时使用,能够根据用户所属的安全级别,让他们只能看到自身权限下的信息4)多维性(Multidimensional)指对数据分析的多维视图和分析,是OLAP的关键属性,包括对层次维和多重层次维的支持5)信息性(Information)指OLAP系统管理数据和获得信息的能力,能管理大量的数据并即时地获得用户所需信息。

这里有许多因素需要考虑,如数据的可复制性、可利用的磁盘空间、OLAP产品的性能及与数据仓库的结合度等 4.1.2 数据仓库与数据分析的关系随着计算机技术,数据库技术以及数据仓库技术的迅速发展,人们往往认为只要建立了先进的数据仓库,就能获得有价值的信息实际上,数据仓库的技术仅仅解决了信息的存储问题,提高了数据的存储效率数据仓库只有结合了数据分析技术后,才能获得最大的效益数据仓库与数据分析的有如下的关系: 1. 数据仓库提供数据源数据仓库面向的是数据的整理这种整理过程有一定目的性,是为进行决策分析做准备的因此,在数据仓库中也提到了数据仓库的主题另一方面,为了给更多的决策活动提供数据源依据,也要求数据仓库能够比较客观、全面地反映系统的全貌,由此产生了数据仓库的建模工作,并通过各种视图,向数据分析系统展现数据源的情况2. 数据分析提供分析方法数据仓库完成了有关的数据整理之后,数据分析将为最终的决策提供具体的分析方法,每种方法都是对数据仓库中隐藏进行分析的过程方法的好坏,将直接影响到最终的分析能力,因此,数据分析方法也很重要 3. 数据分析并非完全依赖于数据仓库数据分析技术的发展,并不完全依赖于数据仓库,也可以直接对各种源数据进行分析。

OLAP技术是一种多维数据分析技术,侧重于数据仓库的数据分析,为管理者提供信息支持对于决策分析而言,历史数据是相当重要的,许多分析方法必须以大量的历史数据为依托,如果没有对历史数据的详细分析,则难以把握企业的发展趋势 OLAP分析与数据仓库的关系十分紧密数据仓库的建立,解决了依据主题进行数据存储的问题,提高了数据的存取速度,而OLAP分析构成了数据仓库的表现层,将数据仓库中的数据通过不同的维和指标,灵活地展现出来,提高了数据的展现能力,进而提高了数据的分析能力 可以发现,OLAP对数据仓库具有很强的依赖性,没有数据仓库,OLAP将很难实现同样,在数据仓库选择主题时,也要参考OLAP分析的维度、指标,这样数据仓库才能够更好地为信息进行服务,并为决策者进行业务分析提供依据否则数据将因为无法展现,而成为黑盒子中的“死"数据,无法为决策分析服务 4.1.3 多维分析的基本概念 OLAP实际上是以多维视图的形式展示给用户的,因此,多维结构是OLAP的核心下面对多维数据分析中的基本概念,例如多维数据集、维、度量、维的层次、维成员等相关概念进行介绍理解这些基本概念对理解OLAP乃至数据仓库是十分重要的。

1.多维数据集(cube) 多维数据集是OLAP中的主要对象,通常也称作多维立方体,是一项可对数据仓库中的数据进行快速访问的技术cube是一个数据集合,通常由数据仓库的子集构造,把一组维度和度量值合理组织,最后汇总成多维结构每个cube都有一个架构,架构是数据仓库中已联接的各表的集合,多维数据集能从数据仓库提取源数据 多维数据集可以用一个多维数组来表示,例如,经典的时间、地理位置和产品的多维数据集可以表示为:(时间,地理位置,产品,销售数据)可以看出,在多维数据集中,用(维1,维2,……,维n,观察变量)的方式进行表达 销售数量10000玩具电器销售地区服装切片北京上海江苏1 2 34服装化妆品产品税时间(月)图4.1 以时间、销售地区、产品三个维度所构成的多维数据库 对于三维数据集用图4.1所示的可视化方式表达得更清楚,但是在多维结构中并不是要观察维度结构,而是要观察由维度结构所描述的观察变量,也就是说要在这个三维结构上再添加销售数据,这就得到了一个由三维所对应的销售数据对于超过三维的多维数据集结构可以用一个多维表来显示例如,由时间、地理位置、产品和促销方式所构成的四维数据集就可以用表4-1所示的方式来表达。

这种超三维的数据集表示方式在许多数据仓库工具中都得到了采用OLAP对海量数据进行分析时,通常以多维视图作为各种前端分析工具的概念模型,为用户从多个角度考察和分析数据提供直观的支持为此,人们提出了数据立方(Data Cube)概念数据立方以多维的方式组织数据仓库中的数据,向决策支持人员提供数据的多维概念视图,直观地支持了OLAP所需的复杂多维分析 2. 维度(dimension)维度指的是分析对象的描述属性,用于表示人们观察数据的特定角度,是表达和分析信息的一种基本方法多维数据集是按照这些分析角度来进行组织数据例如,移动决策者分析的角度通常包括:时间、地域、业务品牌、业务种类、年龄段、消费层次、客户类型等决策者经常分析用户数随着时间推移而产生的变化情况,那么时间就成为了用户数上的一个维度分析,即时间维而当决策者要从地区的差异来考察用户数不同时,地区也就成了用户数上的维这些都属于决策分析的角度或分析出发点 用户决策分析角度或决策分析出发点就是数据仓库中的维度,数据仓库中的数据就是按照这些维度来组织,维也就成了数据仓库中识别数据的索引同时,数据仓库中的维还可以作为数据仓库操作过程的路径,这些路径通常位于维的不同层次结构中。

客户可以按照地理位置进行分组:街道、县、市、省,这样就可以按照街道、县、市、省的先后次序进行数据的“上卷”和“下钻”这里,所谓的数据“上卷”是指用户在数据仓库的应用中,从较低层次开始逐步将数据按照不同的层次进行概括处理;而“下钻”则是指从数据仓库中的高层数据开始逐步向低层数据探索,了解组成概括数据的具体细节 数据仓库中的维,一般具有水平层次和垂直层次水平层次由维度层次中相同级别的字段值构成,例如图4-2中的华东、华中和西南层次;垂直层次则由维度层次结构中具有不同级别的字段值构成,例如图4.2中的华东、上海层次 销售地区华东上海江苏地区华中湖北河南地区西南云南四川地区图4.2 维度层次关系 3. 度量(measure)度量值是多维数据集的核心值,是进行OLAP操作的用户所要观察分析的数据,这些数据一般是销售量、成本和费用等在一个多维数据集中可以存在多个度量,这些值是基于多维数据集中事实表的一列或多列,这些值应该是数字型的,一般具有可加性多维数据集由其所包含的度量和维度共同定义4. 维的等级(1evel of dimension)当从某个特定角度来分析数据时,往往需要在不同的细节程度上进行考察,这种描述具体细节的程度称为维的等级(1evel)。

一个维有可能具有多个等级,比较典型的如时间维,一般有年、季度、月、星期、目等不同的细节程度,这些都构成了时间维上的等级对于一个维,至少有一个“ALL"等级,用于表示最高的等级 5. 维成员值(dimension member value) 维上的一个取值称为该维的一个维成员值由于维具有层次性,因此当维具有多个等级时,维成员值由各个等级的所有取值组合而成比如,时间维由年、月、日3个等级构成,“20090101’’就是时间维的一个维成员值对一个多维数据集(数据立方体)中的数据项来说,维成员值标识了数据项在这个维上位置的描述 6. 等级成员(member oflevel) 某个维等级的具体值称为该等级的一个成员等级成员表示了该等级中所含数据的一个分类例如,“湖南省”为“地区"维“省’’等级的一个成员,也是一个特定的地区分类 7. 粒度(granulariyt) 粒度是数据仓库中数据综合程度高低的一个度量粒度越小,数据细节程度越高,综合程度越低;粒度越大,数据细节程度越低,综合程度越高在数据仓库系统中,对于不同层次的分析要求需要不同粒度的数据。

8.数据单元格 数据单元格是多维数据集的取值当在多维数据集中的每个维都选中一个维成员以后,这些维成员的组合就己确定了观察变量的值,可以表示为(维1维成员,维2维成员,…,维n维成员,变量的值) 9.聚集 聚集或聚合是指收集了基本事务数据的结构在一个立方体中包括很多层次,这些层次可以向用户提供某一层次的概括数据因为管理者在进行决策分析的过程中,并不是要观察每一个详细的数据,而是根据自已的管理范围进行总体情况的了解例如,地区销售经理想了解本地区的销售总量、未来的销售趋势、客户的类型,那么就需要按照本地区的城市、街道、产品种类和客户类型进行概括,也就是进行聚集通过聚集,形成基于维的有决策分析意义的一些数据交集 4.1.4 OLAP的多维数据分析多维分析是对多维数据集中的数据采取切片、切块等多种分析动作,以求剖析数据,是用户从多个角度,多个侧面,多个层次来观察多维数据,从而发掘数据中蕴涵的对自己有用的信息 1. 多维切片(Slice) 在多维分析过程中,如果对多维数据集的某个维选定一维成员,这种选择操作就成为切片(Slice)也即:如有(维1,维2,…,维i,…,维n,观察变量)多维数据集,对维i选定了某个维成员,则(维1,维2,…,维i成员,…,维n,观察变量)就是多维数据集(维1,维2,…,维i,…,维n,观察变量)在维i上的一个切片。

这种切片的数量完全取决于维i上的维成员的个数,如果维成员的个数越多,可以做的切片也就越多 在切片的概念中,有两个重要事实必须要了解:一个是进行切片操作的目的是使用户能够更好地了解多维数据集,通过切片的操作可以降低多维数据集的维度,使用户能将注意力集中在较少的重要维度上进行观察,也就是说能够将注意力集中在经营管理中所感兴趣的影响因素上对经营管理中的问题进行分析;另一个是多维数据集切片数量多少是由所选定的那个维的成员数量的多寡决定的 2. 多维的切块(Dice) 与切片类似,如在一个多维数据集中对两个及两个以上的维选定维成员的操作可以称为切块(Dice),即在(维1,维2,…,维i,…,维k,…,维n,观察变量)多维数据集上,对维i,…,维k,选定了维成员,则(维1,维2,…,维i成员,…,维k成员,…,维n,观察变量)就是多维数据集(维1,维2,…,维i,…,维k,…,维n,观察变量)在维i,…,维k上的一个切块显然,当i=k时,切块操作就退化成切片操作 3. 上卷(Roll-up) 上卷是对数据进行更为宏观的观察通过一个维的概念分层向上攀升或者通过维规约,对数据立方体进行聚集。

上卷操作实现维的简化操作,可将指定维的幅度缩小或删除指定维如按时间维表上卷,可以获得用户每段时间(1个季度,1年)浏览情况的总和 4. 下钻(Drill-down) 下钻是对数据进行更为详细的观察下钻操作是上卷的逆操作,通过沿着维的概念分层向下或引入新的维度值实现,下钻操作可以获得更详细的数据如对时间维度进行下钻操作,将其细化到季度,甚至可以更详细到日期 上卷和下钻的深度与维所划分的层次相对应,上卷分析的细化程度越低,粒度越大下钻分析的细化程度越高,粒度越小 5. 旋转(Pivot) 旋转又称为转轴(Rotate),其将立方体的各个维的角度进行转动转动数据的视角,提供数据的替代表示,使用户能够更加直观的显示所要查询的数据在对数据仓库的多维数据集进行显示操作过程中,用户常常希望能将多维数据集改变其显示的维的方向,也就是说进行多维数据集的旋转操作旋转操作可将多维数据集中的不同维进行交换显示,以使用户更加直观地观察数据集中不同维之间的关系如原来横坐标为时间维,纵坐标为地区维通过旋转可以使横坐标为地区维,纵坐标为时间维这样可以从另一个角度观察由时间维和地区维所构成的销售数据集,如图4.3所示。

有些OLAP还提供其他钻取操作钻过(drill across)执行涉及多个事实表的查询,而钻透(drill through)操作使用关系SQL机制,钻到数据立方体的底层,到后端关系表 此外,OLAP的其他操作还有统计表中最高值和最低值的项数,计算平均值、增长率、利润、投资回报率等 4.1.5 OLAP与OLTP的比较 OLAP与OLTP是两种不同类型的应用,二者之间的差异是多方面的OLAP数据的最终来源虽然与OLTP相同,依然是存储业务数据的DBMS,但其主要的应用基础是数据仓库;此外,二者的用户不同,使用的目的不同,因而二者数据内容的特点也不相同,OLTP与OLAP的主要区别见表4-2 4.2 多维数据库及其存储4.2.1 多维数据库多维数据库 多维数据库可以在OLAP系统中直观地表达出现实世界中的多对多关系例如,要在系统中存放两个产品(电器、服装)和不同地区(江苏、上海、北京)的销售情况,用关系数据库来存储这些数据(如表4-3所示)和用多维数据库来存储这些数据(如表4-4所示)所得到结果是不同的 由于关系数据库采用关系表达式来表达某种产品在某一地区的销售情况,而多维数据库则采用二维表格的方式来表达这些数据的关系,这就使二维表格比关系表达式所表达的关系更加清晰明了,而且所消耗的存储容量更少。

在关系数据库中对这些数据进行单项查询时,比较容易处理例如,要查询上海地区所销售电器的数量只需要进行一个简单的检索就可以了但是如果查询电器的销售总量,那就比较麻烦了,需要对关系数据库的所有记录进行查询,并且对销售数量进行汇总,此时系统的效率必然会降低,而多维数据库则只需要对库按行或列进行统计即可其性能要远优于关系数据库 在OLAP中,为了给用户提供一致的系统查询时间,常常将查询经常要用到的综合数据预先统计汇总,存储在数据库中,以加快查询的响应时间为了达到这个目的,在关系数据库中就需要增加一行汇总数据,如表4-5所示 由于关系数据库将需要进行汇总的数据均在事先完成了汇总工作,在进行查询时就不必再进行求和汇总了,只要从表中读取单个记录,就可以完成求和查询这样的数据处理很显然可以获取快速的响应时间但是在数据仓库中,如果历史数据庞大,这种事先的求和汇总也需要较长的计算时间更加糟糕的是,在产品列和销售地区列中出现的“汇总”数据项完全破坏了列的定义用户在查询过程中必须了解这种例外情况的出现 多维数据库MDDB在OLAP系统中的优势表现在查询速度和结构清晰明了上。

在MDDB中,数据可以按照行或列进行累加在MDDB中没有重复出现的信息,因此其统计速度要远远高于关系型数据库如果将汇总等数据也存储在数据库中,只要在原数据库中增加一行、一列就可以了,如表4-6所示(P88页),实现较为简单 4.2.2 多维数据库的数据存储 在多维数据库中,二维数据很容易理解,但是当维数扩展到三维或更高的维度时,多维数据库MDDB就成了一种“超立方”的结构,对其理解就产生了困难但是,在MDDB中,其数据的存储是由许多类似于数组的对象来完成的在这些对象中包含了经过高度压缩的索引和指针,利用这些索引和指针将许多存储数据的单元块联接在一起每个单元块都按照多维数组的方式存储,相互之间通过直接偏移计算进行存取在索引中只用了一个较小的数来标识单元块,因此多维数据库的索引比较小,只占用数据空间的一小部分,可以全部存放在内存中但是在多维的实际分析中,可能需要将任一维与其它维进行组合,因此需要能够“旋转”数据立方体已经切片的视图,即用多维方式显示数据 在MDDB中,并非维之间的任何组合都会产生实际的值,在实际组合中往往由于各种原因会导致某些组合没有具体的值,或值是空的或者值为零。

例如,在表4-6中,如果该公司在北京地区没有进行电器的销售活动,那么在电器行和北京列所交叉的单元格的值就是0,而不是340这就产生了多维数据库的稀疏矩阵问题,稀疏矩阵使数据库中产生大量的无数据空间,导致存储空间的浪费为此,多维数据库常常需要采用压缩技术来解决空间浪费问题 4.2.3 多维数据库与数据仓库 多维数据库为终端用户提供了一种可以对数据进行灵活访问的信息结构,利用多维数据库可以对数据进行切片、切块,动态地观察汇总数据与细节数据的关系而数据仓库中的细节数据则为多维数据库提供了非常健全和便捷的数据源,由于OLAP的应用,需要多维数据库定期刷新因此,数据要定期地从数据仓库中导入到多维数据库中业务处理系统中的数据在导入到数据仓库中时,就被集成了因此,多维数据库就不必再从业务处理系统中抽取与集成数据而且基于多维OLAP的用户,如果对细节数据的分析感兴趣,还可以通过数据仓库所保留的细节数据进行分析 在实际的应用中,数据仓库与多维数据库是有差别的首先,从所存储的数据量看,数据仓库存储了大量的数据,而多维数据库只存储了某些类型用户所需要的集成数据,在数据量上要远低于数据仓库;其次,数据仓库只允许少量的分析人员进行少量的灵活访问,而多维数据库却允许众多的用户进行大量的非预知的数据访问和分析;最后,从数据存储的时间范围看,数据仓库所存储的数据可能长达5~10年,而多维数据库中的数据则只保存大约1年左右的时间。

4.3 OLAP的类型 OLAP系统按照其存储器的数据存储格式可以分为关系OLAP(Relational OLAP)、多维OLAP(Multidimensional OLAP)和混合型OLAP(Hybrid OLAP)三种类型ROLAP基本数据和聚合数据存放在关系数据库管理系统之中;MOLAP基本数据和聚合数据均存放于多维数据库中;HOLAP综合ROLAP和MOLAP的特点,基本数据存放于关系数据库管理系统之中,而聚合数据则存放于多维数据库中 4.3.1 多维OLAP 1. MOLAP的结构多维联机分析处理(Multi-dimensional OLAP,MOLAP)是指将数据存储在多维数组的单元中,MOLAP的物理存储方式和其逻辑组织是十分相似的,MOLAP利用一个专有的多维数据库来存储OLAP分析所需的数据,数据以多维方式存储,并以多维视图方式显示在MOLAP的结构中,分散在企业内部各数据库中的数据经过ETL等步骤后提交给多维数据库这些数据在被导入多维数据库时,根据它们所属于的维度进行一系列的预处理操作,并把结果按照一定的层次结构存入多维数据库中应用过程中,用户在客户端的应用软件的界面上提交分析需求给OLAP服务器,然后由OLAP服务器检索MDDB数据库得到结果,最后返回给用户。

图4.4给出MOLAP的结构图 LoadResultSetSQLDatabase ServerMOLAP ServerMetadataRequestProcessingInfo.RequestResultSetFront-end Tool图4.4 MOLAP结构图RDBMS 2. MOLAP的优缺点 MOLAP结构的主要优点是它能迅速的响应决策分析人员的分析请求,并能将结果迅速的返回给用户端这得益于它独特的多维数据库结构以及存储器中预处理程度很高的数据(一般处理度在85%以上)在MOLAP结构中,OLAP服务器主要是通过已预处理的数据完成分析操作而这些预处理是预先定义好的,这就限制了MOLAP结构的灵活性,主要表现在以下几个方面: (1)用户很难对维数进行动态变化,每增加一个维都会使多维数据库的规模急剧增加,所需要的预处理时间也会大大增加; (2)对数据变化的适应能力较差,当数据或计算频繁变化时,其重复计算量相当大,有时还需要重新构造多维数据库; (3)处理大量细节数据的能力差,预处理的能力决定数据仓库的大小(因为预处理的结果也要存入数据仓库),由于MOLAP的预处理能力很强,这就限制了它处理大量细节数据的能力。

(4)安全性差,由于数据需下载到特定的多维数据库中,因此安全性相对较差 3. MOLAP的创建 MOLAP的创建需要经历这样几个阶段:选择功能、确定分析数值、构造分析维、定义逻辑模型 (1)选择功能在筹建MOLAP时首先要选择分析的功能是什么是进行销售收入分析,还是进行客户状况分析 (2)确定分析数值在选择了分析功能以后,需要确定为实现这些分析功能应该分析哪些数值是销售收入数据,还是库存数据,还是客户数据 (3)构造分析维确定分析数值以后,就需要构造分析维,即确定从哪些角度来分析这些分析数值,分析维一般是产品、时间、地点等在维确定了以后,还需要根据分析确定维的粒度,即时间是按年还是按季度进行分析,地区是按省还是按县进行分析 (4)定义逻辑模型在确定了MOLAP的分析对象、分析角度及分析详略程度后,就可以定义MOLAP的逻辑模型和多维数据存储的方式了 4. MOLAP的功能MOLAP在实际应用中需要为客户提供查询的快速响应能力、与多维数据库进行交互的能力、挖掘信息间的内在联系、各种模型、数据导航能力1)快速响应能力MOLAP的快速响应能力可以为用户提供良好的联机分析环境,使用户能够连续地进行联机分析,不至于过长时间的等待而打断问题分析的思路。

2)与多维数据库进行交互的能力可以使用户与数据仓库间进行交互从而完成分析决策中的预测、计划、预算等应用3)挖掘信息间的内在联系MOLAP可以利用强大的计算引擎和比较分析(例如分级、比较、分类、最大值、最小值、平均值、交叉维运算、电子表格的行计算等功能)分析数据仓库中各种信息之间的微妙关系,找出企业的运营模式4)各种模型MOLAP为满足用户决策分析的需要,应该提供各种管理决策模型,例如财务与管理模型、统计分析模型、未来趋势分析、时间序列分析、内部回报率等5)数据导航能力MOLAP为引导用户进行决策分析,需要提供沿着维处理的基点、表格、细剖与概括的数据导航能力 4.3.2 关系OLAP1. ROLAP的结构ROLAP是以关系数据库为核心的,以关系型结构进行多维数据的表示和存储在ROLAP结构中,它将多维数据库的多维结构划分为两类表:一类是事实表,用来存储数据和维的关键字;另一类是维表,对每个维至少使用一个维表来存放维的层次、成员类别等维的描述信息,且两者通过主键和外键联系起来图4.5给出ROLAP的结构图 ResultSetSQLDatabase ServerROLAP ServerMetadataRequestProcessingInfo.RequestResultSetFront-end Tool图4.5 ROLAP结构图DBMS 2. ROLAP实现的三个规则 ROLAP的实现必须遵照三个规则:支持OLAP原则、数据存储在某一个关系型数据库中、支持某种形式的聚集导航。

3.ROLAP的创建ROLAP的创建首先与MOLAP一样需要实现选择功能、确定分析数值、构造分析维、定义逻辑模型,然后还需要根据ROLAP实现的准则完成数据添加、数据管理、元数据存储、应用工具构造等操作1)数据添加在完成ROLAP模型的构造并且完成数据仓库的创建后,需要添加合适的聚集数据和概括数据到数据库中2)数据管理为有效地管理关系型数据库,需要根据实际应用的需要将较大的数据库分解成可管理的部分,添加生成的索引或位图索引以提高ROLAP的处理效率3)元数据存储ROLAP的应用必须依赖元数据的生成与存储,元数据主要有维的定义、维到关系表格的映射、维间的层次关系、概括和聚集数据的定义与描述、概括与聚集数据的计算公式4)应用工具构造ROLAP的应用工具是用户使用OLAP的利器需要利用数据的应用视图或维视图构造客户工具,使客户工具能够查询OLAP并实时检查元数据用户能够创建多种SELECT语句或有关的子查询,并迅速提交给关系数据库数据库能够利用查询结果进行多维操作,并能够实现计算、公式、数据到应用描述的转换,将结果返回给客户工具,进一步处理后显示给用户 4. ROLAP的功能 ROLAP要能够支持决策分析,就需要提供基于关系数据的商业视图、维层次支持、模型的自定义、细剖细节层次、数据的备份恢复和安全功能、元数据导航、OLAP服务器性能的协调等功能。

5. ROLAP的多维表示方法 (1)星型模式在关系数据库中的表示 多维数据库在关系数据库中表示时,需要分成两大类型:一类是用于存储事实度量值与各个维主键的事实表;另一类是维表,在维表中至少要保存描述该维的层次关系、成员的类别等元数据事实表通过每一个维的主键值与维表联系在一起,这样就构成了如图4.6所示的“星型模式” 产 品 维表产品ID销售商ID地址ID时间ID销售数量销售成本总收入地理位置维表时间维表销售商维表产品ID时间ID销售商ID地址ID图4.6 星型模式的关系数据库表示 在图中心的销售情况表是一个事实表,在表中存储了产品ID、销售商ID、地址ID、时间ID四个维表的主键通过这四个主键将四个维表与事实表联系在一起,构成了“星型模式”也就是说,应用二维关系表实现了多维数据模式构成这种星型模式后,就可以在关系数据库中模拟OLAP中的多维查询,并通过维表的主键,对事实表和维表进行连接操作在一次查询操作中,可以获得查询对象的事实值以及对数据的多维描述(对应维上的维成员)在这种ROLAP模式中,用户和分析人员可以应用存储在维表中的用户习惯描述(元数据)来说明一个查询需求,而这种需求可以被ROLAP依靠维表转换成维的代码或值,完成用户的最终需求请求。

(2)雪花模式在关系数据库中的表示 由于在管理决策中,管理人员了解所决策的对象时,常常要多角度、多层次地观察决策对象,也就是说在OLAP中需要多层次观察维度由于使用OLAP的现实,常常有包含维层次和维类别的复杂要求对这种复杂的维关系,如果仅用一个维表来描述,必然会产生大量的冗余数据为解决由于数据的冗余而造成的存储空间浪费,可以用多张维表来描述复杂的维关系例如,在产品维上划分产地类、销售地类、用途类、产品类等若干类,这样在星型模式的角上就出现了分支,也就是说星型模式变成了“雪花模式”在图4.7中所示的“雪花模式”就是在图4.6的星型模式上的产品维度上演变而来的 地址ID产品维表产品ID产品名称产品颜色ID产品颜色公司ID公司名称产品商标ID商标名称产品类别ID产品类别名称产品ID公司ID产品颜色ID产品商标ID产品类型ID产品ID销售商ID地址ID时间ID销售数量销售成本总收入产品ID时间维表销售商维表时间ID销售商ID地理位置维表图4.7 雪花模式的关系数据库表示 4.3.3混合型OLAP 混合型联机分析处理(Hybrid OLAP,HOLAP)取MOLAP和ROLAP两者的优点,即利用MOLAP的快速响应特点在MOLAP中保存聚集的数据以加快访问分析处理,而利用ROLAP数据存储容量不受限制的优点在其中保存详细的数据。

另外,当分析处理到MOLAP中没有的统计数据时,系统自动透明地将多维查询分析处理的语句转变为SQL查询语句并且发到关系数据库,由关系数据库进行查询并将结果返回用户,其体系结构如图4.8所示 聚合查询即席查询转化为SQL语句数据仓库OLAP服务器MOLAPROLAP用户图4.8 HOLAP体系结构详细查询HOLAP的优点:(1) 性能上尽管没有MOLAP快但还是较优化的;(2) 对于用户的访问分析处理同样能非常快速地进行响应;(3) 利用关系数据库存储细节数据,所以没有容量上的限制HOLAP的缺点:一些数据的预聚集程度需要用户控制 4.3.4 MOLAP与ROLAP的比较 4.4 OLAP的体系结构 OLAP是建立在客户机/服务器(Client/Server,C/S)结构之上的由于它要对来自基层的操作数据进行多维表示或预处理,因此它不同于传统OLTP软件的两层客户/服务器结构,而是三层客户服务器结构,如图4.9所示: OLAP技术是通过对数据仓库进行综合、统计、分析,以专业报表、查询结果的形式提供给管理人员的决策过程,并最终形成决策数据OLAP采用多用户的三层C/S结构,它由数据库、OLAP服务器、OLAP客户机及客户端应用程序构成。

这种结构的优点在于将应用逻辑、GUI及DBMS严格地区分开,复杂的应用逻辑集中存放在OLAP服务器上,系统的主要处理,包括数据存取、后台数据处理、报表的预处理等都由OLAP服务器上的应用程序完成,而不是由客户端完成 4.5 OLAP中的索引技术 数据仓库是以查询为中心的系统,为提供快速有效的数据访问,通常使用索引技术对OLAP优化查询 常用的索引技术: 1.B-Tree索引 2.位图索引 3.标识符索引 4.6 OLAP的评价标准4.6.1 OLAP的衡量标准的衡量标准 对于OLAP一般都以数据库之父E.E Codd提出的18条准则为评价标准这些标准主要包括: (1)多维性 (2)直观性 (3)可访问性 (4)解释性批处理提取 (5)OLAP分析模型 (6)客户机/服务器结构性 (7)透明性或开放性 (8)多用户性 (9)处理非正规数据性 (10)存储OLAP结果 (11)提取丢失值 (12)处理丢失值 (13)弹性报告 (14)一致性能报告。

(15)对物理层的自动调整 (16)通用维 (17)无限维与聚合层 (18)无限制跨维操作 4.6.2 OLAP服务器和工具的评价标准 目前,市场上所提供的OLAP工具很多,为了能够在OLAP的设计应用中选择适当的产品,必须从OLAP所具有的功能、访问性能、引擎功能、管理能力等方面对OLAP工具进行评价 4.7 OLAP的前端展现4.7.1 OLAP工具工具 各大数据库厂商都提供了各自的OLAP解决方案,如Cgonos的PowerPlay,Microsoft的Analysis Services,IBM的DB2 OLAP server等等常见的OLAP产品及其特点如表4-12所示(见P108页) 4.7.2 OLAP结果的展现方法 报表与图形是OLAP系统向用户展现分析结果的两种主要方法 多维数据报表可以非常详细地和向用户提供分析的结果,用户可在报表中找到所需的各种数据,从而为实施决策提供帮助 多维报表虽然详细,但缺乏直观性,而用户却往往并不关心数据的细节,而只需要知道各种因素对问题结果的影响程度因此,图形方式(如饼图、柱状图等)比多维报表更受欢迎。

4.8 小结 本章介绍了OLAP的简明定义、多维分析的基本概念、OLAP的多维数据分析的基本操作、多维数据库及其存储、OLAP的体系结构、OLAP的评价标准以及OLAP的前端展现工具等方面的基本知识 联机分析处理(OLAP)是数据仓库上的分析展示工具,OLAP主要有两个特点:一是性即联机,体现为对用户请求的快速响应和交互式操作;另一特点是多维分析,数据的多维视图使用户能从多角度、多侧面、多层次的查看包含在数据中的信息 OLAP系统按照其存储器的数据存储格式可以分为关系OLAP(Relational OLAP)、多维OLAP(Multidimensional OLAP)和混合型OLAP(Hybrid OLAP)三种类型ROLAP基本数据和聚合数据存放在关系数据库管理系统之中;MOLAP基本数据和聚合数据均存放于多维数据库中;HOLAP综合ROLAP和MOLAP的特点,基本数据存放于关系数据库管理系统之中,而聚合数据则存放于多维数据库中 为提供快速有效的数据访问,通常使用索引技术对OLAP优化查询大多数数据库管理系统将B-Tree索引技术作为默认的索引建立方法,因为它的数据检索速度快,易于管理。

但对于拥有海量数据的数据仓库,B-Tree索引技术却显得并不灵活,于是人们探寻新的索引技术(如:位图索引、标识符索引)来解决此问题 下课了休息一会儿休息一会儿。

下载提示
相似文档
正为您匹配相似的精品文档
相关文档