混合事务分析处理“HTAP”的技术要点分析

  

HTAP是近些年来比较火的一个概念,本文将聊聊HTAP的前世今生及技术特点。

  

一、数据应用类别

  

根据数据的使用特征,可简单做如下划分。在选择技术平台之前,我们需要做好这样的定位。

  

混合事务分析处理”HTAP”的技术要点分析

  

1.1 OLTP联机事务处理OLTP(联机事务处理)

  

OLTP是事件驱动,面向应用的,也称为面向交易的处理过程。其基本特征是前台接收的用户数据可以立即传送到计算中心进行处理,并在很短的时间内给出处理结果,是对用户操作的快速响应,例如银行类,电子商务类的交易系统就是典型的OLTP系统。

  

OLTP具备以下特点:

  
      <李>直接面向应用,数据在系统中产生。   <李>基于交易的处理系统。   <李>每次交易牵涉的数据量很小,对响应时间要求非常高。   <李>用户数量非常庞大,其用户是操作人员,并发度很高。   <李>数据库的各种操作主要基于索引进行。   <李>以SQL作为交互载体。   <李>总体数据量相对较小。   
  

1.2 OLAP联机实时分析OLAP(联机分析处理)

  

OLAP是面向数据分析的,也称为面向信息分析处理过程。它使分析人员能够迅速,一致,交互地从各个方面观察信息,以达到深入理解数据的目的。其特征是应对海量数据,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果,例如数据仓库是其典型的OLAP系统。

  

OLAP具备以下特点:

  
      <李>本身不产生数据,其基础数据来源于生产系统中的操作数据。   <李>基于查询的分析系统;复杂查询经常使用多表联结,全表扫描等,牵涉的数量往往十分庞大。   <李>每次查询设计的数据量很大,响应时间与具体查询有很大关系。   <李>用户数量相对较小,其用户主要是业务人员与管理人员。   <李>由于业务问题不固定,数据库的各种操作不能完全基于索引进行。   <李>以SQL为主要载体,也支持语言类交互。   <李>总体数据量相对较大。   
  

1.3其他

  

除了传统的OLTP, OLAP类,近些年来针对数据的使用又有些新特点,我将其归入了“其”他类。

  

1)多模

  

随着业务”互联网化”和“智能化”以及架构”微服务”和“云化”的发展,应用系统对数据的存储管理提出了新的标准和要求,数据的多样性成为突出的问题。早期数据库主要面对结构化数据的处理场景。后来随着业务的发展,逐渐产生了对非结构化数据的处理需求,包括结构化数据,半结构化(JSON、XML等)数据,文本数据,地理空间数据,图数据,音视频数据等。多模,正是指单一数据库支持多种类型数据的存储与处理。

  

2)流式

  

流式处理(实时计算),是来源于对数据加工时效性的需求。数据的业务价值随着时间的流失而迅速降低,因此在数据发生后必须尽快对其进行计算和处理。传统基于周期类的处理方式,显然无法满足需求。

  

随着移动互联网,物联网和传感器的发展导致大量的流式数据产生,相应地出现了专有的流式数据处理平台,如风暴,卡夫卡等。近些年来,很多数据库开始支持流式数据处理,例如MemSQL, PipelineDB。有些专有流式数据处理平台开始提供SQL接口,例如KSQL基于卡夫卡提供了流式SQL处理引擎。

  

3)高阶

  

随着对数据使用的深入,数据的使用不再仅仅以简单的增删改查或分组聚合类操作,而对于其更为高阶的使用也逐步引起大家的重视,例如使用机器学习,统计分析和模式识别等算法,对数据进行分析等。

  

1.4对比——OLAP vs OLTP

  

混合事务分析处理”HTAP”的技术要点分析

  

二、数据处理模式

  

面对上述复杂多变的应用场景,数据应用的多种类别,是由单一平台处理,还是由不同平台来处理呢?一般来说,专有系统的性能将比通用系统性能高一到两个数量级,因而不同的业务应采用不同的系统。但正如古人说“天下大势,分久必合,合久必分”,在数据处理领域也有一种趋势,由单一平台来处理。

  

这里选择的核心在于如何来辩证看待需求和技术。它们是一对矛盾体,当这对矛盾缓和时,数据处理领域将更趋向于整合;而当这对矛盾尖锐时,数据处理领域将趋于分散。就软硬件技术发展现状和当前需求来看,未来整合的趋势更为明显。集成数据平台将能满足绝大多数用户的场景,只有极少数企业需要使用专有系统来实现其特殊的需求。

混合事务分析处理“HTAP”的技术要点分析