浅谈OLTP和OLAP的区别
浅谈OLTP和OLAP的区别
二者概念
OLTP(on-line transaction processing)为联机事务处理。
OLAP(On-Line Analytical Processing)为联机分析处理。
简单来说,OLTP是做事务处理,OLAP是做分析处理。
在数据库的操作层面来看,OLTP主要是对数据的增删改,侧重实时性,OLAP是对数据的查询,侧重大数据量查询。
场景和应用的区别
- 实时性要求不同:OLTP实时性要求高,OLTP 数据库旨在使事务应用程序仅写入所需的数据,以便尽快处理单个事务。OLAP的实时性要求不是很高,很多应用顶多是每天更新一下数据。
- 数据量不同:OLTP数据量不是很大,一般只读/写数十条记录,处理简单的事务。OLAP数据量大,因为OLAP支持的是动态查询,所以用户也许要通过将很多数据的统计后才能得到想要知道的信息,例如时间序列分析等等,所以处理的数据量很大。
- 用户和系统的面向性不同:OLTP是面向顾客的,用于事务和查询处理。OLAP是面向市场的,用于数据分析。
- 数据库设计不同:OLTP采用实体-联系ER模型和面向应用的数据库设计。OLAP采用星型或雪花模型和面向主题的数据库设计。
OLTP | OLAP | |
---|---|---|
业务目的 | 处理业务,如订单、合同等 | 业务支持决策 |
面向对象 | 业务处理人员 | 分析决策人员 |
主要工作负载 | 增、删、改 | 查询 |
主要衡量指标 | 事务吞吐量 | 查询响应速度(QPS) |
数据库设计 | 3NF或BCNF | 星型/雪花模型 |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Pandolar's Blog!
评论