[转帖]OLTP、OLAP与HTAP

OLTP、OLAP与HTAP

https://blog.csdn.net/ZG_24/article/details/87854982

OLTP

On-Line Transaction Processing联机事务处理过程(OLTP)

也称为面向交易的处理过程,其基本特征是前台接收的用户数据可以立即传送到计算中心进行处理,并在很短的时间内给出处理结果,是对用户操作快速响应的方式之一。

这样做的最大优点是可以即时地处理输入的数据,及时地回答。也称为实时系统(Real time System)。衡量联机事务处理结果的一个重要指标是系统性能,具体体现为实时请求-响应时间(Response Time),即用户在终端上输入数据之后,到计算机对这个请求给出答复所需要的时间。OLTP是由前台、应用、数据库共同完成的,处理快慢以及处理程度取决于数据库引擎、服务器、应用引擎。

OLTP 数据库旨在使事务应用程序仅写入所需的数据,以便尽快处理单个事务。

OLTP特征

支持大量并发用户定期添加和修改数据。

反映随时变化的单位状态,但不保存其历史记录。

包含大量数据,其中包括用于验证事务的大量数据。

结构复杂。

可以进行优化以对事务活动做出响应。

提供用于支持单位日常运营的技术基础结构。

个别事务能够很快地完成,并且只需访问相对较少的数据。OLTP 旨在处理同时输入的成百上千的事务。

实时性要求高。

数据量不是很大。

交易一般是确定的,所以OLTP是对确定性的数据进行存取。(比如存取款都有一个特定的金额)

并发性要求高并且严格的要求事务的完整、安全性。(比如这种情况:有可能你和你的家人同时在不同的银行取同一个帐号的款)。

OLAP

联机分析处理OLAP是一种软件技术,它使分析人员能够迅速、一致、交互地从各个方面观察信息,以达到深入理解数据的目的。它具有FASMI(Fast Analysis of Shared Multidimensional Information),即共享多维信息的快速分析的特征。其中F是快速性(Fast),指系统能在数秒内对用户的多数分析要求做出反应;A是可分析性(Analysis),指用户无需编程就可以定义新的专门计算,将其作为分析的一部 分,并以用户所希望的方式给出报告;M是多维性(Multi—dimensional),指提供对数据分析的多维视图和分析;I是信息性(Information),指能及时获得信息,并且管理大容量信息。

OLAP展现在用户面前的是一幅幅多维视图。

维(Dimension):是人们观察数据的特定角度,是考虑问题时的一类属性,属性集合构成一个维(时间维、地理维等)。

维的层次(Level):人们观察数据的某个特定角度(即某个维)还可以存在细节程度不同的各个描述方面(时间维:日期、月份、季度、年)。

维的成员(Member):维的一个取值,是数据项在某维中位置的描述。(“某年某月某日”是在时间维上位置的描述)。

度量(Measure):多维数组的取值。(2000年1月,上海,笔记本电脑,0000)。

OLAP的基本多维分析操作有钻取(Drill-up和Drill-down)、切片(Slice)和切块(Dice)、以及旋转(Pivot)等。

钻取:是改变维的层次,变换分析的粒度。它包括向下钻取(Drill-down)和向上钻取(Drill-up)/上卷(Roll-up)。Drill-up是在某一维上将低层次的细节数据概括到高层次的汇总数据,或者减少维数;而Drill-down则相反,它从汇总数据深入到细节数据进行观察或增加新维。

切片和切块:是在一部分维上选定值后,关心度量数据在剩余维上的分布。如果剩余的维只有两个,则是切片;如果有三个或以上,则是切块。

旋转:是变换维的方向,即在表格中重新安排维的放置(例如行列互换)。

数据仓库与OLAP的关系是互补的,现代OLAP系统一般以数据仓库作为基础,即从数据仓库中抽取详细数据的一个子集并经过必要的聚集存储到OLAP存储器中供前端分析工具读取。

OLAP系统按照其存储器的数据存储格式可以分为关系OLAP(RelationalOLAP,简称ROLAP)、多维OLAP(MultidimensionalOLAP,简称MOLAP)和混合型OLAP(HybridOLAP,简称HOLAP)三种类型。

ROLAP

ROLAP将分析用的多维数据存储在关系数据库中并根据应用的需要有选择的定义一批实视图作为表也存储在关系数据库中。不必要将每一个SQL查询都作为实视图保存,只定义那些应用频率比较高、计算工作量比较大的查询作为实视图。对每个针对OLAP服务器的查询,优先利用已经计算好的实视图来生成查询结果以提高查询效率。同时用作ROLAP存储器的RDBMS也针对OLAP作相应的优化,比如并行存储、并行查询、并行数据管理、基于成本的查询优化、位图索引、SQL的OLAP扩展(cube,rollup)等等。

MOLAP

MOLAP将OLAP分析所用到的多维数据物理上存储为多维数组的形式,形成“立方体”的结构。维的属性值被映射成多维数组的下标值或下标的范围,而总结数据作为多维数组的值存储在数组的单元中。由于MOLAP采用了新的存储结构,从物理层实现起,因此又称为物理OLAP(PhysicalOLAP);而ROLAP主要通过一些软件工具或中间软件实现,物理层仍采用关系数据库的存储结构,因此称为虚拟OLAP(VirtualOLAP)。

HOLAP

由于MOLAP和ROLAP有着各自的优点和缺点(如下表所示),且它们的结构迥然不同,这给分析人员设计OLAP结构提出了难题。为此一个新的OLAP结构——混合型OLAP(HOLAP)被提出,它能把MOLAP和ROLAP两种结构的优点结合起来。迄今为止,对HOLAP还没有一个正式的定义。但很明显,HOLAP结构不应该是MOLAP与ROLAP结构的简单组合,而是这两种结构技术优点的有机结合,能满足用户各种复杂的分析请求。

OLTP与OLAP对比

HTAP

数据库系统一般可以按照负载类型分成操作型数据库(Operational Support System)和决策型数据库(Decision Support System)。操作型数据库主要用于应对日常流水类业务,主要是面向消费者类的业务;决策型数据库主要应对的是企业报表类,可视化等统计类业务,主要面向企业类的业务。

针对两类系统的数据管理和系统设计方式都有很大差异。  (1)对OLTP的数据模型采用基本的约束E-R图模型,而OLAP的数据模型则需要采用特殊的“星型模型”,数据立方等数据仓库相关的技术。  (2)对OLTP的数据存储通常采用行式组织,而OLAP采用列式组织。  (3)OLTP的业务通常对实时要求比OLAP高很多。  (4)传统的数据库,为了同时支持两类业务。通常采用两个数据源, 分别对两套系统进行优化设计。

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

HTAP是混合 OLTP 和 OLAP 业务同时处理的系统,2014年Garnter公司给出了严格的定义:混合事务/分析处理(HTAP)是一种新兴的应用体系结构,它打破了事务处理和分析之间的“墙”。它支持更多的信息和“实时业务”的决策。

直接在单一数据源上不加区分的处理TP和AP的方案,目前还不能有效实现。

当前的方案是进行一个折中。采用快照的方式,分开处理OLTP和OLAP请求。让OLAP的请求在OLTP的最新的一致性快照上执行。同时对外暴露一套接口,从而从逻辑来看是一套系统。虽然内部是分开处理OLTP和OLAP的。

这种折衷方案,重要的一点,就是保证快照是尽可能的保持“新”,快照不能太过滞后OLTP的数据。这就需要系统频繁的做快照操作。

目前两种流行的方案,一个是采用linux的系统快照能力,提供HTAP服务的方案,比如Hyper数据库系统。另一种是类似hana的方案,定期生成增量数据,然后合并到AP系统。如下图。

原文地址:https://www.cnblogs.com/jinanxiaolaohu/p/11933360.html

时间: 2024-10-11 04:38:40

[转帖]OLTP、OLAP与HTAP的相关文章

了解OLTP/OLAP

OLTP:联机事务处理,表示事务多,但执行大多较短,并发量大的数据库,如日常的进销存操作等: OLAP: 联机分析处理,表示事务较少,但执行大多较长,并发量较小的数据库,如基于数据仓库的操作: OLTP 系统强调数据库内存效率,强调内存各种指标的命令率,强调绑定变量,强调并发操作:OLAP 系统则强调数据分析,强调SQL执行市场,强调磁盘I/O,强调分区等.

HyPer: A Hybrid OLTP&OLAP Main Memory Database System Based on Virtual Memory Snapshots

HyPer也是内存数据库 传统数据库基本都是TP,后续出现BI的需求,即AP的需求,传统数据库满足不了 所以出现了数仓,但是需要ETL把TP的数据同步到数仓中,进行AP 哪怕基于列存的实时数仓,也要针对Tp和AP用不同的存储引擎 总之如果要用一套数据结构和系统同时支持TP和AP,之前是没有能做到的 Hyper说,如果用基于内存的数据库架构,就可以做到 可以看到虽然都是在做内存数据库,但是针对的问题是不一样的,比如Hekaton,目的是要让TP快100倍 他们的共同点,是都认为,以当前硬件的发展,

阿里云数据库产品HybridDB简介——OLAP数据库,支持行列混合存储,为用户提供基于开源 OLTP、OLAP、BigData 生态的一站式解决方案

12 月 9 日,阿里云宣布数据库产品 HybridDB 正式商业化. HybridDB(ApsaraDB HybridDB)是一款在线 MPP 大规模并行处理数据仓库的服务.它基于 Pivotal 公司的开源数据库项目 Greenplum Database 开发,并由阿里云数据库团队在云计算架构下深度扩展. 该服务支持了 OSS 存储.JSON 数据类型.HyperLogLog 预估分析等功能特性.通过符合 SQL2008 标准查询语法及 OLAP 分析聚合函数,提供灵活的混合分析能力.提供在

OLTP和OLAP的区别

联机事务处理OLTP(on-line transaction processing)主要是执行基本的.日常的事务处理,比如数据库记录的增.删.改.查.比如在银行存取一笔款,就是一个事务交易.OLTP的特点一般有: 1.实时性要求高: 2.数据量不是很大: 3.交易一般是确定的,所以OLTP是对确定性的数据进行存取:(比如存取款都有一个特定的金额) 4.并发性要求高并且严格的要求事务的完整,安全性.(比如这种情况:有可能你和你的家人同时在不同的银行取同一个帐号的款), 联机分析处理OLAP(On-

Oracle数据库模型(OLAP/OLTP)

数据库模型 选择数据库模型: 联机事务处理OLTP(on-line transaction processing) OLTP是传统的关系数据库的主要应用,基本的.日常的事务处理.例如银行交易. OLTP系统强调数据库内存效率,强调内存各种指标的命中率,强调绑定变量.并发操作. 联机分析处理OLAP(on-line analytical processing) OLAP是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果. OLAP系统则强调数据分析,强调SQL执

Parallel Database for OLTP and OLAP

Parallel Database for OLTP and OLAP Just asurvey article on materials on parallel database products andtechnologies for OLTP/OLAP applications. It mainly covers majorcommercial/academic efforts on developing parallel dbms to solve theever growing lar

[转]OLAP和OLTP的区别(基础知识)

联机分析处理 (OLAP) 的概念最早是由关系数据库之父E.F.Codd于1993年提出的,他同时提出了关于OLAP的12条准则.OLAP的提出引起了很大的反响,OLAP作为一类产品同联机事务处理 (OLTP) 明显区分开来. 当今的数据处理大致可以分成两大类:联机事务处理OLTP(on-line transaction processing).联机分析处理OLAP(On-Line Analytical Processing).OLTP是传统的关系型数据库的主要应用,主要是基本的.日常的事务处理

OLAP理解

一.概念 联机分析处理(OLAP)系统是数据仓库系统最主要的应用,专门设计用于支持复杂的分析操作,侧重对决策人员和高层管理人员的决策支持,可以根据分析人员的要求快速.灵活地进行大数据量的复杂查询处理,并且以一种直观而易懂的形式将查询结果提供给决策人员,以便他们准确掌握企业(公司)的经营状况,了解对象的需求,制定正确的方案. OLAP的目标是满足决策支持或多维环境特定的查询和报表需求,它的技术核心是"维"这个概念,因此OLAP也可以说是多维数据分析工具的集合. 二.分类 当今的数据处理大

数据立方体----维度与OLAP

前面的一篇文章——数据仓库的多维数据模型中已经简单介绍过多维模型的定义和结构,以及事实表(Fact Table)和维表(Dimension Table)的概念.多维数据模型作为一种新的逻辑模型赋予了数据新的组织和存储形式,而真正体现其在分析上的优势还需要基于模型的有效的操作和处理,也就是OLAP(On-line Analytical Processing,联机分析处理). 数据立方体 关于数据立方体(Data Cube),这里必须注意的是数据立方体只是多维模型的一个形象的说法.立方体其本身只有三