摘要:日前,阿里云PolarDB云原生数据库以超越原记录2.5倍的性能一举登顶TPC-C基准测试排行榜,以每分钟20.55亿笔交易(tpmC)和单位成本0.8元人民币(price/tpmC)的成绩刷新TPC-C性能和性价比双榜的世界纪录。
日前,阿里云PolarDB云原生数据库以超越原记录2.5倍的性能一举登顶TPC-C基准测试排行榜,以每分钟20.55亿笔交易(tpmC)和单位成本0.8元人民币(price/tpmC)的成绩刷新TPC-C性能和性价比双榜的世界纪录。
每一个看似简单的数字背后,都蕴含着无数技术人对数据库性能、性价比和稳定性的极致追求,PolarDB的创新步伐从未止步。「阿里云瑶池数据库」公众号特此推出「PolarDB登顶TPC-C技术揭秘」系列硬核文章,为你讲述“双榜第一”背后的故事,敬请关注!
TPC-C 是由国际数据库事务性能委员会 TPC 组织发布、专门针对 OLTP 系统的测试模型,涵盖了数据库的增删改查等典型处理路径,以此来测试数据库的OLTP性能,最终性能以 tpmC (每分钟订单创建数目)来衡量,TPC-C 测试模型能够直观地评估出一个数据库的性能表现。
本次 TPC-C 基准测试,我们所使用的是云原生数据库 PolarDB for MySQL 8.0.2版,通过单机优化和 I/O 链路优化提升性能,将软硬件高效结合,提升性价比,单位成本比原纪录降低了近40%。
本文将探讨 PolarDB 如何利用软件和硬件的深入结合,提升 I/O 性能并降低成本。在测试过程中,我们总结的数据特点如下:
海量数据:最大数据量可达64PB数据,网络数据传输量巨大。高 I/O 吞吐与低延迟:在高 I/O 吞吐场景下,要求极低的延迟以确保高性能。成本效益与高可用性:在保证系统高可用性和故障容错能力的同时,要求降低存储成本。在关系型数据库的领域里,客户尤为关注三个核心维度:性能、可扩展性与可用性。在传统的MySQL架构中,采用本地磁盘部署能够凭借直接连接存储介质的优势,提供较高的 I/O 性能。由于单机部署模式的局限性,系统的整体可用性较低。为提升可用性和容错能力,MySQL通常采用主备同步机制,通过网络传输数据同步数据增加了事务处理延迟,降低数据库整体性能,并且故障恢复和新增备份节点所需的时间相对较长。
本地盘部署MySQL的扩展性受限于物理磁盘容量和吞吐量,为提升扩展性,可将MySQL部署云盘,能够有效的缓解存储空间扩展的问题,但数据库和云盘依赖网络进行数据传输,无法做到计算存储一体化部署,跨级网络延迟高,MySQL的整体性能大幅下降。
图 1:传统MySQL数据库
PolarDB 计存分离的架构,可兼顾这3大维度。它具备高度可用的分布式存储特性,支持按需动态调整存储容量,单实例可达 PB 级别,并通过软硬件协同优化技术,在高速网络和高性能存储设备的支持下,实现了与本地磁盘相当的性能。通过软件和硬件协同的压缩技术,显著降低了数据存储成本,在保证高性能的同时,也大大提升了数据库的性价比。
图 2:PolarDB I/O 全链路架构
本文将从三个方面进行详细阐述:
100Gb RDMA 高速网络:PolarDB 全面部署100Gb RDMA网络,覆盖Proxy代理、计算节点数据库、存储集群服务器间同步,为大规模分布式数据库提供了高带宽与低延迟特性,显著提升高并发场景性能,保障系统响应速度与稳定性。
弹性内存池EMP I/O 性能加速:I/O 链路性能优化,基于DRAM和阿里云自主研发的AliSCM构建了一个巨大的单集群数PB级别的内存池。PolarFS深度和DB数据特点结合,为不同数据特点提供了高度定制化的优化,通过IO打标的方式精细化缓存管理,保证关键路径的高效性。单机性能在高并发及内核栈优化中表现优异,具体细节另文阐述。
软硬协同压缩降低成本:PolarDB 通过软硬件协同的压缩技术,实现了超过4倍的无感压缩,软件压缩和 SmarSSD 硬件相结合,多层次的压缩策略极大地降低了存储成本,同时根据数据特点智能识别,确保了数据访问的高效性。
PolarDB 通过全链路软硬件协同优化在性能、可用性和成本控制方面都做到了极致,为 PolarDB 提供了高压缩比的高性能分布式存储。
PolarStore 采用100Gbs Lossy RDMA网络通信,结合软件层深度优化,实现了千台主机RDMA高可靠互联,保证一致性和可靠性,提供了远超本地盘的聚合带宽,显著提升读写吞吐能力,为 TPC-C测试海量并发请求提供了高性能低延迟的传输支持。
3.1 软硬件结合,充分挖掘 RDMA 性能优势
PolarDB 通过自研 PolarFS 文件系统及定向优化 RDMA 协议等手段结合实际场景优化,充分发挥 RDMA 高性能优势。
RDMA和软件实现相结合,实现内存零拷贝。PolarStore 链路将DPDK大页内存注册为RDMA Memory Buffer,端到端的网络通信无需像传统网络需经过内核将数据拷贝到用户空间,并结合RDMA scatter-gatter的机制,分布式数据转发直接将数据重定向即可发送,进而实现整个链路零拷贝,最大化网络硬件优势。
避免 RDMA 链接数爆炸,减少网卡缓存压力。分布式集群中,计算节点会与多个存储节点互联,为防止链接数无限增长,在计算节点引入IO转发模块(PolarSwitch),DB通过共享内存经由PolarSwitch转发至存储节点,每个计算节点维护一组网络连接,缓解了网卡缓存压力,降低了网络消息池的内存占用。
存储节点小规模组网优化:存储集群采用磁盘组架构,仅在磁盘组内部建立RDMA链接。由于磁盘组规模通常不超过20块磁盘,避免了全Mesh组网方式,显著降低了单机链接数。
图 3:计算节点链接数优化前后示意
3.2 构建高稳定性网络,实现近万台节点的线性扩展
大规模集群中网络稳定性至关重要,PolarStore通过减少抖动、拥塞发生频率和快速恢复能力,实现了近万台节点的线性扩展规模。
缓解Incast流量引发的网络拥塞。PolarDB集群由数百台计算与存储节点组成,其多对多通信模式易引发Incast问题,导致网络拥塞和RDMA流控触发,影响整体性能。PolarStore通过分层流量管理策略,建立多级防护:在计算节点PolarSwitch限制单存储节点RDMA链路I/O深度,避免瞬时 I/O 过多打满交换机缓冲区,防止触发 ECN 流控。存储节点引入反压机制(Throttle),延缓计算节点 PolarSwitch 发送 I/O 的速率,降低 Incast 风险,保障集群网络稳定。快速故障恢复:应对网卡 Flapping。网卡Flapping会引发超时或丢包,PolarStore采用Multi-path技术在端到端之间建立多条链接,并记录每条链接的 RTT 耗时。当 Flapping 发生时,针对传输超时的 I/O 请求,系统会选择 RTT 正常的路径快速转发,从而最大限度降低 Flapping 对 I/O 性能的影响。在TPC-C测试中,PolarDB集群面临海量并发请求与64PB级数据规模的双重挑战,数据库内存与数据量比例为1:40,导致频繁读写I/O操作。PolarStore利用DRAM与阿里云自研AliSCM构建PB级弹性内存池,通过智能I/O打标精细化优化I/O性能,ParallelRaft技术最大化I/O吞吐。
4.1 EMP 软硬协同精细化I/O加速
PolarDB的I/O链路中,Redo日志的I/O性能直接影响事务提交效率,有限的Buffer Pool导致事务需频繁读取Page。因此Redo写性能和Page读性能至关重要。
智能 I/O 打标:PolarFS作为用户态高性能文件系统,通过减少内核切换和定制化优化提升I/O效率。其与数据库内核协同,利用I/O打标机制使存储系统能针对不同数据类型进行优化。
图 4:弹性内存池EMP全链路加速详解
EMP弹性内存池极致加速:基于DRAM与阿里云自研的持久化存储介质AliSCM,EMP构建了数PB级弹性内存池。AliSCM具备百纳秒级持久化延迟,存储密度显著优于DRAM,实现4倍容量与3倍吞吐。AliSCM作为写Cache加速,提升写I/O性能,然后异步将数据写入SmartSSD后立即释放空间。针对Redo日志的高吞吐写入需求,写入AliSCM后即可返回,使关键写延迟降至十几微秒,与本地盘性能持平。非关键路径的Page刷脏操作则通过软件压缩存储于AliSCM,降低存储成本,同时将原始数据缓存于内存加速读访问。
PolarFS通过I/O打标将热点Page缓存在EMP中,数据库读取Page时,命中EMP即可返回,读延迟降低至十几微秒,显著优于本地SSD的百微秒级延迟。此外EMP采用智能预取机制,基于对用户查询模式的动态分析,预先加载热点数据至缓存,有效提升缓存命中率。通过精细化数据管理,降低关键路径的读写延迟,实现高性能存储服务。
Parallal Raft协议低开销高可用:自研ParallelRaft协议,通过Parallel commit和Look Behind Buffer技术,避免了传统Raft复制流程中可能的阻塞点,最大限度地打开系统并发度,充分发挥硬件的能力,极大化地保障了commit与apply的性能。
4.2 自研持久化内存设备AliSCM
AliSCM 是一款自主研发的持久化存储设备,通过3D堆叠技术持续提升存储密度,从而实现更低的成本,读写延迟接近DRAM,性能优于传统NAND闪存。基于Intel的先进数据访问DAX技术,确保数据的持久性,并利用CXL协议原生支持资源池化,设备灵活易用,有完善的生态系统和工具接口,具有极高的稳定性和可靠性。
图 5:AliSCM 架构图
PolarDB采用阿里自研的透明压缩盘SMART SSD,通过盘内嵌入ASIC芯片实现压缩/解压加速,降低TCO 60%,即便是在TPC- C打榜这样的极致负载下,对性能也无影响。其核心优势在:
硬件压缩运算由内嵌ASIC芯片完成,不占用户CPU资源,避免性能损耗;保持接口与标盘兼容,无需软件栈适配工作;写路径提供了SRAM的快速landing缓存,支持掉电回刷到持久NAND,后台进行压缩,可达到和标盘媲美的写入性能;读路径虽存在解压开销,但压缩后NAND访问量减少(例如16KB压缩至8KB后仅需读取半量数据),弥补部分解压开销,读性能不受影响。5.1 SMART SSD 架构与技术介绍
SMART SSD内嵌高性能专用的ASIC芯片,主要用于压缩、解压、加密、解密等计算任务卸载。内嵌一定物理容量的NAND用于记录压缩后的数据。盘片在使用前需按照一定的扩展系数设置逻辑容量,用于存储压缩前的数据。用户透明地访问逻辑地址以获取原始数据。
图 6:SMRT SSD架构
SMART SSD采用4KB粒度数据压缩,通过变长FTL将压缩数据在NAND上的紧凑存储,是其核心技术。FTL记录压缩数据的映射,压缩后物理地址不再是4KB对齐,包括压缩数据的偏移和长度。映射包括PBA占用32bits和压缩元信息25bits:1bit表示是否压缩、12bit表示地址偏移、12bit表示压缩后的长度。
图 7:SMART SSD 变长FTL表示意
5.2 PolarStore 软硬结合适配SMART SSD
SMART SSD中数据压缩较低时,存在物理容量被耗尽的风险。 管控和PolarMaster持续进行SMART SSD物理水位的监测,根据水位数据后台迁移均衡,避免物理水位继续上涨。
图 8:基于PolarMaster的智能压缩比调度
基于用户数据的压缩比差异,当数据聚合至SMART SSD时,各物理盘整体压缩比呈现显著不均衡特征,低压缩比数据集的磁盘易因物理容量率先耗尽而提前失效,而高压缩比磁盘则可能因逻辑容量上限约束导致空间闲置。通过PolarMaster对用户数据压缩特性和磁盘压缩比的持续监测,系统智能化动态迁移不同压缩特性的数据块,实现物理/逻辑容量消耗速率的均衡化,最大化SMART SSD的存储资源利用率。
5.3 基于轻量级软件压缩进一步降低空间占用
PolarStore提供软件压缩和SMART SSD的双层压缩机制,提高了压缩率,降低了用户成本。数据库通常采用16KB的数据页,PolarStore根据智能I/O打标机制对16KB的Page进行软件压缩。
软件压缩管理到4KB粒度的块资源,不必引入字节级资源管理,极大降低了软件压缩以及变长映射表的复杂度。写入SMART SSD后,由SMART SSD的变长FTL对齐到字节粒度,避免了对存储空间的浪费。
图 9:软件压缩+硬件压缩的双层压缩机制
PolarDB通过将软件优化与前沿硬件技术的深度融合,显著提升了竞争力。TPC-C基准测试作为全面评估数据库性能的标准,不仅严格检验了系统的处理能力,还对其成本效益进行了细致的考量。在测试中,PolarDB展现出了优异的性能和极具吸引力的性价比,为用户提供了更高效、更可靠、更具性价比的数据库服务体验。
来源:阿里云瑶池数据库一点号