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

数据库设计的一个根基就是要弄清楚数据库的类型。



当今的数据处理大致可以分成两大类:联机事务处理OLTPon-line transaction processing在线事务处理,联机事务处理)、联机分析处理OLAPOn-Line Analytical Processing在线分析处理,联机分析处理)。

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

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



这两类系统在数据库的设计上是如此不同,甚至有些地方的设计是貌似相悖的。比如OLTP系统强调数据库的内在效率,强调内存各种指标的命中率,强调绑定变量,强调并发操作;而OLAP系统则强调数据分析,强调SQL执行时长,强调磁盘I/O,强调分区等。因为这些区别,在数据库设计的阶段,弄清楚数据库类型是至关重要的,只在在这个前提之下,才能够讨论数据库的具体设计,否则设计必须是盲目的,"皮之不存毛将焉附".



OLTP:用户并发数都很多,但他们只对数据库做很小的操作,数据库侧重于对用户操作的快速响应,这是对数据库最重要的性能要求。

对于一个OLTP来讲,数据库内存的设计显得很重要,如果数据库可以在内存中处理,那么数据库的性能无疑会提高很多。内存的设计通常是通过调整Oracle和内存相关的初始化参数来实现的,比较重要的几个是内存相关的参数,包括SGA的大小(Data Buffer,Shared Pool)PGA大小(排序区,Hash区等),这些参一个OLTP系统里显得至关重要,OLTP系统是一个数据块变化非常频繁、SQL语句提交非常频繁的系统。对于数据块来说,应尽可能让数据块保存在内存当中,对于SQL来说,尽可能使用变量绑定技术来达到SQL的重用,减少物理I/O和重复的SQL解析,能极大地改善数据库性能。

常见的OLTP系统有:门票在线销售系统,银行交易等。



OLAP:相对于OLTP用户并发数较少,内存可以优化的余地较小,甚至觉得增加CPU处理速度和磁盘I/O速度是最直接的提高数据库性能的方式方式,但这将意味着成本的增加。实际上,用户对OLAP系统性能的期望远远没有对OLTP性能的期望那么高。在OLAP系统中,SQL的优化显得非常重要,分区技术在OLAP数据库中很重要。

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



下表列出OLTPOLAP之间的比较



OLTP

OLAP

用户

操作人员,低层管理人员

决策人员,高级管理人员

功能

日常操作处理

分析决策

DB设计

面向应用

面向主题

数据

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

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

存取

/写数十条记录

读上百万条记录

工作单位

简单的事务

复杂的查询

DB大小

100MB-GB

100GB-TB



 Oracle 10g以前的版本建库过程中可供选择的模板有:

  1. Data Warehouse (数据仓库)
  2. General Purpose  (通用目的、一般用途)
  3. New Database
  4. Transaction Processing  (事务处理)

Oracle 11g的版本建库过程中可供选择的模板有:



  1. 一般用途或事务处理
  2. 定制数据库
  3. 数据仓库

个人对这些模板的理解为:

联机分析处理(OLAP,On-line Analytical Processing),数据量大,DML少。使用数据仓库模板

联机事务处理(OLTP,On-line Transaction Processing),数据量少,DML频繁。使用一般用途或事务处理模板



联机事务处理(OLTP,On-line Transaction Processing),DML操作频繁,并行事务处理多,但是一般都很短。

决策支持系统(DDS,Decision support system),典型的操作是全表扫描,长查询,长事务,但是一般事务的个数很少,往往是一个事务独占系统。




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