分布式HTAP数据库PetaData——OLTP与OLAP一站式解决方案

isHooky 2017-08-01

一、前言

在大数据推动行业发展的年代,大型企业级应用往往选择多种数据库产品,分别支持在线交易、报表生成、日志存储、离线分析等,用以驱动业务的高速发展,但这种组合式解决方案,需要精细的控制不同产品间的数据流转和一致性问题,使用难度颇高,每个数据库产品间的数据同步和冗余,也带来了很高的成本开销,进一步限制了企业级应用的发展。

近年来Gartner提出了HTAP数据库概念,一个数据库既能支持OLTP(在线事务处理),又能支持OLAP(在线分析处理),涵盖大部分企业级应用的需求,一站解决这些问题。数据库云服务供应厂商,纷纷响应支持,企业级应用案例也如雨后春笋般涌现。

HTAP数据库在架构上做了哪些创新,解决了哪些关键问题?又能为企业级应用降低哪些应用难度,减少哪些成本开销?本文将为您揭示HTAP数据库为大数据行业带来的新变化。

二、OLTP + OLAP vs. HTAP

企业级应用的两个业务场景:在线交易和数据分析,是OLTP和OLAP的典型应用。在线交易对数据库的ACID特性有严格的要求,更关注数据库在低延迟、高并发方面的能力,数据分析对并发和延迟要求不高,反而更关注数据库的算法支持、容量、计算处理能力。在企业级应用的不同成长阶段,为这两类业务选择的技术有很大差别:

  1. 小型应用阶段:为了节省成本,企业选择将这两类业务放在同一个OLTP数据库中运行,在数据规模小时,可以运转的很好;

  2. 中型应用阶段:在数据规模上来时,会面临资源争抢的问题:分析业务会消耗数据库大量的cpu和io资源,影响到交易业务的延迟,最终使得每个业务都得不到很好服务。此时,企业选择了数据库读写分离和分时复用,一个主库用于交易,多个读库用于分析,且在线业务和离线业务分时复用;

  3. 大型应用阶段:数据规模进一步上升,单一的主库已经不能满足交易需求,读库也跑不动越来越复杂的分析SQL。此时,企业选择了分库分表和分析型数据库,利用分库分表中间件,拆分交易主库,水平扩展交易性能,同时将数据同步到OLAP数据库中,进行分析计算,做到彻底的资源隔离;

  4. 巨型应用阶段:数据规模再次上升,每次为OLTP数据库扩容都要消耗极大的人力物力,数据同步到OLAP数据库的时延和成本很高,使用时要为不同业务选择不同数据库入口,管理复杂度极大。此时,企业可以选择HTAP数据库进一步改善业务架构,降低成本,提升易用性,改善运维体验;

分布式HTAP数据库PetaData——OLTP与OLAP一站式解决方案

图1. 企业级应用的架构演进历程

仔细分析这几个不同阶段可以发现,使用HTAP数据库云服务,便能省去企业的选型麻烦:

  1. 无论业务规模多大,企业使用HTAP数据库的方式,始终都与小型应用阶段相同,无需改变使用习惯;

  2. 业务规模扩大,企业也可以为HTAP数据库添加更多的计算存储资源,提升数据库的能力,以适应业务,每个阶段无需付出额外的成本;

  3. 企业无需关心数据库的运维,进一步减少了人力开销;

阿里云提供的HybridDB for MySQL便是一款HTAP数据库云服务,兼容MySQL的协议、语法、生态,用户无需改变使用习惯,采用全自研的链路存储计算分离架构,可以满足不同业务规模的企业级应用需求,并与之共同成长。

三、HTAP数据库架构优势

阿里云HybridDB for MySQL是松耦合分布式架构的HTAP数据库云服务,核心技术架构如下所示:

分布式HTAP数据库PetaData——OLTP与OLAP一站式解决方案

图2. 阿里云HybridDB for MySQL核心架构

1. 数据分区

HybridDB for MySQL采用了数据分区的架构,分区间share nothing,从而支持线性扩容,链路、存储、计算分离,合理利用数据库的整体硬件资源,降低整体成本。

分布式HTAP数据库PetaData——OLTP与OLAP一站式解决方案

图3. 阿里云HybridDB for MySQL数据分区原理

数据分区架构使得节点扩容变得更为简单,加减节点只涉及到局部的数据搬动,而且不影响业务使用。统一的链路入口,不会改变用户的使用习惯,一份存储,不会带来更多的成本,独立的计算资源,充分适应不同业务的计算需求。

2. 统一的数据库云服务

在数据库云服务方面,HybridDB for MySQL与RDS for MySQL对齐,几个解决方案的综合对比如下:

HybridDB for MySQLRDS for MySQLOLTP+OLAP混合方案
访问入口统一入口统一入口多点入口
ACID事务特性全局ACID全局ACID组件间ACID
SQL兼容性全局一致全局一致组件间兼容性不同
数据延迟有同步延迟
稳定性统一的稳定性保障统一的稳定性保障组件间稳定性不同
性能扩容线性扩容不支持线性扩容线性扩容
计算功能扩展多种计算功能扩展不支持计算功能扩展多种计算功能扩展
存储成本一份存储一份存储多份存储
计算成本一份计算一份计算多份计算
异构数据同步成本数据同步成本较高
备份恢复支持支持组件局部支持
监控支持支持组件局部支持

表1. 阿里云HybridDB for MySQL与其他数据库服务的对比

3. 高可用

HybridDB for MySQL全链路均有高可用设计,链路引擎、计算引擎为无状态设计,副本扩增可以带来更高的可用性,存储引擎为一主多备半同步复制的存储引擎,数据库本身也支持实时备份,并支持按备份集恢复。

分布式HTAP数据库PetaData——OLTP与OLAP一站式解决方案

图4. 阿里云HybridDB for MySQL高可用架构

四、应用场景

HTAP数据库,常用于混合业务场景,以综合能力著称,可以替代大部分OLTP、OLAP数据库混用的技术架构,实际的应用场景可见下文。

1. 分库分表+实时分析

企业级应用的最典型业务为在线交易和数据分析,使用HTAP数据库能有更多的收益:

  1. 在线交易业务使用单机数据库+分库分表中间件,而HTAP数据库的水平分区架构,天然兼容分库分表中间件的业务场景,企业级用户无需再关心底层单机数据库的运维问题;

  2. 数据分析业务使用数据同步+大数据处理平台,HTAP数据库支持直接对数据进行分析处理,且不影响在线业务,在时效性和成本方面,有很大的优势;

分布式HTAP数据库PetaData——OLTP与OLAP一站式解决方案

图5. 分库分表+实时分析业务使用HTAP数据库

2. 物联网实时数据处理

物联网大数据应用,具有海量的传感器数据,实时更新和查询需求,非常密集,对数据库的性能要求很高。使用HTAP数据库,能够获得KV数据库的读写性能,NoSQL数据库的容量,OLTP关系数据库的多位查询能力,以及OLAP数据库的复杂分析能力。

分布式HTAP数据库PetaData——OLTP与OLAP一站式解决方案

图6. 物联网业务使用HTAP数据库

3. 实时数据仓库

数据仓库通常仅允许导入,并且是只读的,不允许实时更新,使用模式是将一批完整的数据导入到数据仓库中,然后利用数据仓库的计算和存储能力,进行各种维度的计算。通俗点讲,数据仓库存储的数据通常是“二手数据”,一般由关系数据库的“一手数据”生成,进入数据仓库的数据,对齐在事务边界。

对于某些时效性要求极高的大数据业务,Hadoop+MapReduce甚至是Spark都无法满足低延时大数据服务的需求,此时可以选择HTAP数据库,既支持批量导入原始数据,进行实时聚合分析,又支持实时从大数据处理平台上同步结果,充当高性能缓存和二级数仓,提升企业级应用的整体响应能力。此外,HTAP数据库也能直接生成实时报表,进一步提升HTAP数据库在大数据业务的应用范围。

分布式HTAP数据库PetaData——OLTP与OLAP一站式解决方案

图7. 实时数据仓库业务使用HTAP数据库

五、后记

随着业务的爆炸式增长,越来越多的企业,需要重量级的数据库产品和更好的服务,来避免技术架构成为企业的瓶颈,从而解放企业,以更专注于核心业务。

阿里云的创新产品HybridDB for MySQL,是阿里云全自研的HTAP数据库产品,紧贴企业级用户的需求,为企业级应用带来了新的选择,也体现了阿里云在数据库行业的技术实力和自研决心,HybridDB for MySQL会为用户带来更好的数据库服务体验。

相关推荐