倚天ECS赋能创新 RDS云数据库性能再升级
2023/06/20

 

在今天,数据已成为企业的核心资产,数据库是企业IT系统最重要的环节之一。但数据库管理带来日益严峻的挑战,缺乏专业的管理可能经常会出现数据库宕机、数据丢失、数据库运行性能缓慢的现象。同时,数据库必须能够支持业务十倍甚至百倍体量的增长。企业对数据库提出了高可用、高安全、高效、低成本等更高的要求。

 

阿里云RDS(Relational Database Service,关系型数据库服务),通过云服务的方式,让关系型数据库的管理、操作和扩展变得更加容易,并且让用户远离数据丢失。阿里云RDS完全兼容MySQL和PostgreSQL等数据库,相对于用户自建数据库具有低成本、高效率、高可靠,灵活易用等优点,一站式解决繁杂的数据库管理任务,真正解放用户从而更多聚焦核心业务。

 

 

早在2009年,自研的AliSQL实现了脚本化自动运维。2011年,阿里云RDS上线。经过十余年发展,2022年,阿里云RDS实现全面云原生化,与阿里云基础设施深度融合,推进与国产硬件的深度联合优化。

 

 

RDS on 倚天ECS 软硬协同优化 性能大幅提升

在这轮技术架构演进中,阿里云数据库RDS开始由传统架构机型的On ECS(Elastic Cloud Server,弹性云服务器)架构,向On倚天ECS迁移。

 

倚天ECS采用倚天710处理器,基于新一代CIPU架构,通过芯片快速路径加速手段完成计算、存储、网络性能的数量级提升。

 

倚天710是平头哥半导体发布的首颗为云而生的CPU芯片,单芯片容纳高达600亿晶体管;在芯片架构上,基于ARMv9架构,内含128核CPU,主频2.75GHz,能同时兼顾性能和功耗。在内存和接口方面,集成DDR5、PCIe5.0等技术,能有效提升芯片的传输速率,并且可适配云的不同应用场景。性能方面,倚天710相对于传统CPU架构有三大优势,第一,内部128核为独享物理核,避免了超线程核性能争抢问题;第二,低功耗设计,高规格实例可以实现线性性能增长,避免功耗过高导致降频问题;第三,大Cache设计,提升云场景访存性能。

 

阿里云RDS数据库的全栈优化,包括从芯片的prefetch策略优化到ECS的TSO等优化,以及操作系统优化、编译器优化、数据库内核代码优化、参数调优等。其中,最核心的部分是数据库的代码优化、参数调优以及编译环境调优。

 

在On倚天ECS重点支持RDS的两款传统开源引擎产品MySQL和PostgreSQL中,经过深度调优之后,在MySQL只写业务场景下,RDS的性能是第七代ECS架构的110%,只读能力高达125%。

 

 

更重要的是,架构迁移的业务代码改造量是零,真正实现无缝迁移。用户只需要把数据库的连接地址,从传统架构改成RDS On倚天ECS的地址即可。

 

除此之外,RDS MySQL、RDS PostgreSQL倚天ARM版实例规格价格已全线下调,通用规格最高降40%,独享规格最高降25%。

 

倚天710助力RDS产品创新

 

在数据库领域,当前社区、用户自建、主流云厂商的PostgreSQL均不具备数据压缩能力,Postgres Professional 企业版有表级别压缩功能作为核心卖点,但是没有开源。RDS PostgreSQL数据库是IO、内存密集型应用,CPU使用率相对较少,存储及内存成本占比较大,如果能在不降低系统性能基础上提升PostgreSQL压缩能力,降低存储及内存成本,可极大提升综合性价比。

 

倚天710作为平头哥团队自研的第一款数据中心CPU芯片,相比传统架构CPU具有更强的性价比优势。由于倚天ECS实例均为物理核,相比icelake ECS的HT逻辑核,倚天实例在常见压缩算法如zstd具备天然优势,实测发现在同等8c实例规格下,倚天的zstd压缩性能是icelake的1.5倍。出色的性能表现,让阿里云RDS PostgreSQL数据库在倚天CPU基础上,推动实现了压缩特性的研发创新。

 

 

如上图所示,RDS PostgreSQL为double buffering内存模型,其中第二层Linux Page cache占内存使用量的60%,PostgreSQL默认DB block size为8K,如果能将DB block size由8K压缩到4K,那么Linux Page cache总的使用量可以减少1倍,总内存量减少30%,存储空间减少50%,IO使用量减少50%。

 

 

基于对Block size 8K压缩至4K、且不降低PostgreSQL整体性能的需求,阿里云RDS团队联合平头哥团队针对zstd进行了定制化开发及优化,借助倚天710芯片在L1 cache的优势及对zstd算法的深入剖析,通过算法优化、指令重排、neon/sve向量化、字典模型训练等优化手段,实现zstd与倚天硬件架构深度亲和,zstd单核压缩&解压缩性能相比开源版本再各自提升20%+。

 

 

经过联调与测试, PostgreSQL使用ptg-zstd(即平头哥优化版本的zstd压缩库)压缩后可大幅降低存储成本、内存成本、IO使用量,综合性价比得以大幅提升。

随着信息化转型的深入以及云计算的蓬勃发展,企业将数据库迁移到云上已成为潮流。基于倚天710的RDS MySQL和RDS PostgreSQL数据库在大幅提升性能的同时实现了更低的成本,极致性价比将帮助客户继续降本增效,推进数字化转型升级的持续发展。