一、OLTP 和 OLAP的介绍
数据处理大致可以分成两大类:
- 联机事务处理 OLTP(on-line transaction processing)
- OLTP 是传统的关系型数据库的主要应用,主要是基本的、日常的事务处理,例如银行交易;
- OLTP 系统强调数据库内存效率,强调内存各种指标的命令率,强调绑定变量,强调并发操作等;
- 联机分析处理 OLAP(On-Line Analytical Processing)
- 是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果
- OLAP 系统则强调数据分析,强调SQL执行市场,强调磁盘I/O,强调分区等;
二、OLTP 和 OLAP的比较
- OLTP 主要是执行基本日常的事务处理,用来记录某类业务事件的发生,比如数据库记录的增删查改。要求实时性高、稳定性强、确保数据及时更新成功,像公司常见的业务系统如 ERP,CRM,OA 等系统都属于 OLTP。
- OLTP 的特点:
- 实时性要求高;
- 数据量不是很大,生产库上的数据量一般不会太大,而且会及时做相应的数据处理与转移;
- 高并发,并且满足ACID原则;
- OLAP 典型的应用就是复杂的动态的报表系统。当数据积累到一定的程度,我们需要对过去发生的事情做一个总结分析时,就需要把过去一段时间内产生的数据拿出来进行统计分析,从中获取我们想要的信息,为公司做决策提供支持。
- OLAP的特点:
- 实时性要求不是很高,最常见的应用就是天级更新数据,然后出对应的数据报表;
- 数据量大;
- 查询一般都是动态,自定义的。维度的概念特别重要,一般会将用户所有关心的维度数据,存入对应数据平台;
总结
- OLAP 数据量大,DML少。使用数据仓库模板;
- OLTP 数据量少,DML频繁,并行事务处理多,但一般用时都很短。使用一般用途或事务处理模板;