您当前的位置:首页 > 计算机 > 软件应用 > 数据库 > 其它数据库

快速了解:数据库的分类,OLTP、OLAP与HTAP

时间:02-04来源:作者:点击数:

一、概述

我们常用的SQL数据库一般是OLTP。那么数据库有哪些分类呢?

一般有3种:OLTP、OLAP与HTAP

如果上面这张图看懂了,下面可以不用看了。

二、详细描述

下面简单介绍3种类型的数据库的定义、特点与差异。

2.1 OLTP

联机事务处理过程 OLTP(On-Line Transcation Processing)。OLTP是传统的关系型数据库的主要应用,我们平时接触比较多的都属于这一类型。

OLTP支持大量并发用户定期添加和修改数据。系统可能有若干条DML语句需要并发执行,一般都是高可用的在线系统,Select 语句的执行量每秒几千甚至几万个。系统关心实时与并发。一般看其每秒执行的Transaction以及Execute SQL的数量。

所以,实时性是需要考虑的。逻辑读就尤为重要,逻辑读总量受到两方面因素影响:

逻辑读总量 = 单个语句的逻辑读(执行速度)  *  执行次数

所以要么减少单个语句的逻辑读的时间,或者是减少它们的执行次数。才能提升效率。

瓶颈

最容易出现瓶颈的地方在于CPU和磁盘子系统。

优化

OLTP比较常用的设计与优化方式是cache技术与B-tree索引,应尽可能使用变量绑定技术来达到SQL重用,减少物理I/O 和重复的SQL 解析,从而极大的改善数据库的性能。

应用

典型的OLTP系统应用,一般都是实时性要求较高的,如电子商务,银行金融等。

2.2 OLAP

联机事务分析处理 OLAP(On-Line Analytical Processing)。系统主要用来做数据分析。

瓶颈

对于OLAP系统,SQL 的优化非常重要,因为它的数据量很大,做全表扫描和索引对性能上来说差异是非常大的。动辄几亿条或者几十亿条数据进行聚合处理,这种海量的数据,全部放在内存中操作是很难的;同时也没有必要,因为这些数据快很少重用,缓存起来也没有实际意义,而且还会造成物理I/O相当大。 所以这种系统的瓶颈往往是磁盘I/O上面的。

优化

OLAP也不关心语句执行的数量级,因为正常每条语句都会执行很长时间,实时性已经没有意义。

所以,OLAP不关心缓存,关心的是从磁盘存取数据的速度,关心的是数据库语句的优化。

应用

OLAP是一个在线检索和分析系统,是数据仓库系统的主要应用。

2.3 HTAP

OLTP的数据定期会通过ETL(提取,转换,加载)工具把数据同步导入OLAP系统中。这就涉及到数据源滞后的问题。 OLAP的数据滞后,导致分析出来的结果时效性不够,对决策支持类系统的要求不够。比如说,双11期间,用户购物的行为和推荐系统的推荐结果之间的时间差越短,越有可能提高销量。

HTAP需要解决的问题是:如何在OLTP单一数据系统上,提供OLAP操作。

优势也是比较明显的:

HTAP与OLAP和OLTP的关系如下,下图很好的阐述了OLTP与OLAP的合作使用:

(上面这张图来自于网络,比较懒,没有去重新画)

2.4 小结

综上所述,OLTP用于存储和管理日常操作的数据,OLAP用于分析这些数据。

OLTP与OLAP对比:

  • OLTP:系统强调数据库内存效率,数据量少,DML频繁,并行事务处理多,但是一般都很短。强调内存各种指标的命令率,强调并发操作;性能瓶颈在 CPU与磁盘子系统。
  • OLAP:系统则强调数据分析,数据量大,DML少。强调SQL执行时长,强调磁盘I/O,强调分区等。性能瓶颈在磁盘子系统的吞吐量(带宽,磁盘I/O)。

好了,争取一篇文章讲明白一个知识点,足矣。

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门