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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: 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业务场景内容。

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
8天前
|
弹性计算 负载均衡 网络协议
阿里云SLB深度解析:从流量分发到架构优化的技术实践
本文深入探讨了阿里云负载均衡服务(SLB)的核心技术与应用场景,从流量分配到架构创新全面解析其价值。SLB不仅是简单的流量分发工具,更是支撑高并发、保障系统稳定性的智能中枢。文章涵盖四层与七层负载均衡原理、弹性伸缩引擎、智能DNS解析等核心技术,并结合电商大促、微服务灰度发布等实战场景提供实施指南。同时,针对性能调优与安全防护,分享连接复用优化、DDoS防御及零信任架构集成的实践经验,助力企业构建面向未来的弹性架构。
140 76
|
10天前
|
机器学习/深度学习 传感器 自然语言处理
基于Transformer架构的时间序列数据去噪技术研究
本文介绍了一种基于Transformer架构的时间序列去噪模型。通过生成合成数据训练,模型在不同噪声条件下展现出强去噪能力。文章详细解析了Transformer的输入嵌入、位置编码、自注意力机制及前馈网络等关键组件,并分析实验结果与注意力权重分布。研究为特定任务的模型优化和专业去噪模型开发奠定了基础。
64 14
基于Transformer架构的时间序列数据去噪技术研究
|
3月前
|
机器学习/深度学习 安全 算法
十大主流联邦学习框架:技术特性、架构分析与对比研究
联邦学习(FL)是保障数据隐私的分布式模型训练关键技术。业界开发了多种开源和商业框架,如TensorFlow Federated、PySyft、NVFlare、FATE、Flower等,支持模型训练、数据安全、通信协议等功能。这些框架在灵活性、易用性、安全性和扩展性方面各有特色,适用于不同应用场景。选择合适的框架需综合考虑开源与商业、数据分区支持、安全性、易用性和技术生态集成等因素。联邦学习已在医疗、金融等领域广泛应用,选择适配具体需求的框架对实现最优模型性能至关重要。
775 79
十大主流联邦学习框架:技术特性、架构分析与对比研究
|
3天前
|
人工智能 自然语言处理 API
MCP与A2A协议比较:人工智能系统互联与协作的技术基础架构
本文深入解析了人工智能领域的两项关键基础设施协议:模型上下文协议(MCP)与代理对代理协议(A2A)。MCP由Anthropic开发,专注于标准化AI模型与外部工具和数据源的连接,降低系统集成复杂度;A2A由Google发布,旨在实现不同AI代理间的跨平台协作。两者虽有相似之处,但在设计目标与应用场景上互为补充。文章通过具体示例分析了两种协议的技术差异及适用场景,并探讨了其在企业工作流自动化、医疗信息系统和软件工程中的应用。最后,文章强调了整合MCP与A2A构建协同AI系统架构的重要性,为未来AI技术生态系统的演进提供了方向。
121 4
|
1月前
|
机器学习/深度学习 缓存 自然语言处理
深入解析Tiktokenizer:大语言模型中核心分词技术的原理与架构
Tiktokenizer 是一款现代分词工具,旨在高效、智能地将文本转换为机器可处理的离散单元(token)。它不仅超越了传统的空格分割和正则表达式匹配方法,还结合了上下文感知能力,适应复杂语言结构。Tiktokenizer 的核心特性包括自适应 token 分割、高效编码能力和出色的可扩展性,使其适用于从聊天机器人到大规模文本分析等多种应用场景。通过模块化设计,Tiktokenizer 确保了代码的可重用性和维护性,并在分词精度、处理效率和灵活性方面表现出色。此外,它支持多语言处理、表情符号识别和领域特定文本处理,能够应对各种复杂的文本输入需求。
136 6
深入解析Tiktokenizer:大语言模型中核心分词技术的原理与架构
|
2月前
|
机器学习/深度学习 缓存 自然语言处理
DeepSeek背后的技术基石:DeepSeekMoE基于专家混合系统的大规模语言模型架构
DeepSeekMoE是一种创新的大规模语言模型架构,融合了专家混合系统(MoE)、多头潜在注意力机制(MLA)和RMSNorm归一化。通过专家共享、动态路由和潜在变量缓存技术,DeepSeekMoE在保持性能的同时,将计算开销降低了40%,显著提升了训练和推理效率。该模型在语言建模、机器翻译和长文本处理等任务中表现出色,具备广泛的应用前景,特别是在计算资源受限的场景下。
644 29
DeepSeek背后的技术基石:DeepSeekMoE基于专家混合系统的大规模语言模型架构
|
2月前
|
机器学习/深度学习 算法 文件存储
YOLOv11改进策略【模型轻量化】| MoblieNetV3:基于搜索技术和新颖架构设计的轻量型网络模型
YOLOv11改进策略【模型轻量化】| MoblieNetV3:基于搜索技术和新颖架构设计的轻量型网络模型
258 10
YOLOv11改进策略【模型轻量化】| MoblieNetV3:基于搜索技术和新颖架构设计的轻量型网络模型
|
2月前
|
机器学习/深度学习 算法 文件存储
RT-DETR改进策略【模型轻量化】| MoblieNetV3:基于搜索技术和新颖架构设计的轻量型网络模型
RT-DETR改进策略【模型轻量化】| MoblieNetV3:基于搜索技术和新颖架构设计的轻量型网络模型
70 4
RT-DETR改进策略【模型轻量化】| MoblieNetV3:基于搜索技术和新颖架构设计的轻量型网络模型
|
3月前
|
存储 缓存 关系型数据库
社交软件红包技术解密(六):微信红包系统的存储层架构演进实践
微信红包本质是小额资金在用户帐户流转,有发、抢、拆三大步骤。在这个过程中对事务有高要求,所以订单最终要基于传统的RDBMS,这方面是它的强项,最终订单的存储使用互联网行业最通用的MySQL数据库。支持事务、成熟稳定,我们的团队在MySQL上有长期技术积累。但是传统数据库的扩展性有局限,需要通过架构解决。
90 18
|
3月前
|
监控 JavaScript 数据可视化
建筑施工一体化信息管理平台源码,支持微服务架构,采用Java、Spring Cloud、Vue等技术开发。
智慧工地云平台是专为建筑施工领域打造的一体化信息管理平台,利用大数据、云计算、物联网等技术,实现施工区域各系统数据汇总与可视化管理。平台涵盖人员、设备、物料、环境等关键因素的实时监控与数据分析,提供远程指挥、决策支持等功能,提升工作效率,促进产业信息化发展。系统由PC端、APP移动端及项目、监管、数据屏三大平台组成,支持微服务架构,采用Java、Spring Cloud、Vue等技术开发。
150 7

热门文章

最新文章