交易峰值场景数据库的性能

本文涉及的产品
PolarClaw,2核4GB
简介: 在双十一这种交易峰值场景下,数据库的性能面临着极大的挑战。为了应对这一挑战,PolarDB进行了大量的优化工作。

在双十一这种交易峰值场景下,数据库的性能面临着极大的挑战。为了应对这一挑战,PolarDB进行了大量的优化工作。image.png

首先,针对热点Page的更新及访问,PolarDB优化了其SMO(Split Merge Operation)操作。在之前,由于B+Tree实现的加锁限制,同一时刻整个B+Tree只能有一个SMO操作,这导致了写入性能的受限。PolarDB通过优化加锁,支持同一时刻多个SMO同时进行操作,提高了写入性能。同时,PolarDB引入了Blink Tree来替换B+Tree,通过缩小SMO的加锁粒度,优化了读取性能。这些优化可以将交易场景下PolarDB的读写性能提升20%。image.png

其次,PolarDB对simulated AIO进行了重新设计。在原版中,simulated AIO基于本地存储设计,与分布式存储的特性并不适配。为了进行IO合并,原版的simulated IO设计将所有异步IO请求按照目标地址进行组织,存放在同一个IO数组中。然而,这种设计在分布式存储下并不适用,因为它会导致同一时刻只有一个或少量存储节点处在服务状态,浪费了其他存储节点的资源。此外,这种设计在高负载下会导致网络中的Inflight IO增多,IO组中的IO请求数量也会增多,使得IO数组中的槽位状态无序,增加了添加和移除IO请求的开销,从而影响了性能。PolarDB通过合理的选择IO合并和拆解,建立状态有序的IO服务队列,有效提升了性能。image.png

最后,PolarDB采用了Partitioned Lock System的方式,将log_sys改造成由多个LockSysShard组成,每个Shard中都有自己局部的mutex,从而将mutex成为瓶颈的问题得到了解决。尤其是在这种大压力的写入场景下,这一改进明显提升了写入性能。
总的来说,通过上述一系列的优化,PolarDB在双十一这种交易峰值场景下,有效提升了其性能,为用户提供了更加稳定和高效的服务。

相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍如何基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
目录
相关文章
|
9月前
|
安全 API 区块链
数据资产化新范式:API如何重构企业增长逻辑?
在数字经济时代,数据已成为企业核心资产,而API作为连接数据与业务的桥梁,正驱动企业释放数据价值、实现业务增长。本文通过电商、金融、医疗与政务领域的典型案例,解析API如何助力企业提升效率、优化服务、拓展生态,并探讨其商业价值实现路径与未来趋势。
数据资产化新范式:API如何重构企业增长逻辑?
|
机器学习/深度学习 测试技术 计算机视觉
RT-DETR改进策略【Conv和Transformer】| ICCV-2023 iRMB 倒置残差移动块 轻量化的注意力模块
RT-DETR改进策略【Conv和Transformer】| ICCV-2023 iRMB 倒置残差移动块 轻量化的注意力模块
403 14
RT-DETR改进策略【Conv和Transformer】| ICCV-2023 iRMB 倒置残差移动块 轻量化的注意力模块
|
Java 开发者 UED
Java 输入处理的常见错误
本文深入探讨了Java中输入处理的常见错误与认知偏差,重点分析了`Scanner`类的使用误区。例如,`nextInt()`后紧跟`nextLine()`会因残留换行符导致输入跳过,需额外调用`nextLine()`清理缓冲区;`nextLine()`始终返回字符串,需手动转换数据类型;处理多数字输入时,应结合`split()`与`Integer.parseInt()`方法。通过剖析这些问题,帮助开发者理解`Scanner`的工作机制,提升输入处理代码的健壮性与准确性。
404 3
|
SQL 数据可视化 Oracle
这篇文章教会你:从 SQL Server 移植到 DM(上)
这篇文章教会你:从 SQL Server 移植到 DM(上)
902 8
|
资源调度 JavaScript Ubuntu
Yarn介绍及快速安装Debian/Ubuntu Linux
现在,你已经成功安装了Yarn,可以在你的JavaScript项目中使用它来管理依赖。
2283 3
|
监控 数据挖掘 BI
缺陷通知期限是什么?如何在项目中设定缺陷通知期限?
缺陷通知期限(DNP)是项目管理中,承包商完成工程或交付产品后,业主或客户有权通知承包商存在缺陷的特定时间段。此期限旨在保障项目质量、明确责任、合理分配风险及优化合同管理。在DNP内,承包商需对发现的缺陷进行修复。期限类型包括固定期限、分阶段期限和基于性能的期限。设定DNP需综合评估项目特性、行业惯例、风险因素,并通过协商确定,最终在合同中明确。
|
缓存 JavaScript 前端开发
JavaScript模块化:CommonJS与ES Modules的对比与使用
【4月更文挑战第22天】本文探讨了JavaScript模块化的两种规范——CommonJS和ES Modules。CommonJS适用于Node.js,通过`require`同步加载模块,而ES Modules(ES6模块)用于前端,支持异步加载和静态导入导出。CommonJS有缓存,ES Modules无缓存。在选择时,Node.js环境常用CommonJS,但趋势正转向ES Modules,前端项目推荐使用ES Modules以利用其优化性能的优势。
1357 0
|
机器学习/深度学习 算法
基于LMS算法的Mackey Glass时间序列预测(Matlab代码实现)
基于LMS算法的Mackey Glass时间序列预测(Matlab代码实现)
656 0
|
机器学习/深度学习 数据采集 编解码
OCR文字识别技术总结(二)
总结: 以上第一部分介绍我国OCR发展历程,从过程中可以发现,我国的光学字符识别研究相对国外起步较晚,但是发展十分迅速。从早期简单的单体识别发展到多种字体混合排列的多体识别,从中文印刷材料的识别发展到中英文混排印刷材料的双语言识别, 目前各个系统都可以支持简、繁体汉字的识别,同时支持中, 英,韩等多国文字的识别系统,对于简单版面可以进行效的定量分析,同时汉字识别率已经可以达到98%以上,以下第二部分将从不同字体展开对OCR技术描述。
1733 0
OCR文字识别技术总结(二)

热门文章

最新文章