原文地址:https://www.cnblogs.com/hhandbibi/p/7118740.htmlhtml
数据处理大体能够分红两大类:联机事务处理OLTP(on-line transaction processing)、联机分析处理OLAP(On-Line Analytical Processing)。OLTP是传统的关系型数据库的主要应用,主要是基本的、平常的事务处理,例如银行交易。OLAP是数据仓库系统的主要应用,支持复杂的分析操做,侧重决策支持,而且提供直观易懂的查询结果。 mysql
OLTP 系统强调数据库内存效率,强调内存各类指标的命令率,强调绑定变量,强调并发操做;
OLAP 系统则强调数据分析,强调SQL执行市场,强调磁盘I/O,强调分区等。 sql
OLTP,也叫联机事务处理(Online Transaction Processing),表示事务性很是高的系统,通常都是高可用的在线系统,以小的事务以及小的查询为主,评估其系统的时候,通常看其每秒执行的Transaction以及Execute SQL的数量。在这样的系统中,单个数据库每秒处理的Transaction每每超过几百个,或者是几千个,Select 语句的执行量每秒几千甚至几万个。典型的OLTP系统有电子商务系统、银行、证券等,如美国eBay的业务数据库,就是很典型的OLTP数据库。数据库
OLTP比较经常使用的设计与优化方式为Cache技术与B-tree索引技术,Cache决定了不少语句不须要从磁盘子系统得到数据,因此,Web cache与Oracle data buffer对OLTP系统是很重要的。另外,在索引使用方面,语句越简单越好,这样执行计划也稳定,并且必定要使用绑定变量,减小语句解析,尽可能减小表关联,尽可能减小分布式事务,基本不使用分区技术、MV技术、并行技术及位图索引。由于并发量很高,批量更新时要分批快速提交,以免阻塞的发生。
OLTP 系统是一个数据块变化很是频繁,SQL 语句提交很是频繁的系统。 对于数据块来讲,应尽量让数据块保存在内存当中,对于SQL来讲,尽量使用变量绑定技术来达到SQL重用,减小物理I/O 和重复的SQL 解析,从而极大的改善数据库的性能。并发
OLAP,也叫联机分析处理(Online Analytical Processing)系统,有的时候也叫DSS决策支持系统,就是咱们说的数据仓库。在这样的系统中,语句的执行量不是考核标准,由于一条语句的执行时间可能会很是长,读取的数据也很是多。因此,在这样的系统中,考核的标准每每是磁盘子系统的吞吐量(带宽),如能达到多少MB/s的流量。分布式
在OLAP系统中,常使用分区技术、并行技术。
分区技术在OLAP系统中的重要性主要体如今数据库管理上,好比数据库加载,能够经过分区交换的方式实现,备份能够经过备份分区表空间实现,删除数据能够经过分区进行删除,至于分区在性能上的影响,它可使得一些大表的扫描变得很快(只扫描单个分区)。另外,若是分区结合并行的话,也可使得整个表的扫描会变得很快。总之,分区主要的功能是管理上的方便性,它并不能绝对保证查询性能的提升,有时候分区会带来性能上的提升,有时候会下降。
并行技术除了与分区技术结合外,在Oracle 10g中,与RAC结合实现多节点的同时扫描,效果也很是不错,可把一个任务,如select的全表扫描,平均地分派到多个RAC的节点上去。性能
联机分析处理(OLAP,On-line Analytical Processing),数据量大,DML少。使用数据仓库模板
联机事务处理(OLTP,On-line Transaction Processing),数据量少,DML频繁,并行事务处理多,可是通常都很短。使用通常用途或事务处理模板。优化
决策支持系统(DDS,Decision support system),典型的操做是全表扫描,长查询,长事务,可是通常事务的个数不多,每每是一个事务独占系统。.net