登顶TPC-C|云原生数据库PolarDB技术揭秘:成本优化-软硬协同篇

本文涉及的产品
RDS SQL Server Serverless,2-4RCU 50GB 3个月
推荐场景:
云数据库 RDS SQL Server,基础系列 2核4GB
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
简介: 详细介绍 PolarDB 软硬协同的 I/O 链路技术

日前,阿里云PolarDB云原生数据库以超越原记录2.5倍的性能一举登顶TPC-C基准测试排行榜,以每分钟20.55亿笔交易(tpmC)和单位成本0.8元人民币(price/tpmC)的成绩刷新TPC-C性能和性价比双榜的世界纪录


每一个看似简单的数字背后,都蕴含着无数技术人对数据库性能、性价比和稳定性的极致追求,PolarDB的创新步伐从未止步。「阿里云瑶池数据库」公众号特此推出「PolarDB登顶TPC-C技术揭秘」系列硬核文章,为你讲述“双榜第一”背后的故事,敬请关注!


本文为系列连载第3篇——成本优化-软硬协同篇。

往期内容👇

《登顶TPC-C|云原生数据库PolarDB技术揭秘:单机性能优化篇》

《登顶TPC-C|云原生数据库PolarDB技术揭秘:Limitless集群和分布式扩展篇》


01、TPC-C 测试模型

TPCC官网截图.png

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 吞吐场景下,要求极低的延迟以确保高性能。
  • 成本效益与高可用性:在保证系统高可用性和故障容错能力的同时,要求降低存储成本。

文章会详细介绍 PolarDB 软硬协同的 I/O 链路技术,针对上述数据特点,通过软硬机制协同优化,实现高性能和高性价比的目标。

02、PolarDB 软硬协同 I/O 链路

在关系型数据库的领域里,客户尤为关注三个核心维度:性能、可扩展性与可用性。在传统的MySQL架构中,采用本地磁盘部署能够凭借直接连接存储介质的优势,提供较高的 I/O 性能。由于单机部署模式的局限性,系统的整体可用性较低。为提升可用性和容错能力,MySQL通常采用主备同步机制,通过网络传输数据同步数据增加了事务处理延迟,降低数据库整体性能,并且故障恢复和新增备份节点所需的时间相对较长。


本地盘部署MySQL的扩展性受限于物理磁盘容量和吞吐量,为提升扩展性,可将MySQL部署云盘,能够有效的缓解存储空间扩展的问题,但数据库和云盘依赖网络进行数据传输,无法做到计算存储一体化部署,跨级网络延迟高,MySQL的整体性能大幅下降。

image.png

图 1:传统MySQL数据库


PolarDB 计存分离的架构,可兼顾这3大维度。它具备高度可用的分布式存储特性,支持按需动态调整存储容量,单实例可达 PB 级别,并通过软硬件协同优化技术,在高速网络和高性能存储设备的支持下,实现了与本地磁盘相当的性能。通过软件和硬件协同的压缩技术,显著降低了数据存储成本,在保证高性能的同时,也大大提升了数据库的性价比。

image-2.png

图 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 提供了高压缩比的高性能分布式存储。

03、100Gb lossy RDMA 网络

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组网方式,显著降低了单机链接数。

未命名绘图.png

图 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 性能的影响。

04、弹性内存池EMP加速数据访问

在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打标机制使存储系统能针对不同数据类型进行优化。

image-3.png

图 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协议原生支持资源池化,设备灵活易用,有完善的生态系统和工具接口,具有极高的稳定性和可靠性。

image-4.png

图 5:AliSCM 架构图

05、自研透明压缩盘 SMART SSD 降低存储成本60%

PolarDB采用阿里自研的透明压缩盘SMART SSD,通过盘内嵌入ASIC芯片实现压缩/解压加速,降低TCO 60%,即便是在TPC- C打榜这样的极致负载下,对性能也无影响。其核心优势在:


  • 硬件压缩运算由内嵌ASIC芯片完成,不占用户CPU资源,避免性能损耗;
  • 保持接口与标盘兼容,无需软件栈适配工作;
  • 写路径提供了SRAM的快速landing缓存,支持掉电回刷到持久NAND,后台进行压缩,可达到和标盘媲美的写入性能;
  • 读路径虽存在解压开销,但压缩后NAND访问量减少(例如16KB压缩至8KB后仅需读取半量数据),弥补部分解压开销,读性能不受影响。

5.1 SMART SSD 架构与技术介绍

SMART SSD内嵌高性能专用的ASIC芯片,主要用于压缩、解压、加密、解密等计算任务卸载。内嵌一定物理容量的NAND用于记录压缩后的数据。盘片在使用前需按照一定的扩展系数设置逻辑容量,用于存储压缩前的数据。用户透明地访问逻辑地址以获取原始数据。

image-5.png

图 6:SMRT SSD架构


SMART SSD采用4KB粒度数据压缩,通过变长FTL将压缩数据在NAND上的紧凑存储,是其核心技术。FTL记录压缩数据的映射,压缩后物理地址不再是4KB对齐,包括压缩数据的偏移和长度。映射包括PBA占用32bits和压缩元信息25bits:1bit表示是否压缩、12bit表示地址偏移、12bit表示压缩后的长度。

5eecdaf48460cde565c991981291bae870f23a2481e2beb658e70b814913bc360a414d3de9277d871abf3af1cbd75249474eb66033fe00987abefd2850d8fe5f7474d5c3f759a2852b6d6be4a0ce0c16ec6294efaa9f8bc2fc653b69905bac42.png

图 7:SMART SSD 变长FTL表示意

5.2 PolarStore 软硬结合适配SMART SSD

SMART SSD中数据压缩较低时,存在物理容量被耗尽的风险。 管控和PolarMaster持续进行SMART SSD物理水位的监测,根据水位数据后台迁移均衡,避免物理水位继续上涨。

image-6.png

图 8:基于PolarMaster的智能压缩比调度


基于用户数据的压缩比差异,当数据聚合至SMART SSD时,各物理盘整体压缩比呈现显著不均衡特征,低压缩比数据集的磁盘易因物理容量率先耗尽而提前失效,而高压缩比磁盘则可能因逻辑容量上限约束导致空间闲置。通过PolarMaster对用户数据压缩特性和磁盘压缩比的持续监测,系统智能化动态迁移不同压缩特性的数据块,实现物理/逻辑容量消耗速率的均衡化,最大化SMART SSD的存储资源利用率。

5.3 基于轻量级软件压缩进一步降低空间占用

PolarStore提供软件压缩和SMART SSD的双层压缩机制,提高了压缩率,降低了用户成本。数据库通常采用16KB的数据页,PolarStore根据智能I/O打标机制对16KB的Page进行软件压缩。


软件压缩管理到4KB粒度的块资源,不必引入字节级资源管理,极大降低了软件压缩以及变长映射表的复杂度。写入SMART SSD后,由SMART SSD的变长FTL对齐到字节粒度,避免了对存储空间的浪费。

image-7.png

图 9:软件压缩+硬件压缩的双层压缩机制 

06、总结

PolarDB通过将软件优化与前沿硬件技术的深度融合,显著提升了竞争力。TPC-C基准测试作为全面评估数据库性能的标准,不仅严格检验了系统的处理能力,还对其成本效益进行了细致的考量。在测试中,PolarDB展现出了优异的性能和极具吸引力的性价比,为用户提供了更高效、更可靠、更具性价比的数据库服务体验。

相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
相关文章
|
1月前
|
Cloud Native 关系型数据库 分布式数据库
|
1月前
|
存储 关系型数据库 分布式数据库
|
3天前
|
安全 Apache 数据库
【倒计时3天】NineData x Apache Doris x 阿里云联合举办数据库技术Meetup,5月24日深圳见!
5月24日,NineData联合Apache Doris与阿里云在深圳举办数据库技术Meetup。活动聚焦「数据实时分析」与「数据同步迁移」两大领域,邀请行业专家分享技术趋势、产品实践及解决方案,助力企业构建高效安全的数据管理体系。时间:14:00-17:30;地点:深圳新一代产业园2栋20楼会议室。线下名额有限(80人),速报名参与深度交流!
20 1
|
1月前
|
Cloud Native 关系型数据库 分布式数据库
登顶TPC-C|云原生数据库PolarDB技术揭秘:弹性并行查询(ePQ)篇
阿里云PolarDB云原生数据库在TPC-C基准测试中刷新了性能和性价比的世界纪录,达到每分钟20.55亿笔交易(tpmC),单位成本仅0.8元人民币。PolarDB采用云原生架构,支持数千节点横向扩展,具备弹性并行查询(ePQ)功能,可显著加速复杂查询。此外,PolarDB还推出了国产轻量版,以软件形式部署,满足多样化需求。
|
23天前
|
负载均衡 算法 关系型数据库
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
本文聚焦 MySQL 集群架构中的负载均衡算法,阐述其重要性。详细介绍轮询、加权轮询、最少连接、加权最少连接、随机、源地址哈希等常用算法,分析各自优缺点及适用场景。并提供 Java 语言代码实现示例,助力直观理解。文章结构清晰,语言通俗易懂,对理解和应用负载均衡算法具有实用价值和参考价值。
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
|
2月前
|
关系型数据库 MySQL Java
【YashanDB知识库】原生mysql驱动配置连接崖山数据库
【YashanDB知识库】原生mysql驱动配置连接崖山数据库
【YashanDB知识库】原生mysql驱动配置连接崖山数据库
|
23天前
|
存储 关系型数据库 MySQL
大数据新视界 --面向数据分析师的大数据大厂之 MySQL 基础秘籍:轻松创建数据库与表,踏入大数据殿堂
本文详细介绍了在 MySQL 中创建数据库和表的方法。包括安装 MySQL、用命令行和图形化工具创建数据库、选择数据库、创建表(含数据类型介绍与选择建议、案例分析、最佳实践与注意事项)以及查看数据库和表的内容。文章专业、严谨且具可操作性,对数据管理有实际帮助。
大数据新视界 --面向数据分析师的大数据大厂之 MySQL 基础秘籍:轻松创建数据库与表,踏入大数据殿堂
|
12天前
|
SQL 关系型数据库 MySQL
MySQL下载安装全攻略!小白也能轻松上手,从此数据库不再难搞!
这是一份详细的MySQL安装与配置教程,适合初学者快速上手。内容涵盖从下载到安装的每一步操作,包括选择版本、设置路径、配置端口及密码等。同时提供基础操作指南,如数据库管理、数据表增删改查、用户权限设置等。还介绍了备份恢复、图形化工具使用和性能优化技巧,帮助用户全面掌握MySQL的使用方法。附带常见问题解决方法,保姆级教学让你无忧入门!
MySQL下载安装全攻略!小白也能轻松上手,从此数据库不再难搞!
|
3天前
|
关系型数据库 MySQL 定位技术
MySQL与Clickhouse数据库:探讨日期和时间的加法运算。
这一次的冒险就到这儿,期待你的再次加入,我们一起在数据库的世界中找寻下一个宝藏。
27 9
|
2月前
|
关系型数据库 MySQL 数据库连接
docker拉取MySQL后数据库连接失败解决方案
通过以上方法,可以解决Docker中拉取MySQL镜像后数据库连接失败的常见问题。关键步骤包括确保容器正确启动、配置正确的环境变量、合理设置网络和权限,以及检查主机防火墙设置等。通过逐步排查,可以快速定位并解决连接问题,确保MySQL服务的正常使用。
471 82

相关产品

  • 云原生数据库 PolarDB