2022年11月5日,“倚天开启云原生算力新时代”专场在杭州·云栖大会D馆云栖科创SHOW场举行,阿里云数据库事业部资深技术专家、RDS产品负责人彭祥发表了《云数据库新未来--新一代RDS架构和优化实践》的主题分享。本篇内容根据该演讲整理而成,主要分为两个部分:
1. RDS数据库的架构演进
2. RDS On倚天ECS的技术演进
阿里云数据库事业部资深技术专家、
RDS产品部负责人 彭祥
01 RDS数据库的架构演进
如上图所示,展示了阿里云RDS的发展历程。2009年,AliSQL去商业数据库实现了脚本化自动运维。2011年,阿里云RDS上线,成功实现了全自动部署免运维,以及高可用容灾能力。2014年,RDS支持OpenAPI,以及PostgreSQL、SQL Server等多引擎,成功进入服务化阶段。
2019年,阿里云实现了DAS自助诊断服务,支持全自动弹性伸缩,以及基于机器学习的智能决策和参数调优;同时集团电商业务开始全面上云。自此阿里云RDS正式步入智能化阶段。
2022年,RDS与阿里云基础设施深度融合,支持Serverless产品弹性,与ECS以及CIPU高度一体化,成功实现国产硬件上深度优化,以及自主可控内核。阿里云RDS开始全面云原生化。
基于阿里云ECS和ESSD等基础服务,RDS数据库构建了计算和存储分离的架构,大幅提升了产品能力和客户业务价值。
在这个架构之下,用户可以利用云盘快照功能,快速构建数据库的备份恢复能力。除此之外,用户也可以利用ECS的弹性资源能力,轻松实现资源的快速拉起和扩容。
RDS基于阿里云IaaS服务,构建了K8S集群调度系统,将数据库容器化部署在其核心管控架构之上。
该平台支撑了RDS的四款引擎,包括MySQL、PostgreSQL、MariaDB以及SQL Server。在这个架构之上,阿里云实现了多项核心业务创新,包括Serverless,云原生Kubernetes多租户部署形态等等。
在架构升级的过程中,为了解决本地盘迁移至云盘后出现的IO等相关问题,阿里云技术团队进行了大量的技术创新。团队通过对Binlog体系改造,以及对RTO和RPO等方面进行有效提升,解决了由于架构演进带来的IO延时问题。
Binlog作为MySQL数据库最基本的机制之一,是所有云上MySQL数据库深度依赖的功能。但是Binlog机制也有很多局限性,比如大事务处理,高吞吐场景下的局限性等。阿里云研发团队通过对Binlog进行深度改造之后,大幅提升了吞吐和延时等性能指标。
除此以外,阿里云在Buffer Pool初始化以及Crash Recovery进行了深度优化。尽管有大量的优化细节和代码改造,其内核与开源社区的内核能力保持兼容。
RDS通过OnECS架构演进,为产品能力以及客户业务价值提供了大量优化的可能性。比如OnECS基于ESSD不但支持常规的PL1、PL2、PL3云盘,还支持PL0和AutoPL等,帮助客户实现降本增效的目的。与此同时,OnECS支持PL等级的动态降级,业务在降级过程中全程无感。
除此以外,OnECS支持云盘扩容和缩容能力,使数据存储随着客户数据和业务发展阶段进行动态调整,最终达到降本增效的效果。随着稳定性的提升,OnECS架构能够在高可用只读实例的基础上,支持基础版的只读实例,并将只读实例的成本下降50%,进一步实现了降本增效的目的。
02 RDS On倚天ECS的技术演进
接下来,讲一讲RDS On倚天ECS的技术演进。通过前面提到的技术架构演进,阿里云大幅提升了数据库RDS由英特尔机型的OnECS架构向On倚天ECS迁移的研发效率。
如上图所示,在MySQL读写混合负载场景下,RDS On倚天ECS的性能小幅超越第七代x86机器。在不同实例规格下,RDS On倚天ECS的性能提升了10%到25%不等。除此之外,倚天ECS相比第七代英特尔机型,售价下降了13%,整体性价比提升了25%。
客户业务和应用从x86架构数据库向倚天ECS架构数据库迁移的过程中,业务代码改造量是零,成功实现无缝迁移。客户只需要把数据库的连接地址,从x86架构改成RDS On倚天ECS的地址即可。
接下来,给大家深度分享一下RDS On倚天ECS在技术上的深度优化。RDS数据库作为一个最基本的PaaS服务,需要在ARM体系架构的服务器进行深度调优。这是一个全栈优化的过程,从芯片的prefetch策略优化到ECS的TSO等优化,以及操作系统优化、编译器优化、数据库内核代码优化以及参数调优等。其中,最核心的部分是数据库的代码优化、参数调优以及编译环境调优。
On倚天ECS支持RDS两款传统开源引擎产品MySQL和PostgroSQL。上图展示了这两款引擎,在优化之前和优化后的性能变化。经过上述深度调优之后,在只写业务场景下,RDS的性能是第七代ECS服务器性能的110%,只读能力高达125%。
上图是阿里云官网RDS售卖控制台的截图,用户可以在购买过程中选择使用x86架构或ARM架构。目前,该产品还处于邀测阶段。
倚天710不只是单核性能上的提升,同时还体现在数据加密、数据解密、数据压缩、数据解压等业务场景里的性能提升。
接下来RDS数据库也会在这些特殊场景下进行深度优化。我今天的分享就到这里,谢谢大家。
点击这里,查看嘉宾的精彩演讲视频。