OLTP,OLAP以及HTAP的区别

OLTP

OLTP(On-Line Transaction Processing)联机事务处理过程,也称为面向交易的处理过程,其基本特征是前台接收的用户数据可以立即传送到计算中心进行处理,在很短的时间内给出处理结果,是对用户操作快速响应的方式之一,支持事务,它主要应用于传统的关系型数据库当中。

例如银行类、电子商务类的交易系统就是典型的OLTP系统。其具备以下特点:

直接面向应用,数据在系统中产生。

基于交易的处理系统。

每次交易牵涉的数据量很小;对响应时间要求非常高。

用户数量非常庞大,其用户是操作人员,并发度很高。

数据库的各种操作主要基于索引进行。

以SQL作为交互载体。

总体数据量相对较小。

OLAP

OLAP(On line Transaction Processing) 联机分析处理过程是一种软件技术,它使分析人员能够迅速、一致、交互地从各个方面观察信息,以达到深入理解数据的目的。因此面向决策分析的人员比较多。它主要应用于数据仓库系统,支持复杂的分析操作,侧重决策支持,并提供直观易懂的查询结果。

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

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

具备以下特点:

本身不产生数据,其基础数据来源于生产系统中的操作数据

基于查询的分析系统;复杂查询经常使用多表联结、全表扫描等,牵涉的数量往往十分庞大

每次查询设计的数据量很大,响应时间与具体查询有很大关系

用户数量相对较小,其用户主要是业务人员与管理人员

由于业务问题不固定,数据库的各种操作不能完全基于索引进行

以SQL为主要载体,也支持语言类交互

总体数据量相对较大

HTAP

HTAP数据库(Hybrid Transaction and Analytical Process,混合事务和分析处理)。2014年Gartner的一份报告中使用混合事务分析处理(HTAP)一词描述新型的应用程序框架,以打破OLTP和OLAP之间的隔阂,既可以应用于事务型数据库场景,亦可以应用于分析型数据库场景。实现实时业务决策。这种架构具有显而易见的优势:不但避免了繁琐且昂贵的ETL操作,而且可以更快地对最新数据进行分析。这种快速分析数据的能力将成为未来企业的核心竞争力之一。

技术要点

底层数据要么只有一份,要么可快速复制,并且同时满足高并发的实时更新。

要满足海量数据的容量问题,在存储、计算都具有很好的线性扩展能力。

具有很好的优化器,可满足事务类、分析类的语句需求。

具备标准的SQL,并支持诸如二级索引、分区、列式存储、向量化计算等技术。

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

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

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

重点技术 – 行列存储

行存储(Row-based):对于传统的关系型数据库,比如甲骨文的OracleDB和MySQL,IBM的DB2、微软的SQL Server等,一般都是采用行存储(Row-based)行。在基于行式存储的数据库中,数据是按照行数据为基础逻辑存储单元进行存储的,一行中的数据在存储介质中以连续存储形式存在。

列式存储(Column-based)是相对于行式存储来说的,新兴的Hbase、HP Vertica、EMC Greenplum 等分布式数据库均采用列式存储。在基于列式存储的数据库中,数据是按照列为基础逻辑存储单元进行存储的,一列中的数据在存储介质中以连续存储形式存在。传统的行式数据库,是按照行存储的,维护大量的索引和物化视图无论是在时间(处理)还是空间(存储)面成本都很高。而列式数据库恰恰相反,列式数据库的数据是按照列存储,每一列单独存放,数据即是索引。只访问查询涉及的列,大大降低了系统I/O,每一列由一个线来处理,而且由于数据类型一致,数据特征相似,极大方便压缩。

重点技术 – MPP

MPP (Massively Parallel Processing),即大规模并行处理,在数据库非共享集群中,每个节点都有独立的磁盘存储系统和内存系统,业务数据根据数据库模型和应用特点划分到各个节点上,每台数据节点通过专用网络或者商业通用网络互相连接,彼此协同计算,作为整体提供数据库服务。非共享数据库集群有完全的可伸缩性、高可用、高性能、优秀的性价比、资源共享等优势。简单来说,MPP是将任务并行的分散到多个服务器和节点上,在每个节点上计算完成后,将各自部分的结果汇总在一起得到最终的结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值