谈谈联机分析处理.docx
《谈谈联机分析处理.docx》由会员分享,可在线阅读,更多相关《谈谈联机分析处理.docx(15页珍藏版)》请在冰豆网上搜索。
谈谈联机分析处理
关于数据仓库与联机分析处理的概述
一、数据仓库及数据库的概念及其特点
1、数据仓库的概念及其特点
“什么是数据仓库?
”这恐怕是每一个刚刚开始接触数据仓库的技术人员都会提出的一个问题。
有人认为数据仓库就是一个大的数据库,也有人认为数据仓库是一项数据管理和分析的技术。
这些定义都从一定的侧面反映了数据仓库的概念,但并不全面。
目前,业界公认的数据仓库定义是由数据仓库之父W.H.Inmon在《BuildingtheDataWarehouse》一书中给出:
“数据仓库是面向主题的、集成的、随时间变化的、稳定的数据集合,用以支持管理中的决策制定过程。
”
正如Inmon所描述的,数据仓库具有如下特点:
(1)数据仓库的数据是面向主题的
与传统数据库面向应用进行数据组织的特点相对应,数据仓库中的数据是面向主题进行组织的。
所谓主题,是指在较高层次上将企业信息系统中的数据综合、归类并进行分析利用的抽象。
在逻辑意义上,它是对应企业中某一宏观分析领域所涉及的分析对象。
(2)数据仓库的数据是集成的
建立数据仓库的主要目的就是为用户提供易于访问的商业信息。
为了减少用户查询的响应时间,应该把数据从数据源中提取出来,放到数据仓库中去。
在数据进入数据仓库之前,必须经过加工和集成,使原始数据结构做一个从面向应用到面向主题的大转变。
(3)数据仓库的数据是不可更新的
数据仓库的数据主要供企业决策分析之用,所涉及的数据操作主要是数据查询,一般情况下并不进行修改操作。
数据仓库的数据不可更新使得数据仓库管理系统DWMS相比数据库管理系统DBMS而言要简单得多,同时也使我们可以对数据仓库进行最大限度的性能优化。
(4)数据仓库的数据是随时间不断变化的
数据仓库中的数据不可更新是针对应用来说的,也就是说,数据仓库的用户进行分析处理时是不进行更新操作的。
但并不是说,在从数据集成输入数据仓库开始到最终被删除的整个数据生存周期中,所有的数据仓库数据都是永远不变的。
数据仓库会随时间的变化不断增加新的数据内容和删去过时的数据内容。
当然,数据仓库通常还具有一些其它的特点,如数据仓库中的数据量很大、数据仓库对系统软硬件的要求较高等等。
2、数据仓库与数据库的关系及比较
传统的数据库作为数据管理的手段,主要面向一个或一组记录的查询和修改,为企业的特定应用服务,人们关心的是响应时间、数据的安全性和完整性。
为此要求数据库提供完善的数据锁、事务日志和并发控制等机制,以便安全可靠地处理具体业务。
数据仓库是在数据库基础之上发展起来的,数据仓库的作用就是为复杂的数据分析和高层决策提供支持。
尽管现有的数据仓库大多还是采用传统的关系数据库或改进后的关系数据库来实现,但由于两者面向的应用截然不同,因此不管是在数据模型的设计上还是在数据的物理组织上都存在着相当大的差异,如表1所示。
表1数据仓库与数据库的对比表
对比内容
数据仓库
数据库
数据目标
分析应用
面向业务操作程序、重复处理
数据内容
历史的、综合的、提炼的数据
当前细节数据
数据特征
相对稳定
动态更新
数据组织
面向主题
面向应用
数据有效性
代表历史的数据
存取时准确
访问特点
分析驱动(访问路径灵活多变)
事务驱动(访问路径相对固定)
数据访问量
一次操作数据量大
一次操作数据量小
使用频率
中到低
高
响应时间要求
数秒或数分钟以上
秒级
二、基于数据仓库的决策支持系统
自从Inmon首次提出数据仓库概念以后,数据仓库及其相关技术日益成熟,客观上带动了高性能和并行技术以及数据库中的知识发现等多领域的巨大进步。
数据库技术的发展和激烈的市场竞争为解决DSS问题提供了可能,人们开始提出了以数据仓库为基础、OLAP和数据挖掘工具为手段的一整套可操作、可实施的解决方案。
以数据仓库为核心的决策支持系统的结构如图1所示。
图1基于数据仓库的决策支持系统的结构
数据库、数据仓库和共用数据接口是系统的数据管理部分,构成了整个系统的核心和基础,为上层应用提供数据。
方法库、模型库、知识库、数据挖掘工具、多维分析工具(OLAP工具)和统计查询工具共同构成了前端分析工具层,相互配合协调,完成用户的决策处理任务。
管理工具主要完成系统的模型维护、数据仓库元数据管理、数据提取任务的管理等任务。
在这种新的DSS构架中,数据仓库、OLAP、数据挖掘和数据可视化技术具有内在的统一性,很好地解决了相互之间的衔接问题。
数据仓库为OLAP和数据挖掘提供充实可靠的数据,数据挖掘所发现的知识可以用于指导OLAP的多维分析,而OLAP分析得出的新知识也可以补充到系统的知识库中。
如下图:
数据仓库与OLAP的关系。
这种新的DSS构架的重要意义在于重新揭示了信息的本质,表明了信息系统的设计观念从处理驱动到数据驱动的转变。
过去的信息系统以大量复杂的处理过程和算法为特征,数据在这些处理中产生。
而在未来的时代,信息的重点将转移到数据模式分析,信息处理技术将随数据分析处理的需求而不断进步。
三、联机分析处理(OLAP)概述
联机分析处理,英文名称为On-LineAnalysisProcessing,简写为。
随着数据库技术的发展和应用,数据库存储的数据量从20世纪80年代的兆(M)字节及千兆(G)字节过渡到现在的兆兆(T)字节和千兆兆(P)字节,同时,用户的查询需求也越来越复杂,涉及的已不仅是查询或操纵一张关系表中的一条或几条记录,而且要对多张表中千万条记录的数据进行数据分析和信息综合,关系数据库系统已不能全部满足这一要求。
操作型应用和分析型应用,特别是在性能上难以两全,人们常常在关系数据库中放宽了对冗余的限制,引入了统计及综合数据,但这些统计综合数据的应用逻辑是分散而杂乱的、非系统化的,因此分析功能有限,不灵活,维护困难。
在国外,不少软件厂商采取了发展其前端产品来弥补关系数据库管理系统支持的不足,他们通过专门的数据综合引擎,辅之以更加直观的数据访问界面,力图统一分散的公共应用逻辑,在短时间内响应非数据处理专业人员的复杂查询要求。
1993年,E.F.Codd(关系数据库之父)将这类技术定义为“联机分析处理”。
联机分析处理是共享多维信息的、针对特定问题的联机数据访问和分析的快速软件技术。
它通过对信息的多种可能的观察形式进行快速、稳定一致和交互性的存取,允许管理决策人员对数据进行深入观察。
决策数据是多维数据,多维数据就是决策的主要内容。
OLAP专门设计用于支持复杂的分析操作,侧重对决策人员和高层管理人员的决策支持,可以根据分析人员的要求快速、灵活地进行大数据量的复杂查询处理,并且以一种直观而易懂的形式将查询结果提供给决策人员,以便他们准确掌握企业(公司)的经营状况,了解对象的需求,制定正确的方案。
联机分析处理具有灵活的分析功能、直观的数据操作和分析结果可视化表示等突出优点,从而使用户对基于大量复杂数据的分析变得轻松而高效,以利于迅速做出正确判断。
它可用于证实人们提出的复杂的假设,其结果是以图形或者表格的形式来表示的对信息的总结。
它并不将异常信息标记出来,是一种知识证实的方法。
它可以根据分析人员的要求,迅速灵活地对当量的数据进行复杂的查询处理,并以直观的容易理解的形式将查询结果提供给各种决策人员,使他们能够迅速准确地掌握企业的运营情况,了解市场的需求。
OLAP具有两个重要的特点:
一是在线性,体现为对用户请求的快速响应和交互式操作;二是多维分析,也就是说,OLAP展现在用户面前的是一个多维视图,使用者可以对其进行各种多维分析操作。
下面我们具体介绍OLAP的多维分析特性。
在实际的决策制定过程中,决策者需要的不是某一指标单一的值,而是希望从多个角度或者从不同的考察范围来观察某一指标或多个指标,通过分析对比,从而找出这些指标间隐藏的内在关系,并预测这些指标的发展趋势,即决策所需的数据总是和一些分析角度和分析指标有关。
OLAP的主要工作就是将数据仓库中的数据转换到多维数据结构中,并且对上述多维数据结构执行有效且非常复杂的多维查询。
四、OLAP的多维分析以及特性
1、基本概念
(1)维
维是人们观察数据的特定角度,它是一种高层次的类型划分。
例如,企业常常关心产品销售数据随时间推移而产生的变化情况,这时他是从时间的角度来观察产品的销售,所以时间就是一个维(时间维)。
(2)维的层次
人们观察数据的某个特定角度(维)还可以存在细节程度不同的多个描述方面,我们称这多个描述方面为维的层次。
例如描述时间维时,可以从日、月、季度、年等不同的层次来描述,那么日、月、季度、年就是时间维的层次。
同一维的维层次结构可简可繁,这主要是因为不同分析应用对数据组织的详略程度的要求不同。
在某些维中可能存在着完全不同的几条层次路径,例如时间维通常存在日历层次路径和财政层次路径,如图2所示。
图2时间维的层次路径图
(3)维成员
维成员是维的一个取值。
如果一个维是多层次的,那么该维的维成员是在不同维层次取值的组合。
例如,我们考虑时间维具有日、月、年三个层次,那么“2002年12月10日”就构成了时间维的一个维成员。
一个维成员并不一定在每个维层次上都要取值,例如,“2002年12月”、“2002年”都是时间维的维成员。
(4)度量
度量是我们需要分析的目标数据,有时也被称为变量。
例如,用来反映一个企业经营效益好坏的销售量、销售额和库存量等。
(5)多维数据集
多维数据集是OLAP的核心,有时也称为立方体或超立方。
多维数据集是由一组维和度量组成的,可以用一个多维数组来表示:
(维1,维2,……,维n,度量)。
例如,按时间、地区、专利类型组织起来的专利申请量多维数据集可以表示为:
(时间,地区,专利类型,专利申请量)。
对于三维数据集我们可采用图3的可视化方式表达得更清楚。
如果我们在上述三维数据集的基础上再添加申请人类型维,就得到一个四维结构,当然这种维数超过三维的多维数据结构很难用可视化的方式表达清楚。
图3以时间、地区和专利类型三个维构成的多维数据集
(6)数据单元
多维数据集的取值为数据单元。
当在多维数据集中的每个维上都选中一个维成员以后,这些维成员的组合就唯一确定了度量的值。
数据单元也就可以表示为:
(维1成员,维2成员,……,维n成员,度量值)。
例如,在图2中时间、地区和专利类型维上分别选取维成员“1999年”,“北京”,“发明”,则可以唯一确定观察度量“专利申请量”的一个取值2062,这样该数据单元可表示为(1999年,北京,发明,2062)。
2、OLAP的多维分析操作
多维分析操作是指对以多维形式组织起来的数据采取切片、切块、旋转等各种分析操作,以求剖析数据、使最终用户能从多个角度、多个侧面去观察数据库中的数据、从而深入地了解包含在数据中的信息、内涵。
多维分析的基本操作有:
(1)切片(Slice)
切片操作是在给定的多维数据集的某一个维上选定一维成员,从而得到一个多维数据子集的动作。
如果有(维1,维2,……,维i,……,维n,度量)多维数据集,对维i选定了某个维成员,那么(维1,维2,……,维i成员,……,维n,度量)就是多维数据集(维1,维2,……,维i,……,维n,度量)在维i上的一个切片。
对于图2.4所示的三维数据集,我们选定专利类型维上的一个维成员(设为“发明”),就得到了在专利类型维上的一个切片,如图4所示。
图4切片
很明显,一次切片使原来的维数减一,所以得到的切片并不一定是二维的“平面”,其维数取决于原来的多维数据集的维数。
(2)切块(Dice)
在多维数据集的某一维上选定某一区间的维成员的操作称为切块,即限制多维数据集的某一维的取值区间。
(3)旋转(Rotate)
旋转是一种目视操作,它转动多维数据集的视角,提供数据的替代表示。
旋转操作可以将多维数据集的不同维进行交换显示,从而使用户更加直观地观察数据集中不同维之间的关系。
图5的例子是把一个横向为地区,纵向为时间和专利类型的报表旋转成为横向为时间和地区,纵向为专利类型的报表。
图5旋转
(4)钻取(Drill)
钻取分为向下钻取(drill-down)和向上钻取(drill-up)。
下钻操作是由不太详细的高层次汇总数据分解为更详细的低层次数据。
上钻是下钻的逆操作,它是通过一个维的概念分层向上攀升,或者通过维归约,在多维数据集上进行聚集。
在图6中,(a)的例子是对时间维中的维成员“2000年”下钻以获取2000年各月的申请量数据。
(b)的例子是对按月汇总数据的报表上钻以获取按年汇总数据的报表。
图6钻取
(5)其它OLAP操作
在OLAP分析操作中,还有“钻过”(drill-across)和“钻透”(drill-through)等。
“钻过”涉及多个事实表的查询;“钻透”操作使用关系SQL机制,钻到多维数据集的底层,到后端关系表。
其它的OLAP操作还包括计算统计表中的最高或最低N项、平均值、移动平均值、增长率、各类百分比等。
3、多维分析特性
1.快速性.用户对OLAP的快速反应能力有很高的要求。
2.可分析性.OLAP系统应能处理与应用有关的逻辑与统计分析
3.多维性.多维性是OLAP的关键属性。
系统能够提供对数据分析的多维视图和多维分析。
4.信息型.不论数据量有多大,也不管数据存储在何处,OLAP系统应能及时获得信息,并且管理大容量信息。
五、OLAP的12准则
准则1:
OLAP模型必须提供多维概念视图。
OLAP必须能够提供多维概念的视图,从而使分析员能够从多种角度考查和分析系统(企业)的运营情况。
OLAP必须实现数据切片、切块、旋转、钻取、聚合等基本的数据分析动作。
准则2:
透明性准则
透明性包括两层含义,一是OLAP在体系结构中的位置对用户是透明的,二是OLAP的数据源对用户应当是透明的,用户只需使用熟悉的查询工具进行查询,而不必关心OLAP提供的数据是从何处抽取来的。
准则3:
存取能力准则
OLAP系统不仅能进行开放的存取,而且还提供高效的存取策略。
准则4:
稳定的报表性能
OLAP产品对于数据维数和数据维度层次的增加应当保持比较稳定的性能,即当数据维数和数据维度层次增加时,提供给最终分析员的报表能力和响应速度不应有明显的降低。
准则5:
客户/服务器体系结构
OLAP建立在客户/服务器的体系结构下,服务器端负责数据的抽取、数据存取、数据管理等复杂的功能,客户端实现较为简单的应用逻辑和用户界面。
准则6:
Generticdimensionality---维的等同性准则
每个数据维度应该具有等同的结构和操作能力
准则7:
动态稀疏矩阵处理准则
OLAP需要提供高效存取数据的能力,动态稀疏矩阵处理是实现高效存取的重要技术。
该准则包括两层含义:
第一,对任意给定的稀疏矩阵,存在一个最优的物理视图,该视图能提供最大的内存效率和矩阵处理能力;稀疏度是数据分布的一个特征,不能适应稀疏度要求的数据分布,将会导致快速、高效操作的失效。
第二,OLAP工具应当将基本物理数据单元配置给可能出现的维的子集,同时还需要提供多种动态可变的存取机制。
比如B-Tree索引、散列、直接地址计算或者是多种技术的综合。
使用这些技术的好处是存取速度将不会受数据维度的增减、数据集的大小而发生大的波动。
准则8:
多用户支持能力准则
多个用户能够同时对一个OLAP分析模型进行并行操作,或者能够同时在同一个企业数据上建立不同的分析模型,为此OLAP工具应当提供并发访问功能,并且需要确保数据的一致性、完整性和安全性。
准则9:
非受限的跨维操作
在多维数据分析中,所有维的生成和处理都是平等的。
如果用户定义了维度的层次关系,则OLAP产品必须自动地提供相关层次综合数据的计算方法,而不是要求最终用户定义计算的行为。
准则10:
直观的数据处理
直观的数据处理要求用户以直观易懂的方式对数据进行操作,从而使数据的内涵更容易为用户所感知。
准则11:
灵活的报表生成
报表的格式可以按照任意维度、任意层次的组合来生成,这实际是对准则1的另一种补充。
准则12:
非受限的维与维的层次
透明性准则
存取能力准则
动态稀疏矩阵处理准则
稳定的报表性能
客户机/服务器体系结构
多用户支持能力准则
OLAP工具应当支持不少于15个维度的数据模型,而且应当让数据分析人员可以进行各种维度各种层次的组合。
透明性准则
存取能力准则
动态稀疏矩阵处理准则
稳定的报表性能
客户机/服务器体系结构
多用户支持能力准则
图7OLAP的12准则关系
六、OLAP的分类
如图8所示按照不同方式对OLAP进行的分类:
图8OLAP的分类
MOLAP和ROLAP(关系型联机分析处理)是目前使用最多的两种OLAP技术,由于它们完全不同的数据表示和存储方案,从而导致了两者在不同方面各有优缺点。
下面我们从三个方面来对它们进行比较:
(1)查询性能
MOLAP的查询响应一般较快,这主要是因为多维数据库在装载数据时,预先做了大量的计算。
而在ROLAP中进行查询分析,通常要在事实表和维表之间建立复杂的表连接,响应时间往往难以预计。
虽然ROLAP可以通过构造索引和聚集表来提高响应的速度,但查询性能仍然难以预测。
(2)分析能力
由于MOLAP能够清晰地表达OLAP中的多维数据概念,具有分析的优势。
但多维数据库作为一种新兴技术,还缺乏统一的标准,每个多维数据库都有自己的专用客户端接口。
ROLAP由于受到SQL语言的约束,分析效果往往不如MOLAP。
用户的分析请求首先由ROLAP服务器转化为SQL语句,再交由RDBMS处理,RDBMS返回的结果通常还需要附加的应用程序进行多维处理后才返回给用户。
(3)数据存储和管理
MOLAP以多维数据库为核心,数据管理主要以维及维成员为主,大多数多维数据库产品提供了单元级控制,数据封锁可以达到单元级。
这些管理控制均由多维数据库中的数据管理层来实现,一般不易绕过。
ROLAP以传统的关系数据库系统为基础,安全性及存取控制基于表,封锁基于表、页面或行。
由于这些同应用中的多维概念不直接相关,ROLAP工具必须提供额外的安全及存取控制管理,并且用户可能绕过ROLAP的安全机制直接访问数据库中的数据。
MOLAP由于数据预处理程度高,随着维数的增加会使多维数据库的规模急剧增长,不能很好地适应维数的动态变化。
而ROLAP由于充分利用了现有关系数据库的成熟技术,预综合程度也具有很大的灵活性,处理大数据量和多维数的能力明显强于MOLAP。
同样,由于MOLAP预综合程度高,当数据或计算变化频繁时,有时还需要重新构建多维数据库,因此MOLAP所需要的数据加载时间也比较长。
相比之下,ROLAP的数据预处理程度比较低,数据加载时间也较短,能保持较快的数据刷新周期。
从上面的分析中我们可以看出MOLAP和ROLAP各有优缺点,但它们提供给用户的分析功能基本上是一致的。
在设计OLAP时,是采用MOLAP还是采用ROLAP需要根据具体情况而定,但应用的规模是一个主要的因素。
如果需要建立一个大型的、功能复杂的企业级OLAP应用,最好选择ROLAP。
如果需要建立一个目标单一、维数较少的数据集市,MOLAP可能就是一个较佳的选择。
由于MOLAP和ROLAP在实际应用中各有千秋,人们自然希望能把两者的优点结合起来。
近年来出现的HOLAP(HybridOLAP)就是对ROLAP和MOLAP优点的综合,既有处理大规模数据的能力,又可以提供很快的响应速度。
HOLAP实现的基本策略就是将聚集数据存放在多维数据库中,提高访问的速度,而将最底层的细节数据以关系数据库的形式存放,解决多维数据库存储效率不高的缺点。
七、关于联机分析处理的实验核心步骤
(1)编辑多维数据集
(2)浏览多维数据集数据
(3)编辑多维数据集
(4)钻取多维数据
八、小结
本文对数据仓库、联机分析处理(OLAP) 、在决策支持系统中的作用、地位及其应用上的局限性进行了探讨, 对两者间的相互关系进行研究。
认为在数据仓库和OLAP之间存在着单向支持的关系。
研究清楚数据仓库和OLAP两者之间的关系, 将更好地指导企业建立以数据仓库、OLAP为基本框架的决策支持统, 有助于企业采取更广泛、更全面的视角, 对更长时间内的与市场营销相关的数据进行有效地组织, 通过对数据仓库中所蕴含的信息进行分析, 帮助决策者了解情况, 掌握有价值的决策息, 提高决策水平。
八、参考文献
[1] Codd E F, Codd S B, Salley C T. Providing OLAP (online analytical processing) to user-analysts:
an IT mandate. E f codd & Associates, 1998
[2] Thomsen E. OLAP Solutions:
Building Multidimensional Information Systems, 2nd Edition. Hoboken:
John Wiley & Sons, 2002
[3]林杰斌,等.数据挖掘与OLAP理论与实务[M].北京:
清华大学出版社,2003.