数据仓库和联机分析处理Word格式文档下载.docx
- 文档编号:21425670
- 上传时间:2023-01-30
- 格式:DOCX
- 页数:27
- 大小:323.13KB
数据仓库和联机分析处理Word格式文档下载.docx
《数据仓库和联机分析处理Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《数据仓库和联机分析处理Word格式文档下载.docx(27页珍藏版)》请在冰豆网上搜索。
数据仓库面向整个企业,不管是规模还是成本常常是巨大的。
这时候,一种小型的、面向部门或工作组的数据仓库——数据集市就应运而生。
不少人认为数据仓库就是数据集市的集合,这种观点是错误的,正如数据仓库之父Inmon在1998年所说:
“你可以在大海中捕到很多的小鱼并堆积起来,但它们仍然不是鲸。
数据集市是指具有特定应用的小型数据仓库,它专注于特定的主题域、特定的部门或特定的业务需求,而数据仓库中存储的则是整个企业内非常详细的数据[5,6]。
数据集市的结构通常比较简单,数据量也少,所以管理起来也比较容易。
在一个企业中,可能存在多个数据集市,它们分别按照所属的部门业务分类来组织数据,这些数据集市可以位于同一物理平台上,也可以分布于不同的物理平台。
而一个企业通常只有一个面向全局的数据仓库。
数据集市有两种——独立的数据集市和从属的数据集市。
独立的数据集市根据各自特定的业务范围直接到各数据源中提取相关数据,而从属的数据集市则需要一个中央的数据仓库来支持,这个中央数据仓库为所有的数据集市提供数据。
1.3数据仓库与数据库的关系及比较
传统的数据库作为数据管理的手段,主要面向一个或一组记录的查询和修改,为企业的特定应用服务,人们关心的是响应时间、数据的安全性和完整性。
为此要求数据库提供完善的数据锁、事务日志和并发控制等机制,以便安全可靠地处理具体业务。
数据仓库是在数据库基础之上发展起来的,数据仓库的作用就是为复杂的数据分析和高层决策提供支持。
尽管现有的数据仓库大多还是采用传统的关系数据库或改进后的关系数据库来实现,但由于两者面向的应用截然不同,因此不管是在数据模型的设计上还是在数据的物理组织上都存在着相当大的差异,如表2.1所示[5,6,8]。
表2.1数据仓库与数据库的对比表
对比内容
数据仓库
数据库
数据目标
分析应用
面向业务操作程序、重复处理
数据内容
历史的、综合的、提炼的数据
当前细节数据
数据特征
相对稳定
动态更新
数据组织
面向主题
面向应用
数据有效性
代表历史的数据
存取时准确
访问特点
分析驱动(访问路径灵活多变)
事务驱动(访问路径相对固定)
数据访问量
一次操作数据量大
一次操作数据量小
使用频率
中到低
高
响应时间要求
数秒或数分钟以上
秒级
1.4决策支持系统与数据仓库
在讨论联机分析处理(OLAP)之前,我们先回顾一下更广泛的决策支持系统(DSS)的产生和发展过程,这是因为OLAP作为DSS中一个得到广泛应用的部分,其产生和发展与DSS的发展有着密不可分的关系。
1.4.1传统的决策支持系统
决策支持系统是在管理信息系统和运筹学的基础上发展起来的,以支持用户的决策为目的的集成系统[5]。
最初,人们认为决策支持系统可以作为一个人工智能系统,综合利用各种数据、信息、知识、特别是模型技术,以辅助各级决策者解决半结构化决策问题的人机交互系统。
因此早在上个世纪八十年代,人们就提出了基于数据库、模型库和方法库的决策支持系统框架,如图2.1所示[9]。
图2.1决策支持系统“三库”结构
由于数据资源和分析工具的缺乏等原因,分析模型和算法的设计没有坚实的数据基础,而且对于系统的模型提炼和建立方法库的难度都超出了人们的设计能力。
这时的决策支持系统,理论研究多于系统建设,概念方法的探讨多于实际工具的研制,未能达到人们预期的效果,只有少数系统取得了成功。
进入上个世纪九十年代后,由于企业对数据库的广泛应用,企业的数据库积累了大量数据,而如何从这些数据中提炼出有效信息来指导企业的经营决策成了大企业的迫切要求。
决策支持系统重新浮出水面。
通过总结以前的经验和教训,人们认识到人在决策支持系统中的作用是无法替代的,计算机在现阶段的主要任务是利用其高速的运算能力,对系统中的海量数据进行及时、准确、快速地计算和分类,从而向决策者提供信息,而且能从提炼的这些信息中概括出规律性的规则,协助决策者及时作出合理的决策。
1.4.2基于数据仓库的决策支持系统
自从Inmon首次提出数据仓库概念以后,数据仓库及其相关技术日益成熟,客观上带动了高性能和并行技术以及数据库中的知识发现等多领域的巨大进步。
数据库技术的发展和激烈的市场竞争为解决DSS问题提供了可能,人们开始提出了以数据仓库为基础、OLAP和数据挖掘工具为手段的一整套可操作、可实施的解决方案。
以数据仓库为核心的决策支持系统的结构如图2.2所示[10]。
图2.2基于数据仓库的决策支持系统的结构
数据库、数据仓库和共用数据接口是系统的数据管理部分,构成了整个系统的核心和基础,为上层应用提供数据。
方法库、模型库、知识库、数据挖掘工具、多维分析工具(OLAP工具)和统计查询工具共同构成了前端分析工具层,相互配合协调,完成用户的决策处理任务。
管理工具主要完成系统的模型维护、数据仓库元数据管理、数据提取任务的管理等任务。
在这种新的DSS构架中,数据仓库、OLAP、数据挖掘和数据可视化技术具有内在的统一性,很好地解决了相互之间的衔接问题。
数据仓库为OLAP和数据挖掘提供充实可靠的数据,数据挖掘所发现的知识可以用于指导OLAP的多维分析,而OLAP分析得出的新知识也可以补充到系统的知识库中。
这种新的DSS构架的重要意义在于重新揭示了信息的本质,表明了信息系统的设计观念从处理驱动到数据驱动的转变。
过去的信息系统以大量复杂的处理过程和算法为特征,数据在这些处理中产生。
而在未来的时代,信息的重点将转移到数据模式分析,信息处理技术将随数据分析处理的需求而不断进步。
1.5联机分析处理(OLAP)
数据仓库是进行分析决策的基础,但它只提供数据的存储管理和基本的数据检索能力,强大的分析功能还要靠前端强有力的分析工具来执行。
目前,数据仓库的分析工具主要可分为以下两类:
(1)查询工具:
这类工具对数据仓库的查询不只是简单地查询记录级数据,还包括了许多对查询结果进行分析处理的功能。
查询工具中最典型的要属多维分析工具(OLAP工具),它可以对数据的多种可能的观察形式进行快速、一致和交互性的存取,以便于用户对数据进行深入的分析和观察。
(2)数据挖掘工具:
主要用于从大量数据中发现数据模式,预测趋势和行为。
本节将对专利审查联机分析处理系统中使用的OLAP技术进行详细介绍。
1.5.1OLAP的出现
联机分析处理(On-LineAnalyticalProcessing,OLAP)是E.F.Codd在1993年正式提出的。
当时,Codd认为联机事务处理(OLTP)不能满足终端用户对数据库查询分析的需求,SQL对数据库进行的简单查询及报告不能满足用户分析的需求,越来越多的用户需要更为复杂、动态的历史数据,要求从不同的数据源中综合数据,从不同的角度观察数据。
动态数据分析所涉及的不仅是历史数据的简单综合比较,而是多变的主题及多维数据的访问,维内及维之间存在大量复杂的综合路径及关联。
但这并不意味着否定关系数据库。
Codd认为,关系数据库从一开始就未打算提供强大的数据合成及多维分析能力,这些功能是由前端工具来完成的,它们与关系数据库相辅相成,因此关系数据库仍然是当今最适合企业数据管理的技术。
Codd所指的这些前端工具即为OLAP类产品。
根据OLAPCouncil的定义,OLAP是使分析人员、管理人员或执行人员能够从多个角度对原始数据中转化出来的、能够真正为用户所理解并真实反映企业特性的信息进行快速、一致和交互性的存取,从而获得对数据本质内容的更深入了解的一类软件技术[11]。
1.5.2OLAP的多维分析特性
OLAP具有两个重要的特点:
一是在线性,体现为对用户请求的快速响应和交互式操作;
二是多维分析,也就是说,OLAP展现在用户面前的是一个多维视图,使用者可以对其进行各种多维分析操作。
下面我们具体介绍OLAP的多维分析特性。
在实际的决策制定过程中,决策者需要的不是某一指标单一的值,而是希望从多个角度或者从不同的考察范围来观察某一指标或多个指标,通过分析对比,从而找出这些指标间隐藏的内在关系,并预测这些指标的发展趋势,即决策所需的数据总是和一些分析角度和分析指标有关。
OLAP的主要工作就是将数据仓库中的数据转换到多维数据结构中,并且对上述多维数据结构执行有效且非常复杂的多维查询。
✧OLAP的基本概念[6,8]
(1)维
维是人们观察数据的特定角度,它是一种高层次的类型划分。
例如,企业常常关心产品销售数据随时间推移而产生的变化情况,这时他是从时间的角度来观察产品的销售,所以时间就是一个维(时间维)。
(2)维的层次
人们观察数据的某个特定角度(维)还可以存在细节程度不同的多个描述方面,我们称这多个描述方面为维的层次。
例如描述时间维时,可以从日、月、季度、年等不同的层次来描述,那么日、月、季度、年就是时间维的层次。
同一维的维层次结构可简可繁,这主要是因为不同分析应用对数据组织的详略程度的要求不同。
在某些维中可能存在着完全不同的几条层次路径,例如时间维通常存在日历层次路径和财政层次路径,如图2.3所示。
图2.3时间维的层次路径图
(3)维成员
维成员是维的一个取值。
如果一个维是多层次的,那么该维的维成员是在不同维层次取值的组合。
例如,我们考虑时间维具有日、月、年三个层次,那么“2002年12月10日”就构成了时间维的一个维成员。
一个维成员并不一定在每个维层次上都要取值,例如,“2002年12月”、“2002年”都是时间维的维成员。
(4)度量
度量是我们需要分析的目标数据,有时也被称为变量。
例如,用来反映一个企业经营效益好坏的销售量、销售额和库存量等。
(5)多维数据集
多维数据集是OLAP的核心,有时也称为立方体或超立方。
多维数据集是由一组维和度量组成的,可以用一个多维数组来表示:
(维1,维2,……,维n,度量)。
例如,按时间、地区、专利类型组织起来的专利申请量多维数据集可以表示为:
(时间,地区,专利类型,专利申请量)。
对于三维数据集我们可采用图2.4的可视化方式表达得更清楚。
如果我们在上述三维数据集的基础上再添加申请人类型维,就得到一个四维结构,当然这种维数超过三维的多维数据结构很难用可视化的方式表达清楚。
图2.4以时间、地区和专利类型三个维构成的多维数据集
(6)数据单元
多维数据集的取值为数据单元。
当在多维数据集中的每个维上都选中一个维成员以后,这些维成员的组合就唯一确定了度量的值。
数据单元也就可以表示为:
(维1成员,维2成员,……,维n成员,度量值)。
例如,在图2.4中时间、地区和专利类型维上分别选取维成员“1999年”,“北京”,“发明”,则可以唯一确定观察度量“专利申请量”的一个取值2062,这样该数据单元可表示为(1999年,北京,发明,2062)。
✧OLAP的多维分析操作
多维分析操作是指对以多维形式组织起来的数据采取切片、切块、旋转等各种分析操作,以求剖析数据、使最终用户能从多个角度、多个侧面去观察数据库中的数据、从而深入地了解包含在数据中的信息、内涵。
多维分析的基本操作有[5,6,8]:
(1)切片(Slice)
切片操作是在给定的多维数据集的某一个维上选定一维成员,从而得到一个多维数据子集的动作。
如果有(维1,维2,……,维i,……,维n,度量)多维数据集,对维i选定了某个维成员,那么(维1,维2,……,维i成员,……,维n,度量)就是多维数据集(维1,维2,……,维i,……,维n,度量)在维i上的一个切片。
对于图2.4所示的三维数据集,我们选定专利类型维上的一个维成员(设为“发明”),就得到了在专利类型维上的一个切片,如图2.5所示。
图2.5切片
很明显,一次切片使原来的维数减一,所以得到的切片并不一定是二维的“平面”,其维数取决于原来的多维数据集的维数。
(2)切块(Dice)
在多维数据集的某一维上选定某一区间的维成员的操作称为切块,即限制多维数据集的某一维的取值区间。
(3)旋转(Rotate)
旋转是一种目视操作,它转动多维数据集的视角,提供数据的替代表示。
旋转操作可以将多维数据集的不同维进行交换显示,从而使用户更加直观地观察数据集中不同维之间的关系。
图2.6的例子是把一个横向为地区,纵向为时间和专利类型的报表旋转成为横向为时间和地区,纵向为专利类型的报表。
图2.6旋转
(4)钻取(Drill)
钻取分为向下钻取(drill-down)和向上钻取(drill-up)。
下钻操作是由不太详细的高层次汇总数据分解为更详细的低层次数据。
上钻是下钻的逆操作,它是通过一个维的概念分层向上攀升,或者通过维归约,在多维数据集上进行聚集。
在图2.7中,(a)的例子是对时间维中的维成员“2000年”下钻以获取2000年各月的申请量数据。
(b)的例子是对按月汇总数据的报表上钻以获取按年汇总数据的报表。
图2.7钻取
(5)其它OLAP操作[12]
在OLAP分析操作中,还有“钻过”(drill-across)和“钻透”(drill-through)等。
“钻过”涉及多个事实表的查询;
“钻透”操作使用关系SQL机制,钻到多维数据集的底层,到后端关系表。
其它的OLAP操作还包括计算统计表中的最高或最低N项、平均值、移动平均值、增长率、各类百分比等。
1.5.3OLAP产品的衡量标准
1993年,E.F.Codd在《ProvidingOLAP(On-LineAnalyticProcessing)toUserAnalysts》一书中提出了有关OLAP产品评价的十二条规则(Rule),其目的是加深对OLAP的理解。
其后,又在1995年提出了六条补充规则,并将规则的提法更改为特性(Feature)。
Codd把这十八条特性又分为四组:
基本特性、特殊特性、报表特性、维控制特性[5,6,13]。
(1)基本特性
特性1多维概念视图
从用户分析员的角度来看,整个企业的视图在本质上是多维的,因此OLAP的概念模型也应是多维的。
企业决策分析的目的不同,决定了分析和衡量企业的数据总是从不同的角度来进行的,所以企业数据空间本身就是多维的。
特性2直观的数据操纵
这一特性要求数据操纵直观易懂。
综合路径重定位、向上综合、向下挖掘和其它操作都可以通过直观、方便的点拉操作完成。
特性3可访问性
可访问性是指OLAP中的数据能够以合适的方式存储,便于用户的访问和查询。
特性4批量提取与可解释性
这条特性要求OLAP产品为数据提供分级数据库和对外部数据的灵活访问,即大型数据库的多维数据分级和部分预计算,并提供对细节数据的透明访问。
特性5OLAP分析模型
Codd描述了四种模型:
绝对模型、解释模型、思考模型、公式模型。
我们可以简单地描述为参数化的静态报表,切片、切块和钻取,“Whatif”分析和目标搜索模型。
特性6客户/服务器体系结构
OLAP是建立在客户/服务器体系结构上的。
这要求它的多维数据库服务器能够被不同的应用和工具访问到。
特性7透明性
透明性包含两层含义:
首先,OLAP在体系结构中的位置对用户透明;
其次,OLAP的数据源对用户也是透明的。
特性8多用户支持
多个用户分析员可以同时工作于同一分析模型上或是可以在同一企业数据上建立不同的分析模型。
(2)特殊特性
特性9非规范化数据的处理
指OLAP引擎与非规范化数据的集成。
Codd认为在OLAP环境中的数据修改不应该改变存储在提供源数据的信息系统中的非规范化数据。
特性10保持OLAP结果与源数据在存储上的分离
允许读写的OLAP应用不应该直接作用于实时业务数据之上,OLAP操作的数据变化应该和业务数据分开。
特性11对缺失值(MissingValue)的提取
所有的缺失值都将映射在由关系模式(RelationalModelVersion2)定义的统一表示形式上,缺失值将与空值区分开来。
特性12对缺失值的处理
在处理缺失值时,OLAP引擎将忽略所有的缺失值和它们的来源。
(3)报表特性
特性13灵活的报表生成
报表必须能从各种可能的方面显示出数据模型中综合出的数据和信息,用户可以按照任何想要的方式来操作、分析、综合和查看数据,充分反映数据的多维特性。
特性14稳定的报表性能
当数据维数和数据的综合层次增加时,提供给最终分析员的报表能力和响应速度不应该有明显的降低和减慢。
特性15物理层的自动调节
OLAP工具应能自动调节物理模型以适应不同的分析模型,提供“最优”的稀疏矩阵处理。
(4)维控制特性
特性16维的等同性
每一数据维在数据结构和操作能力上都是等同的。
系统可以将附加的操作能力授给所选维,但必须保证该操作能力同样可以授给任意的其它维。
特性17不受限维与聚集层次
OLAP工具的维数应不小于15个。
用户分析员可以在任意给定的综合路径上建立任意多个聚集层次。
特性18非受限的跨维操作
多维数据之间存在固有的层次关系,这就要求OLAP工具能自己推导出而不是最终用户明确定义出相关的计算。
对于无法从固有关系中得出的计算,要求系统提供计算完备的语言来定义各类计算公式。
Codd提出的这些特性在业界引起了比较大的争议,因为这些特性是基于对客户的研究提出的,并且当时Codd是Arbor软件公司的顾问,不少软件供应商觉得Codd的特性偏向Arbor公司的OLAP产品Essbase。
尽管人们对这些特性褒贬不一,但其主要方面,如多维数据分析、客户/服务器体系结构、多用户支持及报表特性等方面还是得到了大多数人的认可。
近年来,随着人们对OLAP理解的不断深入,有些学者提出了更为简要的定义,如FASMI(FastAnalysisofSharedMultidimensionalInformation)。
(1)快速性(Fast):
系统应该以尽量快的速度响应用户的分析请求。
(2)可分析性(Analysis):
OLAP系统应能处理与应用有关的任何逻辑分析和统计分析。
尽管系统需要一些事先的编程,但并不意味着系统事先已对所有的应用都定义好了。
(3)共享性(Shared):
在多个用户存取数据时,系统应该保证安全性。
(4)多维性(Multidimensional):
多维性是OLAP的关键属性。
系统必须提供数据的多维概念视图,包括对层次维和多重层次维的完全支持。
(5)信息性(Information):
不论数据量有多大,也不管数据存储在何处,OLAP系统应能及时获得信息,并且管理大容量的信息。
1.5.4MOLAP、ROLAP和HOLAP
要达到OLAP的在线性,主要是通过改变存储数据的组织模式而实现的。
目前,OLAP产品根据其数据组织的不同大体上可以分为两种:
基于多维数据库(MDDB)的OLAP(MOLAP)和基于关系数据库的OLAP(ROLAP)[6,8]。
MOLAP以MDDB为核心,以多维方式来存储数据。
MDDB由许多经压缩的、类似于数组的对象构成,每个对象又是由聚集成组的单元块组成,单元块通过直接偏移计算进行存取,表现为超立方结构。
MOLAP结构如图2.8所示。
图2.8MOLAP结构图
MOLAP将DB服务器层与应用逻辑层合二为一,DB或DW层负责数据存储及检索;
应用逻辑层负责所有的OLAP需求的执行。
来自不同事务处理系统的数据通过一系列批处理过程载入MDDB中,数据在填入MDDB的数组结构之后,MDDB将自动建立索引并进行预综合来提高查询性能。
如果在OLAP的实现中采用关系数据库管理系统来管理所需要的数据,这种OLAP就是基于关系数据库的OLAP,即ROLAP。
为了更好地在关系数据库中表示和存储多维数据,ROLAP将多维数据结构划分为两类表:
一类是事实表,用来存储事实的度量和各维的码值;
另一类是维表,即对每个维至少使用一个表来存放维的描述信息,包括维的层次及成员类别等。
事实表通过每一个维的码值和维表联系在一起,形成“星型图模型”。
如果维表记录数非常多,但在高层次上对应的分组数比较少,可以考虑将高层次对应的描述信息使用单独的表来存放,这时候“星型图模型”演变为“雪花图模型”。
ROLAP结构如图2.9所示。
图2.9ROLAP结构图
数据仓库的数据模型在定义完毕后,来自不同数据源的数据将被装入到数据仓库中,接着系统将根据数据模型的需要对数据进行综合,并创建索引以优化存取效率。
最终用户的多维分析请求将通过ROLAP引擎动态翻译为SQL请求,然后由关系数据库来处理SQL请求,最后的查询结果经多维处理后返回给用户。
MOLAP和ROLAP是目前使用最多的两种OLAP技术,由于它们完全不同的数据表示和存储方案,从而导致了两者在不同方面各有优缺点。
下面我们从三个方面来对它们进行比较:
(1)查询性能
MOLAP的查询响应一般较快,这主要是因为多维数据库在装载数据时,预先做了大量的计算。
而在ROLAP中进行查询分析,通常要在事实表和维表之间建立复杂的表连接,响应时间往往难以预计。
虽然ROLAP可以通过构造索引和聚集表来提高响应的速度,但查询性能仍然难以预测。
(2)分析能力
由于MOLAP能够清晰地表达OLAP中的多维数据概念,具有分析的优势。
但多维数据库作为一种新兴技术,还缺乏统一的标准,每个多维数据库都有自己的专用客户端接口。
ROLAP由于受到SQL语言的约束,分析效果往往不如MOLAP。
用户的分析请求首先由ROLAP服务器转化为SQL语句,再交由RDBMS处理,RDBMS返回的结果通常还需要附
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据仓库 联机 分析 处理