如何支撑HTAP场景——HybridDB for MySQL系统架构和技术演进

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,高可用系列 2核4GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 10月12日的云栖大会·HTAP技术专场中,阿里云高级专家王骞探讨如何如何支撑HTAP场景,并重点分享了如何利用RDS技术实现HTAP业务,以及HybridDB for MySQL的系统架构和技术演进。

随着DT时代的到来,企业占有的数据越来越多,其规模可能达到上百TB甚至PB级,如何以合理的成本管理并维护这样一个数据库也成为各个企业IT管理中的核心问题。HybirdDB for MySQL是基于HTAP资源的数据库,同时支持OLTP,在一份数据上做事务,又支持实时分析。1012日的云栖大会·HTAP技术专场中,阿里云高级专家王骞探讨如何如何支撑HTAP场景,并重点分享了如何利用RDS技术实现HTAP业务,以及HybridDB for MySQL的系统架构和技术演进。

技术现状

首先看看技术现状,HybirdDB for MySQL是一个HTAP数据,希望同时解决在线事务和在线分析的问题。现在主流的数据库,比如MySQL,它非常擅长于做一些高并发的事务云,比如电商交易,或者尽量少的多表关联,或者预见索引的业务。反之,有一些数据库非常适合于做一些对静态数据的强分析。如果用户需要同时使用这两种业务,在现有技术方案解决下,需要事务处理库做事务类业务,需要分析类数据库做分析业务,这样无形当中会增加用户的成本,管理起来也非常的复杂。

2013年时团队看准了这个目标,希望帮助用户把这个问题解决掉,支撑更大的数据规模。在这个理念的支撑下就开始了HTAP数据库的研究。在数据规模变得非常大的情况下,成本也是非常值得考量的问题,在设计过程中项目兼顾了数据压缩,在线上观察到实际的业务,数据库能够做到3-15天压缩比。目前世界上最流行的几个数据库,比如MySQLOracle等等,它流行的并不是功能特性,而是通用的接口模式。但是,HybirdDB for MySQL并没有牺牲这方面的能力,它能够提供和MySQL一样的访问接口,帮助用户对业务做无缝的迁移。

产品现在支持SQL标准、TPC-HTPC-DS几个分析型的测试。作为RDS级云服务中一员,它同样支持RDS的云服务,比如高可靠、高可用、白名单、性能数据。在线扩容、备份恢复,这需要比较大的技术挑战。对于阿里云生态下的数据库,同时还支持DTSDMSCDPQuickBI等生态产品,可以帮助解决包括数据交换、数据操纵等多方面的问题。现在HybirdDB for MySQL的规模已经支持了国内外数十个Region,包括美洲、德国等,还有国内的北京、上海、杭州等等。目前,线上数据已经达到了PB级,每天新增几百TB级数据,供给多个阿里云比较著名的业务去做实时分析和实时的处理。

产品定位

既然是一个混合型的数据库产品,HybirdDB for MySQL就需要在OLTPOLDP两方面做性能和功能的扩展。在性能方面,HybirdDB for MySQL利用了分区自治,每个分区可以独立提供局部数据的业务,又能整体做数据的聚合、事务的聚合,提供跨区分布式的事务和分布式数据结算能力。和国内外知名数据库对比,可以看到每个数据库的定位。高并发的在线事务有一定局限,会在OLAP方面有所限制。HybirdDB for MySQL综合考虑了这几方面的因素,在架构上有很大的改进,同时解决了这几方面的问题。

技术演进

30142298ce1256211752398db6228c2bb66a7260

HybirdDB for MySQL整个产品的立项是在2013年,这时候遇到的主要问题是单机数据库的性能容量都不满足日益增长的业务需求,这时候就从中间件的思路去出发。在这个基础之上,从2014年到现在产品每年都提出了一些新的改进:比如说在2014年把中间件思路摒弃掉,改成了完整的数据库思路,解决了用户兼容性的问题;到2015年考虑到大数据降低成本,降低门槛,让更多用户参与到大数据的领域来;到2016年做了计算存储分离,这一年也做了产品公测,产品已经比较完善了,解决了单机MySQL解决不了的SQL;到了2017年,产品在OLAP方面做了更进一步的改进,引入了列存索引。在明年会做更进一步的技术革新,包括融合POLARDB作为存储引擎,更进一步提高事务能力。

1240f8cbf0924c4ce42901c95b1f713a2125ef73

在这个过程中,产品不断满足用户业务的需求,成长到现在的形态。如果对MySQL数据库了解比较多的话,会感知到它只能部署在一台机器上,因为它的存储引擎只能利用单机资源。再说说存储引擎方面,比如ADB有很多锁,这些锁会进一步限制它的并发吞吐能力,导致整机吞吐和数据处理能力下降。我们线上观察得知,MySQL性能最合适的情况下是30-50个并发连接,ALDP并发连接可以高达几千、上万。传统数据库问题会限制它在大数据领域的能力发挥,因此借鉴了分库分表中间件,就是把这些数据切开,每个数据利用业务的特性,管理和处理这些数据。中间件也会有些比较明显的局限,因为它要嵌入到用户业务代码里,它的通用性用得很好,每个用户访问中心件时就需要自己定这套业务代码。

ea1e3f4856822d6c147e5b84c5e15d4afd94083d

同时由于中间件是套在数据库上的一层,用户也有可能直接操纵顶层的数据库,这时候就会考虑到并发的问题。一些典型的问题,比如中间件要去做DBL时就需要锁住,避免用户再从旁访问。锁表过程中,数据库性能会下降。考虑到这些局限性能的问题,产品在2014年做了更大幅度的改进,过程中也遇到了非常多的问题,尤其是事故处理。2014年对SQL本身要求并不是很高,只能支持一些比较简单的聚合SQL。一些更复杂的,比如说需要数据重新交易的,在这个阶段还没有去支持,它的实现复杂度会更加高。

039d1815c4bb9627e54a5efadb8880924dd90237 

到了2015年时面临了超大规模的数据业务,包括用户希望存储上PB级的数据。在这个场景下单机数据库最多也只能提供3T左右的流量,即使压缩单机也只能放十几个T,如果想保证不损坏重建,带来的挑战很大。当然它的收益也很明显,原来是在物理机存储数据,再压缩改进一下,只需要几台或者十几台单机。这个过程中面对的最大问题就是如何实现一套低成本的存储引擎体系,综合考虑软件和硬件的问题后产品最终选择了MySQL引擎。

2797517a397f4c4b7e59d1864778a1e84bc22934

439e170558335152ff7ee91a338b444c28caf8b4

此外产品在现有硬件体系结构上还应用了混合的存储,利用一块flash卡当做硬件的缓存,综合实行了一套软硬一体的混合存储。因为大的副本一旦损坏,迁移和损坏就相当于几T数据的搬迁。

当前限制

目前HybirdDB for MySQL还有一些存储限制,比如不支持高级特性、触发器、存储过程、游标、外键。有限的分区规则下,只支持哈希分区、只支持一个字段作为分区键以及二级分区有限支持。HybirdDB for MySQL也有不太适合的业务场景,比如数据量较小时热点无法完全消除,即使消除的话也需要一些代价,需要换一些字段做分区键。暂不适合的业务场景包括有:业务结构简单且数据量小,存在热点,可以采取CloudDBA诊断优化+ RDS升级;基于Oracle的复杂系统,包含大量存储过程,可以采取ADAM + PPAS去“O”;还有业务水平拆分后存在大量分布式事务,如转帐,并发上来之后可以解决吞吐量的问题,建议选择POLARDBScaleUp扩展。

未来展望

下一个阶段,产品需要解决的问题就是继续增强易用性,如支持存储过程、丰富索引格式、丰富二级分区特性、支持多种字符集、支持外部表、支持外部数据快速加载等,用户可以把更多计算逻辑下沉到数据库上,让它的开发变得更轻量级。另外需要增强安全性,在政企和金融业务中,安全特性是他们非常看中的。比如说SSL安全加密、TDE文件加密、自主访问控制等等,下一阶段也要解决这方面问题。下一步还将继续改进体验,坚持一贯的理念,提供一站式的服务,减少用户选型,降低用户成本。架构方面也要做更多的改进,如软硬结合、智能调度、OLAP持续优化等等。

b9589069f59a45e56c304d66558ae2a5ba42e6ee

架构方面将持续优化,发挥新一代硬件优势,包括引入资源的存储引擎,在共享存储上做一个全新的引擎出来,进一步改善存储性能,增强存储能力。使用共享存储之后就不用考虑备份、迁移方面的问题,因为底层共享存储会cover掉这个问题,到明年也可以支持更全面的HTAP业务场景内容。

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
7月前
|
负载均衡 算法 关系型数据库
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
本文聚焦 MySQL 集群架构中的负载均衡算法,阐述其重要性。详细介绍轮询、加权轮询、最少连接、加权最少连接、随机、源地址哈希等常用算法,分析各自优缺点及适用场景。并提供 Java 语言代码实现示例,助力直观理解。文章结构清晰,语言通俗易懂,对理解和应用负载均衡算法具有实用价值和参考价值。
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
|
3月前
|
存储 人工智能 关系型数据库
阿里云AnalyticDB for PostgreSQL 入选VLDB 2025:统一架构破局HTAP,Beam+Laser引擎赋能Data+AI融合新范式
在数据驱动与人工智能深度融合的时代,企业对数据仓库的需求早已超越“查得快”这一基础能力。面对传统数仓挑战,阿里云瑶池数据库AnalyticDB for PostgreSQL(简称ADB-PG)创新性地构建了统一架构下的Shared-Nothing与Shared-Storage双模融合体系,并自主研发Beam混合存储引擎与Laser向量化执行引擎,全面解决HTAP场景下性能、弹性、成本与实时性的矛盾。 近日,相关研究成果发表于在英国伦敦召开的数据库领域顶级会议 VLDB 2025,标志着中国自研云数仓技术再次登上国际舞台。
376 0
|
6月前
|
关系型数据库 MySQL 分布式数据库
Super MySQL|揭秘PolarDB全异步执行架构,高并发场景性能利器
阿里云瑶池旗下的云原生数据库PolarDB MySQL版设计了基于协程的全异步执行架构,实现鉴权、事务提交、锁等待等核心逻辑的异步化执行,这是业界首个真正意义上实现全异步执行架构的MySQL数据库产品,显著提升了PolarDB MySQL的高并发处理能力,其中通用写入性能提升超过70%,长尾延迟降低60%以上。
|
存储 SQL 关系型数据库
Mysql高可用架构方案
本文阐述了Mysql高可用架构方案,介绍了 主从模式,MHA模式,MMM模式,MGR模式 方案的实现方式,没有哪个方案是完美的,开发人员在选择何种方案应用到项目中也没有标准答案,合适的才是最好的。
913 3
Mysql高可用架构方案
|
12月前
|
存储 SQL 关系型数据库
MySQL进阶突击系列(03) MySQL架构原理solo九魂17环连问 | 给大厂面试官的一封信
本文介绍了MySQL架构原理、存储引擎和索引的相关知识点,涵盖查询和更新SQL的执行过程、MySQL各组件的作用、存储引擎的类型及特性、索引的建立和使用原则,以及二叉树、平衡二叉树和B树的区别。通过这些内容,帮助读者深入了解MySQL的工作机制,提高数据库管理和优化能力。
|
8月前
|
负载均衡 算法 关系型数据库
大数据新视界--大数据大厂之MySQL数据库课程设计:MySQL集群架构负载均衡故障排除与解决方案
本文深入探讨 MySQL 集群架构负载均衡的常见故障及排除方法。涵盖请求分配不均、节点无法响应、负载均衡器故障等现象,介绍多种负载均衡算法及故障排除步骤,包括检查负载均衡器状态、调整算法、诊断修复节点故障等。还阐述了预防措施与确保系统稳定性的方法,如定期监控维护、备份恢复策略、团队协作与知识管理等。为确保 MySQL 数据库系统高可用性提供全面指导。
|
6月前
|
消息中间件 存储 大数据
阿里云消息队列 Kafka 架构及典型应用场景
阿里云消息队列 Kafka 是一款基于 Apache Kafka 的分布式消息中间件,支持消息发布与订阅模型,满足微服务解耦、大数据处理及实时流数据分析需求。其通过存算分离架构优化成本与性能,提供基础版、标准版和专业版三种 Serverless 版本,分别适用于不同业务场景,最高 SLA 达 99.99%。阿里云 Kafka 还具备弹性扩容、多可用区部署、冷热数据缓存隔离等特性,并支持与 Flink、MaxCompute 等生态工具无缝集成,广泛应用于用户行为分析、数据入库等场景,显著提升数据处理效率与实时性。
|
存储 关系型数据库 MySQL
MySQL在企业内部应用场景有哪些
【10月更文挑战第17天】MySQL在企业内部应用场景有哪些
562 0
|
10月前
|
SQL 存储 缓存
MySQL的架构与SQL语句执行过程
MySQL架构分为Server层和存储引擎层,具有高度灵活性和可扩展性。Server层包括连接器、查询缓存(MySQL 8.0已移除)、分析器、优化器和执行器,负责处理SQL语句;存储引擎层负责数据的存储和读取,常见引擎有InnoDB、MyISAM和Memory。SQL执行过程涉及连接、解析、优化、执行和结果返回等步骤,本文详细讲解了一条SQL语句的完整执行过程。
332 3
|
11月前
|
人工智能 运维 监控
云卓越架构:企业稳定性架构体系和AI业务场景探秘
本次分享由阿里云智能集团公共云技术服务部上海零售技术服务高级经理路志华主讲,主题为“云卓越架构:企业稳定性架构体系和AI业务场景探秘”。内容涵盖四个部分:1) 稳定性架构设计,强调高可用、可扩展性、安全性和可维护性;2) 稳定性保障体系和应急体系的建立,确保快速响应和恢复;3) 重大活动时的稳定重宝策略,如大促或新业务上线;4) AI在企业中的应用场景,包括智能编码、知识库问答、创意广告生成等。通过这些内容,帮助企业在云计算环境中构建更加稳定和高效的架构,并探索AI技术带来的创新机会。

推荐镜像

更多