OLTP、OLAP与HTAP 区别

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系统。如下图。


 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/509847.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

osg布告板技术(Billboard)

公告牌技术,即billboard技术,在3D游戏中有着广泛的应用.它的本质就是用预先做好的几幅 位图来代替3D物体,极大地节省资源和提高速度.仔细观察<<魔法门>>系列游戏,它的精灵,树木,物 品都是二维图象,但由于它始终朝向观察者,你根本看不到它"扁"的一面,所以…

1224 哥德巴赫猜想(2)

1224 哥德巴赫猜想&#xff08;2&#xff09; Time Limit : 2000/1000 MS(Java/Others) | Memory Limit :65536/32768 KB(Java/Others) Submits : 1564 | Solved : 629 Description 所谓哥德巴赫猜想&#xff0c;就是指任何一个大于2的偶数&#xff0c;都可以写成两个素数的和…

Hbase 查看 rowkey在哪个region中

首先我们先了解下 hbase:meta 表&#xff0c;hbase是指的namespace&#xff0c;meta是表名&#xff0c;这张表存储的是整个集群的Region信息。 hbase:meta表的一个rowkey对应一个region&#xff0c;rowkey设计如下: 表名,region的startRowkey,region创建时的时间戳,EcodedName …

osg坐标系转换

osg中将局部坐标系下的点坐标换算成全局坐标系下点的坐标 标签&#xff1a; matrixlist2012-05-17 16:27 2940人阅读 评论(1) 收藏 举报分类&#xff1a;osg&#xff08;7&#xff09; 坐标变换版权声明&#xff1a;本文为博主原创文章&#xff0c;未经博主允许不得转载。 今天…

1295 爱翻译

1295 爱翻译 Time Limit : 2000/1000 MS(Java/Others) | Memory Limit :65536/32768 KB(Java/Others) Submits : 390 | Solved : 80 Description 英语是现在世界第一大语言&#xff0c;所以学好英语是very important&#xff0c; 但是宁波大学的某个大牛说&#xff1a;“我不怕…

C#/WPF 播放音频文件

C#播放音频文件的方式&#xff1a; 播放系统事件声音使用System.Media.SoundPlayer播放wav使用MCI Command String多媒体设备程序接口播放mp3&#xff0c;wav&#xff0c;avi等使用WindowsMediaPlayer的COM组件来播放(可视化)使用DirectX播放音频文件使用Speech播放(朗读器&am…

Hbase 二级索引 Solr int字段排序问题 can not sort on multivalued field

Hbase Solr 同步二级索引后&#xff0c;进行int字段排序时报错 报错如下 {"responseHeader":{"zkConnected":true,"status":400,"QTime":75,"params":{"q":"*:*","sort":"hbase_index…

OpenGL渲染管线,着色器,光栅化等概念理解

卧槽&#xff0c;前些日子看这几个概念就十分想吐槽&#xff0c;这么难理解的概念窃以为纯属翻译的不够接地气。————首先&#xff0c;光栅化&#xff08;Rasterize/rasteriztion&#xff09;。这个词儿Adobe官方翻译成栅格化或者像素化。没错&#xff0c;就是把矢量图形转化…

Hbase Solr 二级索引 同步int数据报错com.ngdata.hbaseindexer.parse.ByteArrayValueMappers: Error mapping byte

二级索引实现方式&#xff1a;Hbase Key-Value Store Indexer Solr 同步int数据时提示异常 异常如下 2019-12-16 17:39:18,346 WARN com.ngdata.hbaseindexer.parse.ByteArrayValueMappers: Error mapping byte value 101 to int java.lang.IllegalArgumentException: off…

jQuery设计动画

一、显隐效果show() show(duration,[callback])show([duration],[easing],[callback]) 参数说明&#xff1a;duration&#xff1a;为一个字符串或者数字&#xff0c;决定动画将运行多久callback&#xff1a;表示在动画完成时执行的函数。easing&#xff1a;为一个字符串&#x…

值得推荐的C/C++框架和库

下次造轮子前先看看现有的轮子吧 值得学习的C语言开源项目 - 1. Webbench Webbench是一个在linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问我们设定的URL&#xff0c;测试网站在压力下工作的性能&#xff0c;最多可以模拟3万个并发连接去测试网站的…

CDH 6 安装 Hbase 二级索引 Solr + Key-Value Store Indexer

目录 一、集群安装Solr Key-Value Store Indexer 二、创建Hbase二级索引 1.更改表结构&#xff0c;允许复制 2.创建相应的SolrCloud集合 3.创建 collection实例并将配置文件上传到 zookeeper 4.创建 Lily HBase Indexer 配置 5.配置Morphline文件 6.注册 Lily HBase I…

glClipPlane剪裁平面

glClipPlane裁剪平面 (2012-02-21 12:49:18) 转载▼标签&#xff1a; 半平面 裁剪 线框 球体 表示 杂谈 分类&#xff1a; OPENGL void glClipPlane(GLenum plane, const GLdouble *equation); 定义一个裁剪平面。equation参数指向平面方程Ax By Cz D …

html思维导图

网页版&#xff1a;https://www.processon.com/view/link/5a658afae4b010a6e728e492

Hbase Solr 二级索引,更新数据部分字段丢失问题

问题&#xff1a; 第一次往hbase put数据&#xff0c;索引同步三个字段&#xff0c;第二次更新hbase数据&#xff0c;只更新一个字段&#xff0c;其他两个字段会消失。 原因&#xff1a; 在创建Hbase Indexer 时我们配置文件指定了 read-row"never" $ cat morphl…

c#事件和委托

一、委托(Delegate) 1、定义 delegate是C#中的一种类型&#xff0c;它实际上是一个能够持有对某个方法的引用的类。与其它的类不同&#xff0c;delegate类能够 拥有一个签名&#xff08;signature&#xff09;&#xff0c;并且它"只能持有与它的签名相匹配的方法的引用&qu…

Hbase二级索引 Solr 异常 The most likely cause is another Solr server (or another solr core in this server)

solr查询数据时候报错&#xff0c;去服务器查看该节点日志 {"responseHeader":{"status":503,"QTime":3,"params":{"q":"*:*","_":"1576753724528"}},"error":{"metadata&q…

MonoBehaviour常用方法

1.Start()在Update方法被调用之前开始调用Start方法&#xff0c;而且Start方法在整个MonoBehaviour生命周期内只被调用一次。Awake和Start不同的地方在于Start方法仅仅在脚本初始化后被调用&#xff0c;这样允许你延迟加载任何代码&#xff0c;直到代码真正被使用时。Awake方法…

Hbase RegionServer 启动失败 Time difference of xxx ms max allowed of 30000ms

Hbase RegionServer 启动报错 异常如下&#xff1a; STOPPED: Unhandled: org.apache.hadoop.hbase.ClockOutOfSyncException: Server hostname13,16020,1576647671625 has been rejected; Reported time is too far out of sync with master. Time difference of 32345ms …