前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >OLTP + OLAP -> HTAP

OLTP + OLAP -> HTAP

作者头像
Apache IoTDB
发布于 2020-09-27 02:36:37
发布于 2020-09-27 02:36:37
3.1K0
举报
文章被收录于专栏:Apache IoTDBApache IoTDB

之前介绍了数据库的两种最常见的存储模型:NSM 和 DSM (列式存储的起源:DSM),今天介绍这两种存储模型和 HTAP 的联系。

本文预计阅读时间 5 分钟。

介绍 HTAP 之前,先介绍 OLTPOLAP 两个概念。

OLTP

OLTP:On-Line Transaction Processing,联机(线上)事务处理。指处理事务型应用的场景,事务这个词的英文是 Transaction,其实就是交易(一般指金融交易)。这种场景有个最常见的业务,就是转账,从一个账户转到另一个账户。一般要求实时处理,对响应的速度要求很高,并且要保证事务的 ACID 特性。面向 OLTP 场景的数据库管理系统就叫做 OLTP DBMS。一般涉及大量的增删改操作。

OLTP 与 NSM: OLTP 的场景一般需要一次操作一个对象的多个属性,比如查询一个人的姓名、银行账号、余额等。而 NSM 这种将一个对象的多个属性连续存储的行式存储模型就很适合 OLTP 的场景了。同时 NSM 也适用于写密集场景,一个对象的写入只需要一次写磁盘就能完成。

传统的关系数据库都是面向 OLTP 场景的,如 Oracle 通常用在银行系统、医疗系统等对操作的响应速度要求很高的场景。

OLAP

OLAP:On-Line Analytical Processing,联机(线上)分析处理。指处理分析型应用的场景。进入大数据时代,数据多了,计算机计算能力增强,并出现了分布式存储分布式计算等技术,人们开始对大量的数据有分析的需求了。这种分析型的场景一般需要查询大量的数据进行分析,对速度的要求没有 OLTP 高,每天晚上或每周做一次,慢慢分析就好了。一般涉及大量的查询操作,对数据的修改需求不高。

OLAP 与 DSM:OLAP 的查询模式一般是同时查很多对象的几个属性。之前看过马云的介绍对淘宝用户进行分析,比如不同地区购买衣服的平均尺寸(他举的例子比这个性感一点),这样只需要按地区筛选尺寸这个属性就好了。就很适合 DSM 这种按属性存储的列式存储模型。

列存数据库等就是面向 OLAP 的,因此,列式存储在大数据时代这种分析型场景中火了一把,如数据仓库 HBase

NSM 不适用于 OLAP,因为会额外读取很多不需要的列。而 DSM 就不适用于 OLTP,因为列式存储对增删改的代价很大。

HTAP

HTAP:Hybrid transaction/analytical processing,混合事务/分析处理。是Gartner公司提出的,Gartner 是美国一家很权威的从事信息研究和顾问的公司。

HTAP 就是 OLAP 和 OLTP 两种场景的结合。在对新旧数据进行 OLAP 分析的情况下增加事务的处理来对数据进行更新。

在实际场景中,往往 OLAP、OLTP 是同时存在的,一种解决方案是,将数据分为冷热数据,新到达的数据放在内存数据库 Redis 中,以支持 OLTP。当数据变冷后,将数据移动到 HDFS 上,准备后续的分析。

举个例子:朋友圈数据,最近一两天之内修改(评论和点赞)的频率很高,过了几天之后就变成了冷数据,基本只用来查询分析了。

再举个例子:状态数据,比如用户的登录状态,可能有的平台用户数很多,但是大多是僵尸,活跃用户数很少,这也可以区分冷热数据。

区分冷热数据是一个很实用且黑科技的方式,与 one-size-fits-all 相反,针对不同的部分做不同的优化。一个数据之前是冷数据,后来变热了,可以动态调整。区分冷热数据这种方式一般都需要这种调整是不常发生的,大量的操作还是针对热数据的。

这样,需要在系统中部署两套系统,一套 OLTP 数据库,一套 OLAP 数据库。那么能不能用一个数据库来同时支持这两种场景呢?这种数据库就叫做 HTAP DBMS。

一种构造 HTAP DBMS 的方式就是分别针对新旧数据构建两套引擎,一套负责 OLTP,一套负责 OLAP,相当于将关系数据库和列存数据库进行结合。一个查询到达后,需要分别解析成两套查询,在两个查询引擎都得到结果后进行合并,还可能用到两阶段提交等分布式事务。这样混合会带来性能的下降和查询模式的限制。

总结

存储模型与适用场景是一一对应的,而 HTAP 是两种场景的结合。将两者结合也得益于将数据区分为冷热数据,并根据冷热数据划分操作种类,这样不同的操作种类有不同的性能,满足不同的需求,这是一个比较工程化的解决方案,也很实用。

水到绝境是飞瀑,人到绝境是重生。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-09-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Apache IoTDB 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
分布式数据库的HTAP能统一OLTP和 OLAP吗?
OLAP和OLTP通过ETL衔接。为提升OLAP性能,需在ETL过程进行大量预计算,包括:
JavaEdge
2023/08/13
5580
分布式数据库的HTAP能统一OLTP和 OLAP吗?
数仓数据处理DB基本概念解析与理解 OLAP OLTP HATP 异同 MPP架构
学习数仓的时候,可能一开始总是被一些英文缩写名字迷惑,OLAP MPP架构 KAPPA架构 ODS等等,这篇文章就来梳理一下这些基本概念。
大鹅
2021/08/05
3.7K0
混合事务分析处理“HTAP”的技术要点分析
根据数据的使用特征,可简单做如下划分。在选择技术平台之前,我们需要做好这样的定位。
宜信技术学院
2019/09/24
2.5K0
混合事务分析处理“HTAP”的技术要点分析
为什么 OLAP 需要列式存储
ClickHouse 是最近比较热门的用于在线分析处理的(OLAP)[^1]数据存储,与我们常见的 MySQL、PostgreSQL 等传统的关系型数据库相比,ClickHouse、Hive 和 HBase 等用于在线分析处理(OLAP)场景的数据存储往往都会使用列式存储。
PHP开发工程师
2021/05/28
9190
为什么 OLAP 需要列式存储
OLAP 与 OLTP
数据处理大致可以分成两大类: 联机事务处理 OLTP(on-line transaction processing)、联机分析处理OLAP(On-Line Analytical Processing)。OLTP是传统的关系型数据库的主要应用,主要是基本的、日常的事务处理,例如银行交易。OLAP是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。
程序员进阶
2024/09/16
2410
OLAP 与 OLTP
OLAP、OLTP的介绍和比较
是传统的关系型数据库(Oracle、Mysql...)的主要应用,主要是基本的、日常的事务处理,数据量小(千万级),准确性及一致性要求高,例如银行交易,商城订单交易。
夹胡碰
2020/11/24
1.9K0
一文了解华为Gauss数据库:开发历程、OLTP&OLAP特点、行式&列式存储,及与Oracle和AWS对比
数据库是计算机行业的基础核心软件,所有应用软件的运行和数据处理都要与其进行数据交互。2008年阿里提出“去IOE”,而10年之后,我们现在来看,发现Oracle的数据库是最难替换的。不仅是因为Oracle的数据库沉淀了大量的企业客户数据,更是因为数据库产品开发难度确实比较大。数据库的开发难度不亚于操作系统,属于整个IT架构的基础软件(数据库软件在操作系统之上,我们可以将其称为类中间层的基础软件)。而且数据库的开发需要与底层计算架构高度相关和耦合,是适配X86架构,还是适配ARM架构等等。
数据和云
2019/09/19
9.5K0
一文了解华为Gauss数据库:开发历程、OLTP&OLAP特点、行式&列式存储,及与Oracle和AWS对比
【DBMS 数据库管理系统】OLTP 联机事务处理 与 OLAP 联机分析处理 ( 数据仓库 与 OLAP | OLAP 联机分析处理 | OLTP 与 OLAP 区别 )
数据仓库 ( Data Warehousing ) 和 联机分析处理 ( OLAP ) 技术 简介 :
韩曙亮
2023/03/28
1.1K0
Oracle-OLAP和OLTP解读
通常来说,我们把业务分为来两类,在**线事务处理系统(OLTP)和在线分析系统(OLAP)**或者DSS(决策支持系统),这两类系统在数据库的设计上是如此的不同,甚至有些地方的设计是像相悖的。
小小工匠
2021/08/16
1.3K0
OLTP与OLAP的区别精简总结
1、当今的数据处理大致可以分成两大类: 联机事务处理On-Line Transaction Processing 联机分析处理On-Line Analytical Processing
王知无-import_bigdata
2019/08/30
8.1K0
OLTP与OLAP的区别精简总结
HTAP 能够取代 OLAP 吗?
HTAP是什么HTAP(Hybrid Transaction and Analytical Processing)数据库,也称混合型关系数据库,是能同时提供OLTP和OLAP的混合关系型数据库。在互联网浪潮出现之前,企业的数据量普遍不大,特别是核心的业务数据,通常一个单机的数据库就可以保存。那时候的存储并不需要复杂的架构,所有的线上请求OLTP和后台分析OLAP都跑在同一个数据库实例上。随着互联网的发展,企业的业务数据量不断增多,单机数据库的容量限制制约了其在海量数据场景下的使用。
用户7454708
2023/05/08
4140
HTAP 能够取代 OLAP 吗?
简单理解olap引擎
尝试用最简单的方式解释一下OLAP和OLTP的区别。毕竟对于一个走业务线的数据分析师而言,一些技术问题也没有必要过分深究。
做数据的二号姬
2023/09/06
3290
简单理解olap引擎
多维度谈OLAP与OLTP数据库
Online analytical processing (OLAP) is a system for performing multi-dimensional analysis at high speeds on large volumes of data. Typically, this data is from adata warehouse, data mart or some other centralized data store. OLAP is ideal fordata mining, business intelligence and complex analytical calculations, as well as business reporting functions like financial analysis, budgeting and sales forecasting.
liddytang
2021/05/11
1.6K0
多维度谈OLAP与OLTP数据库
行式存储与列式存储的区别
我们知道,当今的数据处理大致可分为两大类,联机事务处理OLTP(on-line transaction processing) 和联机分析处理OLAP(on-line analytical processing).
shengjk1
2025/05/16
1440
行式存储与列式存储的区别
CMU 15-445 -- 存储篇 - 02
本系列为 CMU 15-445 Fall 2022 Database Systems 数据库系统 [卡内基梅隆] 课程重点知识点摘录,附加个人拙见,同样借助CMU 15-445课程内容来完成MIT 6.830 lab内容。
大忽悠爱学习
2023/10/11
3460
CMU 15-445 -- 存储篇 - 02
腾讯云数据库伍鑫:MPP数据库HTAP技术探索
本文根据伍鑫在【第十三届中国数据库技术大会(DTCC2022)】线上演讲内容整理而成。
用户6543014
2023/03/02
1.6K0
腾讯云数据库伍鑫:MPP数据库HTAP技术探索
大数据正当时,理解这几个术语很重要
目前,大数据的流行程度远超于我们的想象,无论是在云计算、物联网还是在人工智能领域都离不开大数据的支撑。那么大数据领域里有哪些基本概念或技术术语呢? 今天我们就来聊聊那些避不开的大数据技术术语,梳理并补充我们对大数据的理解。
大数据技术架构
2019/08/23
2.8K0
简单谈谈OLTP,OLAP和列存储的概念
在商业数据处理的早期阶段,写入数据库通常对应于商业的交易场景,如: 销售,订单等涉及金钱交易的场景,交易的英文为transaction,也就是事务一词的来源,在计算机领域代表一个逻辑单元的一组读写操作。
大忽悠爱学习
2023/05/02
4.3K0
简单谈谈OLTP,OLAP和列存储的概念
OLAP是什么及其发展历程
画像数据的产出、画像平台工程化实现都会涉及OLAP技术领域,本节先介绍一下OLAP是什么以及相关技术的发展历程。
张叔叔讲互联网
2023/10/02
6980
OLAP是什么及其发展历程
TiDB + TiFlash : 朝着真 HTAP 平台演进
在互联网浪潮出现之前,企业的数据量普遍不大,特别是核心的业务数据,通常一个单机的数据库就可以保存。那时候的存储并不需要复杂的架构,所有的线上请求(OLTP, Online Transactional Processing) 和后台分析 (OLAP, Online Analytical Processing) 都跑在同一个数据库实例上。后来渐渐的业务越来越复杂,数据量越来越大,DBA 们再也优化不动 SQL 了。其中一个显著问题是:单机数据库支持线上的 TP 请求已经非常吃力,没办法再跑比较重的 AP 分析型任务。跑起来要么 OOM,要么影响线上业务,要么做了主从分离、分库分表之后很难实现业务需求。
PingCAP
2019/09/02
2.8K0
相关推荐
分布式数据库的HTAP能统一OLTP和 OLAP吗?
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档