首页 > 其他分享 >openGauss-子事务并发回滚流程优化

openGauss-子事务并发回滚流程优化

时间:2024-08-29 09:29:29浏览次数:6  
标签:回滚 group 流程 事务 特性 发回 openGauss ProcArrayLock backend

openGauss- 子事务并发回滚流程优化

可获得性

本特性自openGauss 5.1.0版本开始引入。

特性简介

本特性利用ProcArrayGroup数据结构管理所有抢占ProcArrayLock锁失败的backends,由第一个进入group的backend作为group leader负责请求ProcArrayLock锁,并在获取到锁后清理group中所有backend的事务信息。避免子事务并发回滚时,各backend互相争抢ProcArrayLock,导致事务被阻塞的问题。

客户价值

优化大量包含子事务的业务并发提交、回滚时,对ProcArrayLock锁的争抢问题,提高该场景下的事务并发能力。

特性描述

在子事务回滚场景,每个子事务回滚时都会清理PGPROC中的子事务列表等事务信息,并更新lastCompleteXid,在此期间需要申请ProcArrayLock用于保护ProcArray。如果一个事务内包括多个子事务,在回滚事务时,会串行回滚每个子事务,每次回滚都需要请求ProcArrayLock,此外事务提交或回滚同样需要请求ProcArrayLock锁。因此在大量子事务并发提交、回滚时,backends对ProcArrayLock的争抢会较为明显,进而可能导致事务的提交和回滚被阻塞。
针对该问题,本特性利用ProcArrayGroup数据结构管理所有抢占ProcArrayLock锁失败的backends,由第一个进入group的backend作为group leader负责请求ProcArrayLock锁,并在获取到锁后清理group中所有backend的事务信息,避免各backend之间互相争抢ProcArrayLock,提高子事务回滚效率。

特性增强

优化子事务并发回滚时,对ProcArrayLock锁的争抢问题。

特性约束

无。

依赖关系

本特性依赖于已有的事务结束和子事务回滚流程。

详情查看:https://opengauss.org

详情查看:https://docs-opengauss.osinfra.cn

标签:回滚,group,流程,事务,特性,发回,openGauss,ProcArrayLock,backend
From: https://www.cnblogs.com/xiaoxu0211/p/18385873

相关文章

  • openGauss-资源池化多机并行
    openGauss-资源池化多机并行可获得性本特性自openGauss6.0.0-RC1版本开始引入。特性简介SPQ(SharedEverythingParallelQuery)是在openGauss开源数据库上的一个多机并行查询框架,该框架部署在资源池化场景内,该场景下集群部署的为一写多读架构,集群下存在一个写/读节点和多个读......
  • openGauss-资源池化可维护性增强
    openGauss-资源池化可维护性增强gs_collector适配资源池化DMS资源统计视图gs_probackup适配资源池化详情查看:https://opengauss.org详情查看:https://docs-opengauss.osinfra.cn......
  • openGauss-资源池化算子卸载
    openGauss-资源池化算子卸载可获得性本特性自openGauss5.1.0版本开始引入。特性简介共享存储虽然带来弹性,可靠性的好处,但是和本地盘单机比较性能会下降较多,主要是网络IO和分布式存储自身带来的延迟,尤其对于大规模查询bufferpool无法缓存的场景,大量的数据需要从存储节点搬......
  • openGauss-资源池化特性说明
    openGauss-资源池化特性说明可获得性本特性自openGauss3.1.1版本开始引入。特性简介本特性提供主备机共享一份存储的能力,实现基于磁阵设备的资源池化HA部署形态,解决传统HA部署下存储容量较单机翻倍的问题,同时备机支持实时一致性读。资源池化架构图如下图所示。图1资源......
  • openGauss-主备机
    openGauss-主备机可获得性本特性自openGauss1.0.0版本开始支持DN主备。特性简介为了保证故障的可恢复,需要将数据写多份,设置主备多个副本,通过日志进行数据同步,可以实现节点故障、停止后重启等情况下,openGauss能够保证故障之前的数据无丢失,满足ACID特性。客户价值主备机功......
  • openGauss-资源标签机制
    openGauss-资源标签机制可获得性本特性自openGauss1.1.0版本开始引入。特性简介数据库资源是指数据库所记录的各类对象,包括数据库、模式、表、列、视图、触发器等,数据库对象越多,数据库资源的分类管理就越繁琐。资源标签机制是一种通过对具有某类相同“特征”的数据库资源进......
  • openGauss-资源池化
    openGauss-资源池化资源池化特性说明资源池化性能优化备机事务内透明写转发DSS功能增强资源池化算子卸载资源池化主备双集群容灾极致RTO按需回放DSS线程池资源池化多机并行资源池化可维护性增强在线reformMESworker线程池化详情查看:http......
  • openGauss-主备高可用能力增强
    openGauss-主备高可用能力增强可获得性本特性自openGauss5.1.0版本开始引入。特性简介针对备机异常的场景,优化主机的业务在最大可用模式下不阻塞,并且表的垃圾回收不受影响。客户价值当同步备机异常时,例如磁盘故障,导致备机长时间阻塞在写盘上,而主机的synchronous_commit设......
  • openGauss-指定节点升级
    openGauss-指定节点升级可获得性本特性自openGauss3.1.0版本开始引入。特性简介在灰度升级下支持升级指定的部分节点,再升级剩余节点。客户价值在灰度升级下,提供一种升级指定部分节点的功能。保证在不中断业务的情况下,先升级部分节点再升级剩余节点。特性描述指定节点升......
  • openGauss-智能基数估计
    openGauss-智能基数估计可获得性本特性自openGauss3.1.0版本开始引入。特性简介智能基数估计利用库内轻量级算法进行多列数据分布建模,并且提供多列等值基数估计的能力。在数据分布倾斜并且列之间相关性强的数据场景下能够提供更准确的估计结果,从而给优化器提供准确的代价参......