OLAP技术应用研究技术指导书.docx
- 文档编号:16913722
- 上传时间:2023-04-24
- 格式:DOCX
- 页数:27
- 大小:393.21KB
OLAP技术应用研究技术指导书.docx
《OLAP技术应用研究技术指导书.docx》由会员分享,可在线阅读,更多相关《OLAP技术应用研究技术指导书.docx(27页珍藏版)》请在冰豆网上搜索。
OLAP技术应用研究技术指导书
联机分析处理(OLAP)技术应用研究
摘要:
随着数据库的发展,OLTP(在线事务处理)已不能满足终端用户对数据库查询分析的需要,SQL对大型数据库进行的简单查询也不能满足终端用户分析的要求,因此提出了OLAP概念。
本文介绍了OLAP的基本知识,包括OLAP多维数据概念、多维数据结构、多维数据分析、特征等等,最后介绍SQLServer7.0的OLAPServices基本知识。
关键词:
数据仓库;OLAP;OLTP;多维数据库;多维立方体;
目录
第一章发展背景3
第二章数据仓库基本知识5
第三章OLAP多维数据概念8
1、维8
2、多维性8
3、例子9
4、维的层次关系9
第四章OLAP多维数据结构11
1、超立方结构11
2、多立方结构11
3、活动数据的存储12
第五章OLAP多维数据分析13
1、切片和切块(SliceandDice)13
2、钻取(Drill)13
3、旋转(Rotate)/转轴(Pivot)14
第六章OLAP结构15
1、星型模型15
2、雪片模型16
3、MOLAP多维数据结构17
4、ROLAP与MOLAP比较18
第七章OLAP的特征19
1、快速性19
2、可分析性19
3、多维性19
4、信息性19
第八章OLAP的展望20
1、WebOLAP20
2、OLAP+数据挖掘20
第九章SQLServer7.0的OLAPServices介绍22
第一章发展背景
自从上实际60年代关系数据库之父E.F.Codd提出了关系模型以来,数据库技术特别是OLTP(在线事务处理)发展得比较成熟,它的根本任务就是及时地、安全地将当前事务所产生的记录保存下来。
随着时间的推移,历史数据不断堆积,总量不断变大,人们已经不满足于仅仅处理当前数据,怎样将日益堆积的数据进行有效的管理,挖掘其中埋藏的信息宝库成了新的问题。
同时在激烈的市场竞争中,商业企业需要迅速地获取重要的业务指标、销售和利润趋势、市场和产品的获利率、财务状况、客户分布以及外部竞争数据等诸多关键信息。
OLTP已不能满足终端用户对数据库查询分析的需要,SQL对大型数据库进行的简单查询也不能满足终端用户分析的要求。
用户的决策分析需要对关系数据库进行大量计算才能得到结果,而查询的结果并不能满足决策者提出的需求。
因此,E.F.Codd提出了多维数据库和多维分析的概念,即联机分析处理---OLAP(On-lineAnalyticalProcessing)。
OLAP是以数据库或数据仓库为基础的,其最终数据来源与OLTP一样均来自底层数据库系统,但由于二者面向的用户不同,OLTP面对的是操作人员和低层管理人员,OLAP面对的是决策人员和高层管理人员,因而数据的特点与处理也明显不同。
关系数据库擅长迅速地检索少量记录,应用于决策支持系统时,反应速度较慢且浪费系统资源。
许多人想用关系数据库解决的问题本质上是多维数据问题。
例如,如果要利用SQL查询来按地区求出产品的总销量,或按品名求出产品在各地区的销量总和,这就需要涉及对销量数据库中大部分数据记录的检索和处理,需要花数小时才能完成。
而一个OLAP数据库服务器能够在几秒钟内完成这种查询。
以下是两者的区别:
OLTP数据OLAP数据
原始数据导出数据
细节性数据综合性和提炼性数据
当前值数据历史数据
可更新不可更新,但周期性刷新
一次处理的数据量小一次处理的数据量大
面向应用,事务驱动面向分析,分析驱动
面向操作人员,支持日常操作面向决策人员,支持管理需要
OLAP将业务决策者进入一个新的分析水平。
通过快速、一致、交互地访问各种可能的信息视图,帮助数据分析人员、管理人员、决策人员洞察数据的奥秘,掌握隐于其中的规律。
OLAP力图处理数据仓库中浩如烟海的数据,并将之转化为有用的信息,从而实现对数据的归纳、分析和处理,帮助企业完成决策。
OLAP支持最终用户进行动态多维分析,其中包括跨维、在不同层次之间跨成员地计算和建模;在时间序列上的趋势分析、预测分析;切片和切块,并在屏幕上显示,从宏观到微观,对数据进行深入分析;可查询到底层的细节数据;在观察区域中旋转,进行不同维间的比较。
联机分析处理的主要特点,是直接仿照用户的多角度思考模式,预先为用户组建多维的数据模型,在这里,维指的是用户的分析角度。
例如对销售数据的分析,时间周期是一个维度,产品类别、分销渠道、地理分布、客户群类也分别是一个维度。
一旦多维数据模型建立完成,用户可以快速地从各个分析角度获取数据,也能动态的在各个角度之间切换或者进行多角度综合分析,具有极大的分析灵活性。
这也是联机分析处理在近年来被广泛关注的根本原因,它从设计理念和真正实现上都与旧有的管理信息系统有着本质的区别。
第二章数据仓库基本知识
联机分析处理是数据仓库系统的核心组成部分。
在此我们简单介绍一下数据仓库的基本知识。
传统的数据库技术是单一的数据资源,即以数据库为中心,进行事务处理、批处理到决策分析等各种类型的数据处理工作。
近年来,随着计算机应用的发展,网络计算开始向两个不同的方向拓展,一是广度计算,一是深度计算。
广度计算的含义是把计算机的应用范围尽量扩大,同时实现广泛的数据交流,互联网就是广度计算的特征;另一方面就是人们对以往计算机的简单数据操作提出了更高的要求,希望计算机能够更多地参与数据分析与决策制定等领域。
特别是数据库处理可以大致地划分为两大类:
操作型处理和分析型处理(或信息型处理)。
这种分离划清了数据处理的分析型环境与操作型环境之间的界限,从而由原来的以单一数据库为中心的数据环境发展为一种新环境:
体系化环境。
而基于数据仓库技术上的联机分析处理(OLAP)技术就是其中一个关键的技术。
目前,数据仓库一词尚没有一个统一的定义,著名的数据仓库专家W.H.Inmon在其著作《BuildingtheDataWarehouse》一书中给予如下描述:
数据仓库(DataWarehouse)是一个面向主题的(SubjectOriented)、集成的(Integrate)、相对稳定的(Non-Volatile)、反映历史变化(TimeVariant)的数据集合,用于支持管理决策。
对于数据仓库的概念我们可以从两个层次予以理解,首先,数据仓库用于支持决策,面向分析型数据处理,它不同于企业现有的操作型数据库;其次,数据仓库是对多个异构的数据源有效集成,集成后按照主题进行了重组,并包含历史数据,而且存放在数据仓库中的数据一般不再修改。
根据数据仓库概念的含义,数据仓库拥有以下四个特点:
Ø面向主题
操作型数据库的数据组织面向事务处理任务,各个业务系统之间各自分离,而数据仓库中的数据是按照一定的主题域进行组织。
主题是指用户使用数据仓库进行决策时所关心的重点方面。
Ø集成的
面向事务处理的操作型数据库通常与某些特定的应用相关,数据库之间相互独立,并且往往是异构的。
而数据仓库中的数据是在对原有分散的数据库数据抽取、清理的基础上经过系统加工、汇总和整理得到的,必须消除源数据中的不一致性,以保证数据仓库内的信息是关于整个企业的一致的全局信息。
Ø相对稳定的
操作型数据库中的数据通常实时更新,数据根据需要及时发生变化。
数据仓库的数据主要供企业决策分析之用,所涉及的数据操作主要是数据查询,一旦某个数据进入数据仓库以后,一般情况下将被长期保留,也就是数据仓库中一般有大量的查询操作,但修改和删除操作很少,通常只需要定期的加载、刷新。
Ø反映历史变化
操作型数据库主要关心当前某一个时间段内的数据,而数据仓库中的数据通常包含历史信息,系统记录了企业从过去某一时点(如开始应用数据仓库的时点)到目前的各个阶段的信息,通过这些信息,可以对企业的发展历程和未来趋势做出定量分析和预测。
企业数据仓库的建设,是以现有企业业务系统和大量业务数据的积累为基础。
数据仓库不是静态的概念,只有把信息及时交给需要这些信息的使用者,供他们做出改善其业务经营的决策,信息才能发挥作用,信息才有意义。
而把信息加以整理归纳和重组,并及时提供给相应的管理决策人员,是数据仓库的根本任务。
因此,从产业界的角度看,数据仓库建设是一个工程,是一个过程。
整个数据仓库系统是一个包含四个层次的体系结构,具体由下图表示。
数据仓库系统体系结构
●数据源:
是数据仓库系统的基础,是整个系统的数据源泉。
通常包括企业内部信息和外部信息。
内部信息包括存放于RDBMS中的各种业务处理数据和各类文档数据。
外部信息包括各类法律法规、市场信息和竞争对手的信息等等;
●数据的存储与管理:
是整个数据仓库系统的核心。
数据仓库的真正关键是数据的存储和管理。
数据仓库的组织管理方式决定了它有别于传统数据库,同时也决定了其对外部数据的表现形式。
要决定采用什么产品和技术来建立数据仓库的核心,则需要从数据仓库的技术特点着手分析。
针对现有各业务系统的数据,进行抽取、清理,并有效集成,按照主题进行组织。
数据仓库按照数据的覆盖范围可以分为企业级数据仓库和部门级数据仓库(通常称为数据集市)。
●OLAP服务器:
对分析需要的数据进行有效集成,按多维模型予以组织,以便进行多角度、多层次的分析,并发现趋势。
我们将在后续章节详细介绍。
●前端工具:
主要包括各种报表工具、查询工具、数据分析工具、数据挖掘工具以及各种基于数据仓库或数据集市的应用开发工具。
其中数据分析工具主要针对OLAP服务器,报表工具、数据挖掘工具主要针对数据仓库。
综合以上可知,OLAP数据库与数据仓库之间的关系是互补的。
一般情况下,数据仓库作为OLAP的基础,从中选出细节数据的一个子集传到OLAP数据库中,进行数据的汇总或聚集。
数据仓库能容纳细节数据,OLAP数据库保存的是各种轻度综合的数据,DSS分析员还可向下钻取到数据仓库的细节级,而OLAP数据库中的汇总数据也被存储在数据仓库中。
数据定期从数据仓库中导入到OLAP数据库中,由于操作型环境的数据进入到数据仓库时已被集成,因此OLAP数据库就不用从操作型环境中抽取与集成数据。
第三章OLAP多维数据概念
OLAP是使分析人员、管理人员或执行人员能够从多角度对信息进行快速、一致、交互地存取,从而获得对数据的更深入了解的一类软件技术。
OLAP的目标是满足决策支持或者满足在多维环境下特定的查询和报表需求,它的技术核心是"维"这个概念。
1、维
关系数据库是围绕一系列“记录”而组织起来的,多维数据库的核心概念是“维”。
“维”是人们观察数据的特定角度,是考虑问题时的一类属性,属性集合构成一个维(时间维、地理维等)。
假定某某是个百货零售商,有一些因素会影响他的销售业务,如商品、时间、商店或流通渠道,更具体一点,如品牌、月份、地区等。
对某一给定的商品,也许他想知道该商品在哪个商店和哪段时间的销售情况。
对某一商店,也许他想知道哪个商品在哪段时间的销售情况。
在某一时间,也许他想知道哪个商店哪种产品的销售情况。
因此,他需要决策支持来帮助制定销售政策。
这里,商店、时间和产品都是维。
各个商店的集合是一维,时间的集合是一维,商品的集合是一维。
维就是相同类数据的集合,也可以理解为变量。
而每个商店、每段时间、每种商品都是某一维的一个成员,每个销售事实由一个特定的商店、特定的时间和特定的商品组成。
维有自己固有的属性,如层次结构(对数据进行聚合分析时要用到)、排序(定义变量时要用到)、计算逻辑(是基于矩阵的算法,可有效地指定规则)。
这些属性对进行决策支持是非常有用的。
2、多维性
人们很容易理解一个二维表(如通常的电子表格),对于三维立方体同样也容易理解。
OLAP通常将三维立方体的数据进行切片,显示三维的某一平面。
如一个立方体有时间维、商品维、收入维,其图形很容易在屏幕上显示出来并进行切片。
但是要加一维(如加入商店维),则图形很难想象,也不容易在屏幕上画出来。
要突破三维的障碍,就必须理解逻辑维和物理维的差异。
OLAP的多维分析视图就是冲破了物理的三维概念,采用了旋转、嵌套、切片、钻取和高维可视化技术,在屏幕上展示多维视图的结构,使用户直观地理解、分析数据,进行决策支持。
3、例子
下面举例说明,假设公司有四种产品(冰箱、彩电、空调及洗衣机),它们在三个地区销售(东部、西部和中部)。
表1是由这些数据组成的关系表。
对应每个产品几个地区的销量,可以转化成下面的二维矩阵(表2):
显然,在表2中销售数据的关系更自然些。
产品名称
地区
销售量
冰箱
东部
50
冰箱
中部
60
冰箱
西部
140
彩电
东部
40
彩电
中部
80
彩电
西部
70
空调
东部
20
空调
中部
30
空调
西部
10
洗衣机
东部
90
洗衣机
中部
140
洗衣机
西部
120
东部
中部
西部
冰箱
50
60
140
彩电
40
80
70
空调
20
30
10
洗衣机
90
140
120
在多维技术术语中,我们称这个表表示了从产品维和地区维看到的销售情况。
如果查询“彩电的销量总量是多少?
”或“东部地区的销量总量是多少?
”,这是涉及多个数据项求和的查询。
在关系数据库的情况下,如果数据
库包含了千百种产品,系统就必须选出大量的记录并对数据域求和,这会使系统的运行慢得让人无法容忍。
多维数据库只要对一行(如彩电)或一列(如东部)求和。
一个典型的关系数据库每秒只能搜索几百条记录,而一个典型的多维数据库可以每秒1000个数据单元的速度按行或按列进行求和,甚至更快。
因此对这类查询问题,多维数据库具有巨大的优势。
4、维的层次关系
在上例中,产品和地区维中均包含了一个简单的层次关系。
如果每个地区中又分为多个省,每个省又分为多个城市,则地区维有四个层次:
当提出一个OLAP查询时,层次中的级别概念特别重要。
例如,用户想要看一个由产品列和地区行所形成的矩阵时,他应当指出是想看地区维所有级别的数据,还是想看城市或省一级的数据。
用户也可以利用层次关系来一步步向下“深入访问”到各个级别中去(在之后的OLAP的操作里上钻和下取介绍)。
时间是多维库中最普遍的一维,几乎每个用户都希望观察趋势,包括销售趋势、金融趋势、市场趋势等等。
用户还希望将各种趋势与去年同期作比较,或求出至今为止一年内的数据总和。
当增加多维数据库的维数时,数据单元的数目会迅速地增长。
在实际的运用中,大量的单元是空的或数值为零,这种情况称数据库是稀疏的。
第四章OLAP多维数据结构
1、超立方体结构
超立方体结构(Hypercube)指用三维或更多的维数来描述一个对象,每个维彼此垂直。
数据的测量值发生在维的交叉点上,数据空间的各个部分都有相同的维属性。
如前面的例子,如在销售记录上加上日期维,所表示的数据如图所示范:
图4.1超立方体结构示例
这种结构可应用在多维数据库和面向关系数据库的OLAP系统中,其主要特点是简化终端用户的操作。
超立方结构有一种变形,即收缩超立方结构。
这种结构的数据密度更大,数据的维数更少,并可加入额外的分析维。
2、多立方结构
在多立方结构(Multicube)中,将大的数据结构分成多个多维结构。
这些多维结构是大数据维数的子集,面向某一特定应用对维进行分割,即将超立方结构变为子立方结构。
它具有很强的灵活性,提高了数据(特别是稀疏数据)的分析效率。
一般来说,多立方结构灵活性较大,但超立方结构更易于理解。
终端用户更容易接近超立方结构,它可以提供高水平的报告和多维视图。
但具有多维分析经验的MIS专家更喜欢多立方结构,因为它具有良好的视图翻转性和灵活性。
多立方结构是存储稀疏矩阵的一个更有效方法,并能减少计算量。
因此,复杂的系统及预先建立的通用应用倾向于使用多立方结构,以使数据结构能更好地得到调整,满足常用的应用需求。
许多产品结合了上述两种结构,它们的数据物理结构是多立方结构,但却利用超立方结构来进行计算,结合了超立方结构的简化性和多立方结构的旋转存储特性。
3、活动数据的存储
用户对某个应用所提取的数据称为活动数据,它的存储有以下三种形式:
1)关系数据库
如果数据来源于关系数据库,则活动数据被存储在关系数据库中。
在大部分情况下,数据以星型结构或雪花结构进行存储。
2)多维数据库
在这种情况下,活动数据被存储在服务器上的多维数据库中,包括来自关系数据库和终端用户的数据。
通常,数据库存储在硬盘上,但为了获得更高的性能,某些产品允许多维数据结构存储在RAM上。
有些数据被提前计算,计算结果以数组形式进行存储。
3)基于客户的文件
在这种情况下,可以提取相对少的数据放在客户机的文件上。
这些数据可预先建立,如Web文件。
与服务器上的多维数据库一样,活动数据可放在磁盘或RAM上。
第五章OLAP多维数据分析
1、切片和切块(SliceandDice)
在多维数据结构中,按二维进行切片,按三维进行切块,可得到所需要的数据。
如在“城市、产品、时间”三维立方体中进行切块和切片,可得到各城市、各产品的销售情况。
每次都是沿其中一维进行分割称为分片,每次沿多维进行的分片称为分块。
2、钻取(Drill)
钻取包含向下钻取(Drill-down)和向上钻取(Drill-up)/上卷(Roll-up)操作,钻取的深度与维所划分的层次相对应。
表1(单位:
万元)
部门
销售
部门1
90
部门2
60
部门3
80
按时间维向下钻取
表2(单位:
万元)
2001年
部门
1季度
2季度
3季度
4季度
部门1
20
20
35
15
部门2
25
5
15
15
部门3
20
15
18
27
3、旋转(Rotate)/转轴(Pivot)
通过旋转可以得到不同视角的数据
表3(单位:
万元)
2001年
2002年
部门
1季度
2季度
3季度
4季度
1季度
2季度
3季度
4季度
部门1
20
20
35
15
12
20
25
14
部门2
25
5
15
15
20
18
23
12
部门3
20
15
18
27
18
20
17
25
表4(单位:
万元)
1季度
2季度
3季度
4季度
部门
2001年
2002年
2001年
2002年
2001年
2002年
2001年
2002年
部门1
20
12
20
20
35
25
15
14
部门2
25
20
5
18
15
23
15
12
部门3
20
18
15
20
18
17
27
25
第六章OLAP结构
OLAP是一种多用户的三层客户/服务器结构,这中结构的优点在于将应用逻辑(业务逻辑),GUI及DBMS严格区分开,复杂的应用逻不是分部于网络的纵多PC 机上,而是集中存放在OLAP服务器上。
如图所示,它由数据源(数据仓库或OLTP数据库)、OLAP服务器及OLAP客户机及客户端应用软件组成。
OLAP服务器是专门为支持和操作多纬数据结构而设计的高性能、多用户数据处理引擎。
OLAP服务器可以迅速响应用户的各种分析要求,并能根据数据之间公式化的关系对数据进行快速、灵活的计算和转换。
OLAP客户端是指用户所使用的各种应用软件。
这些软件可以从OLAP服务器得到所需的数据切片并提供二维或多维的显示。
用户可利用这些软件对数据进行更改、选择、复杂的计算等操作。
我们可根据OLAP服务器端不同的数据组织及存储方式将OLAP分成以下几种结构:
关系型OLAP(ROLAP)、多维OLAP(MOLAP)、混合型OLAP(HOLAP)。
在ROLAP中,为了提高查询性能和支持OLAP操作,ROLAP系统基于表采用星型、雪片型等形式组织数据。
在MOLAP系统中,使用多维数据库来组织数据。
1、星型模型
数据库中包括一个“事实表”,对于每一维都有一个“维表”。
事实表中的每条元组都包含指向各个维表的外键和一些度量值,维表记录的是有关该维的属性,下图就是一个订单销售的数据库存储的星型架构。
从图中可以看出,事实表中的每一元组只是包含了一些指针(即外键),而对应的主键分别放在不同的表中,每个指针指向一个维表,这就构成了数据库的多维联系。
在每个维表中除包含每一维的主键外,还有说明该维的一些其他属性字段。
维表记录了维的层次关系。
2、雪片模型
有时候,维表的定义会变得复杂,例如对产品维,既要按产品种类进行划分,对某些特殊商品,又要另外进行品牌划分,商品品牌和产品种类划分方法并不一样。
因此,单张维表不是理想的解决方案,可以采用以下方式,这种数据模型实际上是星型结构的拓展,我们称之为雪花型模式。
它的优点是:
通过最大限度地减少数据存储量以及联合较小的纬表来改善查询性能。
上图所示的“产品”与“产品目录”维表与事实表的关系区域,是在数据仓库的数据组织上对用户查询的扩展。
3、MOLAP多维数据结构
多维联机分析处理实际上是用多维数组的方式对关系型数据表进行处理。
下图是ROLAP与MOLAP的对比:
图中左边是ROLAP方式,右边是MOLAP方式,两者对应的是同一个三维模型。
MOLAP首先对事实表中的所有外键进行排序,并将排序后的具体指标数值一一写进虚拟的多维立方体中。
当然,虚拟的多维立方体只是为了便于理解而构想的,MOLAP实际的数据存储放在数据文件(DataFile)中,其数据放置的顺序与虚拟的多维立方体按x,y,z坐标展开的顺序是一致的(如上图)。
同时,为了数据查找的方便,MOLAP需要预先建立维度的索引,这个索引被放置在MOLAP的概要文件(Outline)中。
概要文件是MOLAP的核心,相当于ROLAP的数据模型设计。
概要文件包括所有维的定义(包括复杂的维度结构)以及各个层次的数据汇总关系(例如在时间维,日汇总至月,月汇总至季,季汇总至年),这些定义往往从关系型维表中直接引入即可。
概要文件也包括分析指标的定义,因此可以在概要文件中包含丰富的衍生指标,这些衍生指标由基础指标计算推导出来(例如ROLAP例子1中的纯利和毛利)。
但是,如果数据相当稀疏,虚拟的多维立方体中很多数值为空时,MOLAP的数据文件需要对相关的位置留空,而ROLAP的事实表却不会存储这些纪录。
为了有效地解决这种情况,MOLAP采用了稀疏维和密集维相结合的处理方式。
综合以上分析,我们得出ROLAP和MOLAP 各自的优缺点。
4、ROLAP与MOLAP比较
ROLAP
MOLAP
优点
●没有大小限制
●现有的关系数据库的技术可以沿用.
●可以通过SQL实现详细数据与概要数据的存储
●现有关系型数据库已经对OLAP做了很多优化,包括并行存储、并行查询、并行数据管理、基于成本的查询优化、位图索引、SQL的OLAP扩展
●性能好、响应速度快
●专
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- OLAP 技术 应用 研究 指导书