联机事务处理(OLTP)和联机分析处理(OLAP)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

联机事务处理(OLTP)和
联机分析处理(OLAP)
1.概述
当今的数据处理大致可以分成两大类:联机事务处理OLTP(on-line transaction processing)、联机分析处理OLAP(On-Line Analytical Processing)。

OLTP是传统的关系型数据库的主要应用,主要是基本的、日常的事务处理,例如银行交易。

OLAP是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。

2.什么是联机事务处理(OLTP)
联机事务处理系统(OLTP),也称为面向交易的处理系统,其基本特征是顾客的原始数据可以立即传送到计算中心进行处理,并在很短的时间内给出处理结果。

这样做的最大优点是可以即时地处理输入的数据,及时地回答。

也称为实时系统(Real time System)。

衡量联机事务处理系统的一个重要性能指标是系统性能,具体体现为实时响应时间(Response Time),即用户在终端上送入数据之后,到计算机对这个请求给出答复所需要的时间。

OLTP数据库旨在使事务应用程序仅写入所需的数据,以便尽快处理单个事务。

OLTP数据库通常具有以下特征:
1.支持大量并发用户定期添加和修改数据;
2.反映随时变化的单位状态,但不保存其历史记录;
3.包含大量数据,其中包括用于验证事务的大量数据;
4.具有复杂的结构;
5.可以进行优化以对事务活动做出响应;
6.提供用于支持单位日常运营的技术基础结构;
7.个别事务能够很快地完成,并且只需访问相对较少的数据。

OLTP 系统旨在处理同时输
入的成百上千的事务。

OLTP系统中的数据主要被组织为支持如下事务:
1.记录来自销售点终端或通过网站输入的订单;
2.当库存量降到指定级别时,订购更多的货物;
3.在制造厂中将零部件组装为成品时对零部件进行跟踪;
4.记录雇员数据。

通常在数据库系统中,事务是工作的离散单位。

例如,一个数据库事务可以是修改一个用户的帐户平衡或库存项的写操作。

联机事务处理系统(OLTP)实时地采集处理与事务相连的数据以及共享数据库和其它文件的地位的变化。

在联机事务处理中,事务是被立即执行的,这与批处理相反,一批事务被存储一段时间,然后再被执行。

大多数批处理(例如帐目交换)是在夜间进行的。

OLTP的结果可以在这个数据库中立即获得,这里假设这些事务可以完成。

联机事务处理以实时的方式
发生。

民航定票系统和银行ATM机是联机事务处理系统的例子。

在单一用户、单一数据库环境下执行事务是简单的,这是因为没有冲突问题或对数据库间同步的需求。

在分布式环境下,维护多个数据库的完整性是另外一种问题。

传统上,大多数联机事务处理系统在大型计算机系统上实现,这是由于它的操作的复杂性,以及需要快速输入/输出、禁止和管理的原因。

如果一个事务必须在多个场地进行修改,那么就需要管理机制来防止重写数据并提供同步。

其它的需求包括具有卷回失效事务的能力、提供安全性特征,以及如果需要,提供数据恢复的能力。

这是通过一个事务处理监督器来处理的。

这个监督器保证了事务是完全完成的或是进行卷回的,因而就可以保证数据库状态的正确性。

在一个分布式环境下,写操作经常并行地在多个数据库服务器上发生。

这样的并发事务处理需要一个“卷回”机制,以保证在一次写操作中系统失效的情况下,仍保证数据库的完整性。

事务要么一起确认,要么放弃。

如果一个或多个与事务有关的系统响应不一致,这意味着系统或通信可能出现了故障,因而就会放弃一个事务。

可以看出,当多个用户试图同时改变数据的同一块时,就出现了冲突问题。

另外,对多个数据库的写入操作必须进行同步处理,并且必须保证这个写入已经确实被所有的数据库处理完毕了,需要一个监督程序来保证数据的完整性。

对在分布式环境下的事务处理有四种需求,联合起来称为“ACID”。

1.原子性(Atomicity):定义工作的独立单元。

如果一个事务是分布的,所有影响分离地
点数据的子事务都必须象一个事务那样被一起执行。

为了保持在多个地点数据的一致性,需要使用下面就将介绍的双阶段认可过程。

2.一致性(Consistency):一致性基本上是一种数据库从一个状态变到同等的另一个状态
的需求。

事务监督器必须检验所有被影响的数据都是一致的。

3.孤立性(Isolation):事务必须被孤立地执行直到完成,执行期间不受到其它事务的影
响。

4.持续性(Durability):这个性质是与事务的最终确认一起进行的。

一旦一个事务被检验
为对所有受影响的系统都是正确的,它就被认可并且不再需要卷回。

3.什么是联机分析处理(OLAP)
联机分析处理(OLAP)的概念最早是由关系数据库之父E.F.Codd于1993年提出的,他同时提出了关于OLAP的12条准则。

OLAP的提出引起了很大的反响,OLAP作为一类产品同联机事务处理(OLTP)明显区分开来。

OLAP是使分析人员、管理人员或执行人员能够从多角度对信息进行快速、一致、交互地存取,从而获得对数据的更深入了解的一类软件技术。

OLAP的目标是满足决策支持或者满足在多维环境下特定的查询和报表需求,它的技术核心是"维"这个概念。

“维”是人们观察客观世界的角度,是一种高层次的类型划分。

“维”一般包含着层次关系,这种层次关系有时会相当复杂。

通过把一个实体的多项重要的属性定义为多个维(dimension),使用户能对不同维上的数据进行比较。

因此OLAP也可以说是多维数据分析工具的集合。

OLAP的基本多维分析操作有钻取(roll up和drill down)、切片(slice)和切块(dice)、以及旋转(pivot)、drill across、drill through等。

1.钻取是改变维的层次,变换分析的粒度。

它包括向上钻取(roll up)和向下钻取(drill
down)。

roll up是在某一维上将低层次的细节数据概括到高层次的汇总数据,或者减少维数;而drill down则相反,它从汇总数据深入到细节数据进行观察或增加新维;
2.切片和切块是在一部分维上选定值后,关心度量数据在剩余维上的分布。

如果剩余的维
只有两个,则是切片;如果有三个,则是切块;
3.旋转是变换维的方向,即在表格中重新安排维的放置(例如行列互换)。

OLAP有多种实现方法,根据存储数据的方式不同可以分为ROLAP、MOLAP、HOLAP。

ROLAP表示基于关系数据库的OLAP实现(Relational OLAP)。

以关系数据库为核心,以关系型结构进行多维数据的表示和存储。

ROLAP将多维数据库的多维结构划分为两类表:一类是事实表,用来存储数据和维关键字;另一类是维表,即对每个维至少使用一个表来存放维的层次、成员类别等维的描述信息。

维表和事实表通过主关键字和外关键字联系在一起,形成了"星型模式"。

对于层次复杂的维,为避免冗余数据占用过大的存储空间,可以使用多个表来描述,这种星型模式的扩展称为"雪花模式"。

MOLAP表示基于多维数据组织的OLAP实现(Multidimensional OLAP)。

以多维数据组织方式为核心,也就是说,MOLAP使用多维数组存储数据。

多维数据在存储中将形成"立方块(Cube)"的结构,在MOLAP中对"立方块"的"旋转"、"切块"、"切片"是产生多维数据报表的主要技术。

HOLAP表示基于混合数据组织的OLAP实现(Hybrid OLAP)。

如低层是关系型的,高层是多维矩阵型的。

这种方式具有更好的灵活性。

还有其他的一些实现OLAP的方法,如提供一个专用的SQL Server,对某些存储模式(如星型、雪片型)提供对SQL查询的特殊支持。

OLAP工具是针对特定问题的联机数据访问与分析。

它通过多维的方式对数据进行分析、查询和报表。

维是人们观察数据的特定角度。

例如,一个企业在考虑产品的销售情况时,通常从时间、地区和产品的不同角度来深入观察产品的销售情况。

这里的时间、地区和产品就是维。

而这些维的不同组合和所考察的度量指标构成的多维数组则是OLAP分析的基础,可形式化表示为(维1,维2,……,维n,度量指标),如(地区、时间、产品、销售额)。

多维分析是指对以多维形式组织起来的数据采取切片(Slice)、切块(Dice)、钻取(Drill-down和Roll-up)、旋转(Pivot)等各种分析动作,以求剖析数据,使用户能从多个角度、多侧面地观察数据库中的数据,从而深入理解包含在数据中的信息。

根据综合性数据的组织方式的不同,目前常见的OLAP主要有基于多维数据库的MOLAP 及基于关系数据库的ROLAP两种。

MOLAP是以多维的方式组织和存储数据,ROLAP则利用现有的关系数据库技术来模拟多维数据。

在数据仓库应用中,OLAP应用一般是数据仓库应用的前端工具,同时OLAP工具还可以同数据挖掘工具、统计分析工具配合使用,增强决策分析功能。

4.两者之间的区别
OLTP即联机事务处理,就是我们经常说的关系数据库,意即记录即时的增、删、改、查,就是我们经常应用的东西,这是数据库的基础。

主要应用于数据仓库等海量数据,侧重在从大量历史数据中进行预测和分析,对速度要求相对不敏感,但要求多维和多次挖掘。

OLAP即联机分析处理,是数据仓库的核心部心,所谓数据仓库是对于大量已经由OLTP 形成的数据的一种分析型的数据库,用于处理商业智能、决策支持等重要的决策信息;数据仓库是在数据库应用到一定程序之后而对历史数据的加工与分析;是处理两种不同用途的工具而已。

主要应用于如ATM取款的处理流程就是OLTP,主要用于营收系统(电信、金融),对速度要求高,对数据一致性要求高,数据量相对而言比数据仓库要少,侧重在分布式的事务处理。

OLTP是实时的处理,对速度敏感,查询要求的少而不复杂。

OLAP是预处理过的数据,查询方便。

主要是历史数据的多,查询复杂,条件多样;OLTP完成后,数据就会转到OLAP,以供查询。

相关文档
最新文档