大数据中的OLAP和OLTP

定义

OLAP(On-Line Analytical Processing)联机分析处理,也称为面向交易的处理过程,其基本特征是前台接收的用户数据可以立即传送到计算中心进行处理,并在很短的时间内给出处理结果,是对用户操作快速响应的方式之一。应用在数据仓库,使用对象是决策者。OLAP系统强调的是数据分析,响应速度要求没那么高。

OLTP(On-Line Transaction Processing)联机事务处理,它使分析人员能够迅速、一致、交互地从各个方面观察信息,以达到深入理解数据的目的。它具有FASMI(Fast Analysis of Shared Multidimensional Information),即共享多维信息的快速分析的特征。主要应用是传统关系型数据库。OLTP系统强调的是内存效率,实时性比较高。

从对数据库的操作来看,OLTP主要是对数据的增删改,OLAP是对数据的查询分析。

各自特点

OLAP

  1. 实时性要求相对不高(对于简单查询,允许延迟大约50毫秒),比如天、周、月报表。
  2. 大多数是读请求且不修改已添加的数据
  3. 数据总是以相当大的批(大于1000行)进行写入
  4. OLAP模型必须提供多维概念视图,查询的条件都是动态不确定的,所以维度的概念非常重要

OLTP

  1. 实时性要求高,基本都是实时处理,比如商城类的购买流程
  2. 数据量和OLAP比,非常小,而且对数据会根据一定条件做冷库热裤处理
  3. 数据处理逻辑和业务场景相对固定,如上面提到的购买流程
  4. 高并发且高稳定,如商城系统,没人希望自己的钱和货出现差错

表格对比

维度 OLAP OLTP
使用群体 数据分析人员,决策人员 系统使用人员(卖家/买家)
使用目的 数据分析和决策 处理业务,如订单、合同
工作条件 随机场景使用 固定场景使用
数据大小 GB、TB、PB、EB MB、GB
时间要求 要求不高 实时性
并发量
衡量指标 数据吞吐量 查询响应速度(QPS)

其实这里也能体现出我国12306的厉害了,数据量大,实时性,稳定性都要有要求,但这些并没有影响我抢不到票时候的不开心

常见库举例

OLAP

如DorisDB、ClickHouse、GreenPlum、Kylin等

OLTP

用的是传统的DBMS,如MySQL、Oracle、Postgresql等

小捐怡情,大捐感激,点下广告也是极好的