现在的位置: 首页 > 综合 > 正文

OLTP与OLAP

2014年08月16日 ⁄ 综合 ⁄ 共 1793字 ⁄ 字号 评论关闭

联机分析处理 (OLAP) 的概念最早是由关系数据库之父E.F.Codd于1993年提出的,他同时提出了关于OLAP的12条准则。OLAP的提出引起了很大的反响,OLAP作为一类产品同联机事务处理 (OLTP) 明显区分开来。


当今的数据处理大致可以分成两大类:联机事务处理OLTP(on-line transaction processing)、联机分析处理OLAP(On-LineAnalytical Processing)。

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


OLTP的特点一般有:

      1.实时性要求高;

      2.数据量不是很大;

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

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


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


OLAP的特点一般有:

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

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

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


(图片来自《数据挖掘——概念与技术》)


操作数据库与数据仓库的区别:

由于大多数人都熟悉商用关系数据库系统,将数据仓库与之比较,就容易理解什么是数据仓库。联机操作数据库系统的主要任务是执行联机事务和查询处理。这种系统称为联机事务处理(OLTP)系统。它们涵盖了一个组织的大部分日常操作,如购买、库存、制造、银行、工资、注册、记帐等。另一方面,数据仓库系统在数据分析和决策方面为用户或“知识工人”提供服务。这种系统可以用不同的格式组织和提供数据,以便满足不同用户的形形色色需求。这种系统称为联机分析处理(OLAP)系统。

OLTP 和 OLAP 的主要区别概述如下:

用户和系统的面向性:OLTP 是面向顾客的,用于办事员、客户和信息技术专业人员的事务和查询处理。OLAP 是面向市场的,用于知识工人(包括经理、主管和分析人员)的数据分析。

数据内容:OLTP 系统管理当前数据。通常,这种数据太琐碎,难以用于决策。OLAP 系统管理大量历史数据,提供汇总和聚集机制,并在不同的粒度级别上存储和管理信息。这些特点使得数据容易用于见多识广的决策。

数据库设计:通常,OLTP 系统采用实体-联系(ER)模型和面向应用的数据库设计。而OLAP 系统通常采用星型雪花模型和面向主题的数据库设计。

视图:OLTP 系统主要关注一个企业或部门内部的当前数据,而不涉及历史数据或不同组织的数据。相比之下,由于组织的变化,OLAP 系统常常跨越数据库模式的多个版本。OLAP 系统也处理来自于不同组织的信息,由多个数据存储集成的信息。由于数据量巨大,OLAP 数据也存放在多个存储介质上。

访问模式:OLTP 系统的访问主要由短的原子事务组成。这种系统需要并行控制和恢复机制。然而,对 OLAP 系统的访问大部分是只读操作(由于大部分数据仓库存放历史数据,而不是当前数据),尽管许多可能是复杂的查询。

 

 References:

《数据仓库》(Building the Data Warehouse),W.H.Inmon 著,机械工业出版社出版。数据仓库是数据挖掘和 OLAP 的基础,是实现一对一服务的必经之路,是目前对于企业最有战略价值的技术。 W.H.Inmon 就是“数据仓库之父”。

《数据挖掘—概念与技术》(Data Mining: Concepts and Techniques),Jiawei Han& Micheline Kamber 著,机械工业出版社出版。 数据仓库提供了 OLAP 的基础,而如何更好地做 OLAP,则是数据挖掘技术所要讨论的。

抱歉!评论已关闭.