oracle中oltp场景,Oracle-OLAP和OLTP解读

OLTP系统强调快速响应用户操作,注重内存效率和并发处理,而OLAP系统专注于数据分析,强调SQL执行效率和磁盘I/O。OLTP通过内存优化、绑定变量等提高性能,避免热块问题;OLAP则依赖于SQL优化和分区技术。两者在用户面向、数据内容、数据库设计、视图和访问模式上有显著区别。
摘要由CSDN通过智能技术生成

概述

通常来说,我们把业务分为来两类,在线事务处理系统(OLTP)和在线分析系统(OLAP)或者DSS(决策支持系统),这两类系统在数据库的设计上是如此的不同,甚至有些地方的设计是像相悖的。

比如:

OLTP 系统强调数据库的内存效率,强调内存各种指标的命中率,强调绑定变量,强调并发操作

OLAP 系统则强调数据分析,强调sql 执行时长,强调磁盘I/O,强调分区等。

OLTP(on-line transaction processing)数据库

通常来讲,OLTP(在线事务处理系统)的用户并发数都很多,但他们只对数据库做很小的操作,数据库侧重于对用户操作的快速响应,这是对数据库最重要的性能要求。

对于一个OLTP 系统来说,数据库内存设计显得很重要,如果数据都可以在内存中处理,那么数据库的性能无疑会提高很多。

内存的设计通常是通过调整Oracle 和内存相关的初始化参数来实现的,比较重要的几个是内存相关的参数,包括SGA 的大小(Data Buffer,Shared Pool),PGA 大小(排序区,Hash 区等)等,这些参数在一个OLTP 系统里显得至关重要,OLTP 系统是一个数据块变化非常频繁,sql 语句提交非常频繁的一个系统。

对于数据块来说,应尽可能让数据块保存在内存当中,对于sql 来说,尽可能使用变量绑定技术来达到sql 的重用,减少物理I/O 和重复的sql 解析,能极大的改善数据库的性能。

除了内存,没有绑定变量的sql 会对OLTP 数据库造成极大的性能影响之外,还有一些因素也会导致数据库的性能下降,比如热块(hot block)的问题,当一个块被多个用户同时读取的时候,Oracle 为了维护数据的一致性,需要使用Latch 来串行化用户的操作,当一个用户获得了这个Latch,其他的用户就只能被迫的等待,获取这个数据块的用户越多,等待就越明显,就造成了这种热块问题。这种热块可能是数据块,也可能是回滚段块。

对于数据块来讲,通常是数据块上的数据分布不均匀导致,如果是索引的数据块,可以考虑创建反向索引来达到重新分布数据的目的,对于回滚段数据块,可以适当多增加几个回滚段来避免这种争用。

OLAP(On-Line Analytical Processing)数据库

OLAP 数据库在内存上可优化的余地很小,甚至觉得增加cpu 处理速度和磁盘I/O 速度是最直接的提高数据库性能的方式,但这将意味着着系统成本的增加。实际上,用户对OLAP 系统性能的期望远远没有对OLTP 性能的期望那么高。

对于OLAP 系统,sql 的优化显得非常重要

试想,如果一张表中只有几千数据,无论执行全表扫描或是使用索引,对我们来说差异都很小,几乎感觉不出来,但是当数据量提升到几亿或者几十亿或者更多的时候,全表扫描,索引可能导致极大的性能差异,因此sql得优化显得重要起来。

分区技术在OLAP 数据库中很重要

这种重要主要是体现在数据管理上,比如数据加载,可以通过分区交换的方式实现,备份可以通过备份分区表空间,删除数据可以通过分区进行删除。

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

联机事务处理(OLTP)和联机分析处理(OLAP)的不同,主要通过以下五点区分开来。

1.用户和系统的面向性:

OLTP是面向顾客的,用于事务和查询处理

OLAP是面向市场的,用于数据分析

2.数据内容:

OLTP系统管理当前数据.

OLAP系统管理大量历史数据,提供汇总和聚集机制.

3.数据库设计:

OLTP采用实体-联系ER模型和面向应用的数据库设计.

OLAP采用星型或雪花模型和面向主题的数据库设计.

4.视图:

OLTP主要关注一个企业或部门内部的当前数据,不涉及历史数据或不同组织的数据

OLAP则相反.

5.访问模式:

OLTP系统的访问主要由短的原子事务组成.这种系统需要并行和恢复机制.

OLAP系统的访问大部分是只读操作

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值