OLAP和OLTP的区别
联机分析处理 (OLAP) 的概念最早是由关系数据库之父E.F.Codd于1993年提出的,他同时提出了关于OLAP的12条准则。OLAP的提出引起了很大的反响,OLAP作为一类产品同联机事务处理 (OLTP) 明显区分开来。
当今的数据处理大致可以分成两大类:联机事务处理OLTP(on-line transaction processing)、联机分析处理OLAP(On-LineAnalytical Processing)。
OLTP是传统的关系型数据库的主要应用,主要是基本的、日常的事务处理,例如银行交易。OLTP系统,其特点是并发量大,整体数据量比较多,但每次访问的数据比较少,且访问的数据比较离散,活跃数据占总体数据的比例不是太大。
OLAP是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。OLAP系统的主要特点就是数据量非常大,并发访问不多,但每次访问所需要检索的数据量都比较多,而且数据访问相对较为集中,没有太明显的活跃数据概念。
下表列出了OLTP与OLAP之间的比较。
OLTP OLAP
用户 操作人员,低层管理人员 决策人员,高级管理人员
功能 日常操作处理 分析决策
DB 设计 面向应用 面向主题
数据 当前的, 最新的细节的,二维的分立的 历史的, 聚集的, 多维的集成的, 统一的
存取 读/写数十条记录 读上百万条记录
工作单位 简单的事务 复杂的查询
用户数 上千个 上百个
DB 大小 100MB-GB 100GB-TB
数据库具体是OLTP还是OLAP取决于你的业务类型,具体到Oracle数据库上应该就是一些参数的不同,以及我们设计数据库结构和程序的时候采用的方法不同,所以没这么绝对得。例如我们使用dbca建立Oracle数据库时,可选的模板除了OLTP、数据仓库(OLAP),也有一个模板是一般用途,也就是兼有二者的特点。
至于你的数据库有没有OLAP的技术特性,倒是可以在sqlplus登录时看到,如:
$ sqlplus / as sysdba
SQL*Plus: Release 11.1.0.6.0 - Production on Wed May 2 11:45:45 2012
Copyright (c) 1982, 2007, Oracle. Allrights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options