OLAP和OLTP比较

https://www.cnblogs.com/lingchen-liang/p/10690619.html

OLTP与OLAP的介绍

数据处理大致可以分成两大类:联机事务处理OLTP(on-line transaction processing)、联机分析处理OLAP(On-Line Analytical Processing)。OLTP是传统的关系型数据库的主要应用,主要是基本的、日常的事务处理,例如银行交易。OLAP是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。

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

OLAP:系统则强调数据分析,强调SQL执行市场,强调磁盘I/O,强调分区等。

从应用上来看看OLTP与OLAP的区别

OLTP主要用来记录某类业务事件的发生,如购买行为,当行为产生后,系统会记录是谁在何时何地做了何事,这样的一行(或多行)数据会以增删改的方式在数据库中进行数据的更新处理操作,要求实时性高、稳定性强、确保数据及时更新成功,像公司常见的业务系统如ERP,CRM,OA等系统都属于OLTP。当数据积累到一定的程度,我们需要对过去发生的事情做一个总结分析时,就需要把过去一段时间内产生的数据拿出来进行统计分析,从中获取我们想要的信息,为公司做决策提供支持,这时候就是在做OLAP了。因为OLTP所产生的业务数据分散在不同的业务系统中,而OLAP往往需要将不同的业务数据集中到一起进行统一综合的分析,这时候就需要根据业务分析需求做对应的数据清洗后存储在数据仓库中,然后由数据仓库来统一提供OLAP分析。所以我们常说OLTP是数据库的应用,OLAP是数据仓库的应用,下面用一张图来简要对比。
OLTP OLAP
业务目的 处理业务,订单、合同等 业务支持决策
面向对象 业务处理人员 业务决策人员
主要工作负载 增、删、修改 查询
主要衡量指标 事务吞吐量 查询速度
数据库设计 3NF或者BCNF 星形或雪花模型
所以OLAP和OLTP之间的关系可以认为OLAP是依赖于OLTP的,因为OLAP分析的数据都是由OLTP所产生的,也可以看作OLAP是OLTP的一种延展,一个让OLTP产生的数据发现价值的过程。

OLTP与OLAP之间的比较:

OLTP OLAP
用户 操作人员,底层管理人员 决策人员,高层管理人员
功能 日常操作处理 分析决策
DB设计 面向应用 面向主题
数据 最新的,细节的,二维的,分立的 历史的,聚集的,多维的,集成的
存取规模 读/写数(数百条)条记录 读百万(上亿)条记录
操作频度 频繁(以秒计) 稀疏(以小时以及周计)
工作单位 严格事务 复杂查询
用户数 数百个-数千万个 数个-数百个
DB大小 100M-GB 100GB-TB
时间要求 具有实时性 对时间要求不严格
主要应用 数据库 数据仓库

特点

联机分析处理(OLAP,On-line Analytical Processing),数据量大,DML少。

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

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

你可能感兴趣的:(数据库,数据仓库)