:::info 当今的数据处理大致可以分成两大类:联机事务处理OLTP(on-line transacTIon processing)、联机分析处理OLAP(On-Line AnalyTIcal Processing)。OLTP是传统的关系型数据库的主要应用,主要是基本的、日常的事务处理,例如银行交易。OLAP是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。 :::
OLTP(实时交易库大量短事务对IO要求高)
OLTP是传统的关系型数据库的主要应用,主要是基本的、日常的事务处理,记录即时的增、删、改、查,比如在银行存取一笔款,就是一个事务交易。
也称为实时系统(Real time System)。衡量联机事务处理系统的一个重要性能指标是系统性能,具体体现为实时响应时间(Response Time),即用户在终端上送入数据之后,到计算机对这个请求给出答复所需要的时间。
特点
1、实时性要求高;
OLTP 数据库旨在使事务应用程序仅写入所需的数据,以便尽快处理单个事务。
2、数据量不是很大;
3、交易一般是确定的,所以OLTP是对确定性的数据进行存取(比如存取款都有一个特定的金额);
4、支持大量并发用户定期添加和修改数据。
并发性要求高并且严格的要求事务的完整、安全性 (比如这种情况:有可能你和你的家人同时在不同银行取同一个帐号的款)。
OLAP(数据仓库读取分析对CPU要求高)
所谓数据仓库是对于大量已经由OLTP形成的历史数据加工与分析,读取较多,更新较少的一种分析型的数据库,用于处理商业智能、决策支持等重要的决策信息。
OLAP即联机分析处理,是数据仓库的核心部心,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。典型的应用就是复杂的动态报表系统。
有兴趣的朋友不妨到科研、教育、文化和卫生系统去看一看,他们那里一般都有一个叫做SPSS(世界上最早的统计分析软件)的统计分析软件,其菜单上有一个“分析”项目,其下拉的第一个项目就是OLAP。
特点
1、实时性要求不是很高,很多应用顶多是每天更新一下数据;
2、数据量大,因为OLAP支持的是动态查询,所以用户也许要通过将很多数据的统计后才能得到想要知道的信息,例如时间序列分析等等,所以处理的数据量很大;
3、因为重点在于决策支持,所以查询一般是动态的,也就是说允许用户随时提出查询的要求。于是在OLAP中通过一个重要概念“维”来搭建一个动态查询的平台(或技术),供用户自己去决定需要知道什么信息。
OLTP和OLAP总结
OLTP与OLAP之间的比较
特性的不同决定了对资源需求的偏重
OLTP和OLAP的不同,主要通过以下五点区分开来。
1、用户和系统的面向性:
OLTP是面向顾客的,用于事务和查询处理
OLAP是面向市场的,用于数据分析
2、数据内容:
OLTP系统管理当前数据
OLAP系统管理大量历史数据,提供汇总和聚集机制
3、访问模式:
OLTP系统的访问主要由短的原子事务组成,这种系统需要并行和回滚恢复机制
OLAP系统的访问大部分是只读操作
4、视图:
OLTP组织内部的当前数据,不涉及历史数据或不同组织的数据
OLAP则相反.
5、数据库设计:
OLTP采用实体-联系ER模型和面向应用的数据库设计.
OLAP采用星型或雪花模型和面向主题的数据库设计.