OLTP与OLAP介绍
来源:互联网 发布:如何在淘宝上寻找货源 编辑:程序博客网 时间:2024/05/21 07:01
什么是OLTP
OLTP,也叫联机事务处理(Online Transaction Processing),表示事务性非常高的系统,一般都是高可用的在线系统,以小的事务以及小的查询为主,评估其系统的时候,一般看其每秒执行的Transaction以及Execute SQL的数量。在这样的系统中,单个数据库每秒处理的Transaction往往超过几百个,或者是几千个,Select 语句的执行量每秒几千甚至几万个。典型的OLTP系统有电子商务系统、银行、证券等。
OLTP 系统强调数据库内存效率,强调内存各种指标的命令率,强调绑定变量,强调并发操作。
OLTP系统最容易出现瓶颈的地方就是CPU与磁盘子系统
(1)CPU出现瓶颈常表现在逻辑读总量与计算性函数或者是过程上,逻辑读总量等于单个语句的逻辑读乘以执行次数,如果单个语句执行速度虽然很快,但是执行次数非常多,那么,也可能会导致很大的逻辑读总量。设计的方法与优化的方法就是减少单个语句的逻辑读,或者是减少它们的执行次数。另外,一些计算型的函数,如自定义函数、decode等的频繁使用,也会消耗大量的CPU时间,造成系统的负载升高,正确的设计方法或者是优化方法,需要尽量避免计算过程,如保存计算结果到统计表就是一个好的方法。
(2)磁盘子系统在OLTP环境中,它的承载能力一般取决于它的IOPS处理能力. 因为在OLTP环境中,磁盘物理读一般都是db file sequential read,也就是单块读,但是这个读的次数非常频繁。如果频繁到磁盘子系统都不能承载其IOPS的时候,就会出现大的性能问题。
OLTP比较常用的设计与优化方式为Cache技术与B-tree索引技术
(1)Cache决定了很多语句不需要从磁盘子系统获得数据,所以,Web cache与Oracle data buffer对OLTP系统是很重要的。对于数据块来说,应尽可能让数据块保存在内存当中,对于SQL来说,尽可能使用变量绑定技术来达到SQL 重用,减少物理I/O 和重复的SQL 解析,从而极大的改善数据库的性能。
(2)在索引使用方面,语句越简单越好,这样执行计划也稳定,而且一定要使用绑定变量,减少语句解析,尽量减少表关联,尽量减少分布式事务,基本不使用分区技术、MV技术、并行技术及位图索引。因为并发量很高,批量更新时要分批快速提交,以避免阻塞的发生。
(3)影响性能除了绑定变量,还有可能是热快(hot block)。 当一个块被多个用户同时读取时,Oracle 为了维护数据的一致性,需要使用Latch来串行化用户的操作。当一个用户获得了latch后,其他用户就只能等待,获取这个数据块的用户越多,等待就越明显。 这就是热快的问题。 这种热快可能是数据块,也可能是回滚端块。 对于数据块来讲,通常是数据库的数据分布不均匀导致,如果是索引的数据块,可以考虑创建反向所以来达到重新分布数据的目的,对于回滚段数据块,可以适当多增加几个回滚段来避免这种争用。
什么是OLAP
OLAP,也叫联机分析处理(Online Analytical Processing)系统,有的时候也叫DSS决策支持系统,就是我们说的数据仓库。在这样的系统中,语句的执行量不是考核标准,因为一条语句的执行时间可能会非常长,读取的数据也非常多。所以,在这样的系统中,考核的标准往往是磁盘子系统的吞吐量(带宽),如能达到多少MB/s的流量。磁盘子系统的吞吐量则往往取决于磁盘的个数,这个时候,Cache基本是没有效果的,数据库的读写类型基本上是db file scattered read与direct path read/write。应尽量采用个数比较多的磁盘以及比较大的带宽,如4Gb的光纤接口。
OLAP 系统则强调数据分析,强调SQL执行市场,强调磁盘I/O,强调分区等。
- OLTP与OLAP介绍
- OLAP与OLTP介绍
- Oracle OLAP 与 OLTP 介绍
- Oracle OLAP 与 OLTP 介绍
- Oracle OLAP 与 OLTP 介绍
- Oracle OLAP 与 OLTP 介绍 .
- Oracle OLAP 与 OLTP 介绍
- Oracle OLAP 与 OLTP 介绍
- Oracle OLAP 与 OLTP 介绍
- OLAP/OLTP介绍与比较
- Oracle OLAP 与 OLTP 介绍
- OLTP与OLAP的介绍
- OLTP与OLAP的介绍
- OLTP与OLAP的介绍
- Oracle OLAP 与 OLTP 介绍 .(转)
- OLTP与OLAP的区别和介绍
- OLTP与OLAP的介绍和区别
- OLAP与OLTP的介绍和比较
- servlet入门
- Servlet生命周期
- Webapp开发框架Clouda的使用(一)
- JAVA基础问题
- SVN 更新后遗症——项目文件加载不成功
- OLTP与OLAP介绍
- Oracle取字符串长度以及判断是否含有中文
- linux 修改用户的登陆权限
- java公式解析器学习与开发(1)
- Linux内核移植和根文件系统制作
- C++小知识之(Void**)类型的参数赋值
- py2exe 打包的exe,添加管理员权限
- 关于 input 文本垂直对齐
- 交换变量值的方法,异或并不高效或者说是一个花哨的招聘产物