朋友们,如果您对数据库技术有所接触,可能会经常碰到OLTP和OLAP这两个名词 。各类技术文章在描述某个数据库系统的性能时,经常会说数据库系统对OLTP的支持如何、对OLAP的支持如何等等 。
如果您不了解两者的区别和联系,可能看起来一头雾水 。甚至有些朋友把OLTP、OLAP与数据库等同起来 , 搞来搞去把自己都搞迷糊了 。
OLTP和OLAP到底是什么?OLTP和OLAP到底都是什么东东呢?别心急、且听我慢慢道来 。
OLTP是Online Transaction Processing的缩写,其中文含义为:联机事务处理;OLAP是Online Analysis Processing的缩写,其中文含义为:联机分析处理 。
上世纪60年代 , 关系数据库之父E.F.Codd提出了关系模型,造就了基于OLTP的传统关系型数据库的大发展;1993年,E.F.Codd认为传统OLTP已无法满足需求,又提出了多维数据库和多维分析的概念,即OLAP 。
OLTP是传统关系型数据库的主要应用,侧重于数据即时性和基本事务处理;OLAP是数据仓库系统的主要应用 , 侧重于决策分析和数据展示 。二者的区别和联系通过下图看起来会更清晰:
通过上述定义和图示 , 大家对OLTP和OLAP应该有了一些直观认识 。一言以蔽之,二者均是有关数据处理的技术架构和标准,但侧重点不同,二者区别就如她们名称的区别一般,OLTP的核心在于事务、OLAP的核心在于分析 。
联机事务处理OLTP的特点和应用场景【codde是什么意思 codd的意思】搞数据库的朋友都知道,我们选用某个数据库系统时,首先关注的是数据库数据处理的即时性(速度尽量的快速,近乎实时)、安全性(事务的强一致性)以及并发处理能力等 , 这些恰恰都是OLTP技术的基本要求 。
OLTP的事务处理必须满足“ACID”,即原子性(Atomicity)、一致性(Consistency)、孤立性(Isolation)和持续性(Durability) 。
在OLTP的场景中,我们要处理的数据量并不一定非常大 , 但应用的频率却非常高,数据处理存在非常频繁的小数据量读写类操作 。故而 , OLTP一般也称为“面向交易的处理系统” 。
就以常用的银行转账为例,我们转账给朋友,在极短的时间内 , 转账就生效了,试想同时有多少人在做转账操作,而且即使转账失败了,我们的钱也不会被扣掉 。这些恰恰体现了数据处理的即时性、事务强一致性和并发处理能力 。
OLTP类型的业务 , 每次操作的数据量一般并不大,但会非常频繁 。再比如每年双十一,京东和天猫都存在海量的数据交换 , 上百亿次的频繁数据处理、大量的数据并发,但我们也很少见京东或天猫出什么大问题,这充分说明京东和阿里数据库的OLTP性能非常棒 。
我们常见的传统大型关系型数据库,包括PostgreSQL、MySQL、SQL Server、Oracle、DB2等,对OLTP的支持都是非常棒的 。换言之,对OLTP的良好支持是传统关系型数据库的主要特色之一 。
联机分析处理OLAP的特点和应用场景
联机分析处理OLAP是一种超高技术含量的软件技术,它使分析人员能够快速、一致、交互的从各个方面观察信息,以达到深入理解数据的目的 。OLAP的特性可归结为FASMI(Fast Analysis of Shared Multidimensional Information) , 即共享多维信息的快速分析 。
推荐阅读
- 小年北什么意思呀 小年北什么意思
- 净水器400g600g是什么意思 净水器400g和600g的区别
- 韩国电影哭声讲的是什么 电影哭声剧情介绍
- 996工作制是什么意思 996是什么意思
- 女人梦见自己看到棺材了 女人梦见自己看到棺材了什么意思
- 梦见自己一直扫地 梦见自己扫地干净是什么意思
- 梦见别人棺材放家里 梦见别人棺材放家里什么意思
- 梦见自己在扫地 梦见自己在扫地是什么预兆
- 梦见自己一直在扫地 梦见自己一直在扫地是什么意思
- 女人梦见自己扫地 女人梦见自己扫地是什么意思