操作数据库系统(OLTP)和联机分析处理系统(OLAP)的区别
联机操作数据库系统的主要任务是执行联机事务和查询处理。这种系统称为联机事务处理(OnLine Transaction Processing,OLTP) 系统。它们涵盖了单位的大部分日常操作,如购物,库存,制造,银行,工资,注册,记帐等。另一方面,数据仓库系统在数据分析和决策方面为用户或者“知识工人”提供服务。这种系统可以用不同的格式组织和提供数据,以便满足不同用户的形形色色的需求。这种系统称为联机分析处理(OnLine Analytical Processing,OLAP)系统
OLTP与OLAP的主要区别概述如下:
- 用户和系统的面向性:OLTP是面向顾客的,用于办事员,客户和信息技术专业人员的事务和查询处理。OLAP是面向市场的,用于知识工人(包括经理,主管和分析人员)的数据分析。
- 数据内容:OLTP系统管理当前数据。通常,这种数据太琐碎,很难用于决策。OLAP系统管理大量历史数据,提供汇总和聚集机制,并在不同的粒度层上存储和管理信息。这些特点使得数据更容易用于有根据的决策。
- 数据库设计:通常OLTP系统采用实体-联系(ER)数据模型和面向应用的数据库设计。而OLAP系统通常采用星形或者雪花模型和面向主题的数据库设计。
- 视图:OLTP系统主要关注一个企业或者部门内部的当前数据,而不涉及历史数据或者不同单位的数据。相比之下,由于单位的演变,OLAP系统常常跨越数据模式的多个版本。OLAP系统还处理来自不同单位的信息,以及由多个数据库继承的信息。由于数据量巨大,OLAP数据也存放在多个存储介质上。
- 访问模式:OLTP系统的访问主要有短的原子事务组成。这种系统需要并发控制和恢复机制。然而,对OLAP系统的访问大部分是只读操作(由于大部分数据仓库存放历史数据,而不是最新数据),尽管许多可能是复杂的查询。
OLTP和OLAP的其他区别包括数据库大小,操作的频繁程序,性能度量等。如下图所示:
特征
OLTP
OLAP
特性 操作处理 信息处理 面向 事务 分析 用户 办事员,DBA,数据库专业人员 知识工人(经理,主管,分析人员) 功能 日常操作 长期信息需求,决策支持 DB设计 基于E-R,面向应用 星形/雪花,面向主题 数据 当前的,确保最新 历史的,跨时间维护 汇总 原始的,高度详细 汇总的,统一的 视图 详细,一般关系 汇总的,多维的 工作单元 短的,简单事务 复杂查询 访问 读/写 大多数为读 关注 数据进入 信息输出 操作 主码上索引/散列 大量扫描 访问记录数量 数十 数百万 用户数 数千 数百 DB规模 GB及以上 >=TB 优先 高性能,高可用性 高灵活性,终端用户自治 度量 事务吞吐量 查询吞吐量,响应时间
以上,本来内容基本上来自机械工业出版社出版的《数据挖掘概念与技术》第4.1.2章节。