[转帖]OLTP和OLAP的基础知识_MQ, Tuxedo及OLTP讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  MQ, Tuxedo及OLTP讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 4154 | 回复: 0   主题: [转帖]OLTP和OLAP的基础知识        下一篇 
zhou
注册用户
等级:中校
经验:2210
发帖:125
精华:6
注册:2012-11-19
状态:离线
发送短消息息给zhou 加好友    发送短消息息给zhou 发消息
发表于: IP:您无权察看 2012-11-19 17:30:02 | [全部帖] [楼主帖] 楼主

OLAP(联机分析处理)


什么是联机分析处理(OLAP

联机分析处理 (OLAP) 的概念最早是由关系数据库之父E.F.Codd1993年提出的,他同时提出了关于OLAP12条准则。OLAP的提出引起了很大的反响,OLAP作为一类产品同联机事务处理 (OLTP) 明显区分开来。

当今的数据处理大致可以分成两大类:联机事务处理OLTPon-line transaction processing)、联机分析处理OLAPOn-Line Analytical Processing)。OLTP是传统的关系型数据库的主要应用,主要是基本的、日常的事务处理,例如银行交易。OLAP是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。下表列出了OLTPOLAP之间的比较。


OLTP

OLAP

用户

操作人员,低层管理人员

决策人员,高级管理人员

功能

日常操作处理

分析决策

DB 设计

面向应用

面向主题

数据

当前的, 最新的细节的, 二维的分立的

历史的, 聚集的, 多维的集成的, 统一的

存取

读/写数十条记录

读上百万条记录

工作单位

简单的事务

复杂的查询

用户数

上千个

上百个

DB 大小

100MB-GB

100GB-TB



             oltp数据                 

 olap数据

原始数据

导出数据

细节性数据

综合性和提炼性数据

当前值数据

历史数据

可更新

不可更新,但周期性刷新

一次处理的数据量小

一次处理的数据量大

面向应用,事务驱动

面向分析,分析驱动

面向操作人员,支持日常操作

面向决策人员,支持管理需要

OLAP是使分析人员、管理人员或执行人员能够从多角度对信息进行快速、一致、交互地存取,从而获得对数据的更深入了解的一类软件技术。OLAP的目标是满足决策支持或者满足在多维环境下特定的查询和报表需求,它的技术核心是""这个概念。

是人们观察客观世界的角度,是一种高层次的类型划分。一般包含着层次关系,这种层次关系有时会相当复杂。通过把一个实体的多项重要的属性定义为多个维(dimension),使用户能对不同维上的数据进行比较。因此OLAP也可以说是多维数据分析工具的集合。

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

·钻取是改变维的层次,变换分析的粒度。它包括向上钻取(roll up)和向下钻取(drill down)。roll up是在某一维上将低层次的细节数据概括到高层次的汇总数据,或者减少维数;而drill down则相反,它从汇总数据深入到细节数据进行观察或增加新维。
·切片和切块是在一部分维上选定值后,关心度量数据在剩余维上的分布。如果剩余的维只有两个,则是切片;如果有三个,则是切块。
·旋转是变换维的方向,即在表格中重新安排维的放置(例如行列互换)。
OLAP有多种实现方法,根据存储数据的方式不同可以分为ROLAPMOLAPHOLAP

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-downRoll-up)、旋转(Pivot)等各种分析动作,以求剖析数据,使用户能从多个角度、多侧面地观察数据库中的数据,从而深入理解包含在数据中的信息。

根据综合性数据的组织方式的不同,目前常见的OLAP主要有基于多维数据库的MOLAP及基于关系数据库的ROLAP两种。MOLAP是以多维的方式组织和存储数据,ROLAP则利用现有的关系数据库技术来模拟多维数据。在数据仓库应用中,OLAP应用一般是数据仓库应用的前端工具,同时OLAP工具还可以同数据挖掘工具、统计分析工具配合使用,增强决策分析功能。

==================================================================================

联机事务处理OLTPon-line transaction processing

主要是执行基本的、日常的事务处理,比如在银行存取一笔款,就是一个事务交易。OLTP的特点一般有:

     1.实时性要求高;

     2.数据量不是很大;

     3.交易一般是确定的,所以OLTP是对确定性的数据进行存取;(比如存取款都有一个特定的金额)

     4.并发性要求高并且严格的要求事务的完整,安全性。(比如这种情况:有可能你和你的家人同时在不同的银行取同一个帐号的款)

联机分析处理OLAPOn-Line Analytical Processing)是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。典型的应用就是复杂的动态的报表系统。OLAP的特点一般有:

     1.实时性要求不是很高,很多应用的顶多是每天更新一下数据;

     2.数据量大,因为OLAP支持的是动态查询,所以用户也许要通过将很多数据的统计后才能得到想要知道的信息,例如时间序列分析等等,所以处理的数据量很大;

     3.因为重点在于决策支持,所以查询一般是动态的,也就是说允许用户随时提出查询的要求。所以在OLAP中通过一个重要概念来搭建一个动态查询的平台(或技术),供用户自己去决定需要知道什么信息。

以下是大致的区分:

OLTP                 OLAP
-------------------------------


用户    操作人员,低层管理人员      决策人员,高级管理人员

功能    日常操作处理    分析决策

     DB设计   面向应用     面向主题

数据    当前的,最新的细节的,二维的分立的历史的,聚集的,多维的集成的, 统一的

存取    读/写数十条记录    读上百万条记录

工作单位   简单的事务    复杂的查询

用户数    上千个上百个

     DB大小    100MB-GB                                              100GB-TB

该贴被zhou编辑于2012-11-19 17:35:27



赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论