五:并发控制

文章目录

  • 多个事务同时在数据库中运行时,
  • 并发控制是一种用于维持一致性与隔离性的技术

  • 宽泛讲
  • 三种并发控制技术
  • MVCC
  • S2PL
  • OCC
    • 都有多种变体
  • MVCC中,每个写操作都创建一个新版本数据项
    • 保留其旧版本
    • 当事务读取数据对象时,系统会选择其中的一个版本,通过这种方式来确保各个事务间隔离
    • 读不会阻塞写,写也不会阻塞读
  • 基于S2PL的系统在写操作发生时会阻塞相应对象上
    的读操作,因为写入者获取了对象上的排他锁
  • Postgresql和一些关系型数据库用一种MVCC的变体
    • SI

  • 一些RDBMS(如Oracle)用回滚段来实现快照隔离SI。
  • 当写入新数据对象时,旧版本对象先被写入回滚段,随后用新对象覆写至数据区域。
  • Pg用更简单的方法,新数据对象被直接插入相关表页。
  • 读取对象时, Pg根据可见性检查规则,为每个事务选择合适的对象版本作响应

©️2020 CSDN 皮肤主题: 技术黑板 设计师:CSDN官方博客 返回首页