数据库相关概念(二)之OLTP和OLAP
-
目前数据处理大致可以分成两大类:在线事务处理
OLTP
(On-Line transaction processing)、在线分析处理OLAP
(On-Line Analytical Processing)。OLTP
是传统的关系型数据库的主要应用,主要是基本的、日常的事务处理,例如银行交易。OLAP
是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。什么是OLTP
- Online transaction processing shortly known as OLTP supports transaction-oriented applications in a 3-tier architecture. OLTP administers day to day transaction of an organization.
- The primary objective is data processing and not data analysis.
在线事务处理,表示事务性非常高的系统。
OLTP
管理组织的日常事务(“事务”是导致数据创建、更新、删除或检索的事件)。典型的OLTP
系统应用有自动取款机、购物中心、电子商务系统、在线预定火车和航班等。例如以大型商店为例,某人购买15种产品,然后去柜台付款。现在是
OLTP
系统将负责将要发生的事务,让我们计算一下可能发生的事务数量:- 第一个应该是将要生成并存储到数据库的账单发票;
- 第二个可能是根据发票在数据库中插入产品信息;
- 如果客户拥有并使用了会员卡,则将从其卡中扣除积分并更新新积分;
- 其他事务是通过客户购买的产品数量减少产品总数。例如,如果商店有3489包盐,而客户购买了2包,则将发生一件事务,该事务会将总数更新为3487。其他产品同样如此。
什么是OLAP
- Online Analytical Processing, a category of software tools which provide analysis of data for business decisions. OLAP systems allow users to analyze database information from multiple database systems at one time.
- The primary objective is data analysis and not data processing.
在线分析处理系统,有时也叫
DSS
决策支持系统 ,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。OLAP
系统允许用户同时分析来自多个数据库的数据,因此,在将它们存储到数据仓库之前,必须执行ETL
处理(Extraction-Transformation-Loading)。把数据预处理成数据立方(Cube),并把有可能的汇总都预先算出来(即预聚合处理),然后在用户选择多维度汇总时,在预先的计算出来的数据基础上很快地计算出用户想要的结果,从而可以更好更快地支持极大数据量的及时分析。
OLTP和OLAP之间的区别
(在了解了DB和DM的区别后再看OLTP和OLAP的区别就会觉得很清晰...但是我是先看的OLTP和OLAP再转过头看DB和DM,弄反了)
OLTP OLAP 目的 专为实时业务运营而设计 用于按类别和属性分析、预测业务 方法 使用传统的DBMS 使用数据仓库 询问 从数据库中插入,更新和删除信息 主要是选择操作 表 规范化的 没有规范化的 数据源 OLTP及其事务 不同的OLTP数据库 数据完整性 必须维护数据的完整性 数据不会经常修改,故不存在问题 响应时间 毫秒 秒 数据质量 数据库中的数据始终是详细和有组织的 数据可能是无组织的 数据库特点 快速响应时间,低数据冗余并已标准化 集成不同的数据源以构建统一的数据仓库 操作 允许读/写操作 只读,很少写 查询类型 查询是标准化且简单的 涉及聚合的复杂查询 备份 完整的数据备份与增量备份相结合 仅需要不时备份,对时间要求不严格 用户 操作人员,如业务员、数据库专业人员 决策人员,如经理、CEO 性能指标 交易吞吐量 查询吞吐量 用户数 允许成千上万的用户 仅允许数百个用户 处理 为日常使用的数据提供快速的结果 确保对查询的响应更快 推荐阅读:OLAP基础入门