当前位置: 首页 > news >正文

PostgreSQL中的SSL(2)

PGSQL数据库的默认隔离级别是读提交,并且同时支持可重复读和序列化模式。但是9.1之前的版本中,序列化模式是采用快照隔离实现并非是真正的序列化模式。

这样的话就会存在一个问题,那就是写偏序(Write Skew)问题。因此在PGSQL中引入了Serializable Snapshot Isolation(SSL方法解决。本文记录有一下SSL和S2PL的学习内容

  • S2PL和SSL

在S2PL中,由于读锁和写锁相互冲突,写锁和写锁也相互冲突,而每个事务中的各个操作又都是串行化执行的,因此事务的执行顺序和读写的依赖关系能够对应起来,不会出现事务之间的读写操作相互依赖的情况。

以RW依赖为例,当事务T1读取X对象时会在X上加读锁,而事务T2要修改X对象时需要在X上加写锁,事务T2需要等待事务T1提交(S2PL保证在事务提交时才会放锁)。也就是说,事务T1一定在事务T2之前提交。这种执行顺序产生的结果和先执行T1再执行T2结果一样。

在S2PL中,可以自然的避免写偏序异常。因为在对上面所述的事务使用S2PL时会产生死锁,此时死锁检测会终止其中一个事务。因此S2PL中可以自然的避免写偏序异常的问题。

http://www.xdnf.cn/news/234631.html

相关文章:

  • Missashe考研日记-day31
  • UNet 改进(21):可变形卷积UNet架构
  • Java 实现 SM4 加密解密
  • SpringAI实现AI应用-搭建知识库
  • GPU集群搭建
  • BOTA新六维力传感器PixONE:用12维度力矩与运动感测,驱动人形机器人力控未来
  • Compose笔记(二十)--TextField
  • (31)VTK C++开发示例 ---绘制立方体
  • 第 12 届蓝桥杯 C++ 青少组中 / 高级组省赛 2021 年 4 月 24 日真题
  • C++好用的打印日志类
  • 2025.4.24 JavaScript 基础学习笔记
  • [特殊字符] 蓝桥杯省赛全解析:含金量、获奖难度、参赛意义与发展价值全面剖析
  • 精华贴分享|【零敲碎打12】类筹码数据构建-散户行为倾向
  • react初学踏坑记录-if(number)到底过滤了什么
  • leetcode0075. 颜色分类-medium
  • 数学:拉马努金如何想出计算圆周率的公式?
  • 大连理工大学选修课——机器学习笔记(3):KNN原理及应用
  • 【中间件】bthread效率为什么高?
  • 12.Three.js 中的 DirectionalLight(平行光)详解指南
  • Python第四周作业
  • 软件系统验收报告:功能、性能稳定性如何?数据导出卡顿咋回事?
  • SpringBoot使用Mybatis-Plus分页无效
  • 云蝠智能大模型呼叫,音色升级啦!
  • 这些是什么充电模块调试手段,对USB、Thermal、DP
  • 【Agent】MCP协议 | 用高德MCP Server制作旅游攻略
  • Compose Multiplatform+Kotlin Multiplatfrom 第六弹跨平台 AI应用
  • 大屏/门户页面兼容各种分辨率或电脑缩放
  • C++初阶-string类1
  • 手动实现二叉搜索树
  • AGI时代来临?2030年AI将如何改变人类社会?