OLAP和OLTP的 概念和区别

联机事务处理OLTP(on-line transaction processing)主要是执行基本的、日常的事务处理,比如在银行存取一笔款,就是一个事务交易。OLTP的特点一般有:

1.实时性要求高;

2.数据量不是很大;

3.交易一般是确定的,所以OLTP是对确定性的数据进行存取;(比如存取款都有一个特定的金额)

4.并发性要求高并且严格的要求事务的完整,安全性。(比如这种情况:有可能你和你的家人同时在不同的银行取同一个帐号的款),

联机分析处理OLAP(On-Line Analytical Processing)是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。典型的应用就是复杂的动态的报表系统。OLAP的特点一般有:

1.实时性要求不是很高,很多应用的顶多是每天更新一下数据;

2.数据量大,因为OLAP支持的是动态查询,所以用户也许要通过将很多数据的统计后才能得到想要知道的信息,例如时间序列分析等等,所以处理的数据量很大;

3.因为重点在于决策支持,所以查询一般是动态的,也就是说允许用户随时提出查询的要求。所以在OLAP中通过一个重要概念“维”来搭建一个动态查询的平台(或技术),供用户自己去决定需要知道什么信息。

以下是大致的区分:

OLTP OLAP

用户 操作人员,低层管理人员 决策人员,高级管理人员

功能 日常操作处理 分析决策

DB设计 面向应用 面向主题

数据 当前的,最新的细节的,二维的分立的 历史的,聚集的,多维的集成的, 统一的

存取 读/写数十条记录 读上百万条记录

工作单位 简单的事务 复杂的查询

用户数 上千个 上百个

DB大小 100MB-GB 100GB-TB

这些概念(或技术)都是应用层面的,这个和用什么数据库系统是无关的。有兴趣的朋友如果愿意了解OLAP的具体应用而又不愿意花太大的力气,不妨到科研、教育、文化和卫生系统去看一看,他们那里一般都有一个叫做SPSS的统计分析软件,这是一个和SQLSERVER在同一层次上的世界级的、最权威的统计分析软件,其菜单上有一个“分析”项目,其下拉的第一个项目就是OLAP,当然也可以自己装一个试试。

OLTP与OLAP是两种很高级的应用,以上只是点到了一些最表面的东西,给大家一个抛砖引玉的作用。纸上得来终觉浅,绝知此事要躬行

原文地址:https://www.cnblogs.com/Skypurple/p/1845761.html