数据库并发控制思维导图+大纲笔记

思维导图

大纲笔记

  • 多用户数据库系统

    • 定义
      • 允许多个用户同时使用的数据库系统
    • 特点
      • 在同一时刻并发运行的事务数可达数百上千个
      • 多事务执行方式
        • 事务串行执行
        • 交叉并发方式
          • 单处理机系统
        • 同时并发方式
          • 多处理机系统
    • 事务并发执行带来的问题
      • 产生多个事务同时存取同一数据的情况
      • 可能会存取和存储不正确的数据,破坏事务隔离性和数据库的一致性
    • 数据库管理系统必须提供并发控制机制
    • 并发控制机制是衡量一个数据库管理系统性能的重要标志之一
  • 封锁

    • 定义
      • 封锁就是事务T在对某一个数据对象操作之前,先向系统发出请求,对其加锁
    • 基本封锁类型
      • 排它锁(写锁):X锁
      • 共享锁(读锁):S锁
    • 锁的相容矩阵
      • Y=Yes,相容的请求
      • N:No,不相容的请求
    • 作用
      • 封锁是实现并发控制的一个非常重要的技术
  • 活锁和死锁

    • 活锁
      • 避免活锁
        • 先来先服务
    • 死锁
      • 解决死锁方法
        • 死锁预防
          • 一次封锁法
          • 顺序封锁法
        • 死锁的诊断与解除
          • 超时法
          • 等待图法
  • 并发调度的可串行性

    • 可串行化调度
      • 可串行化调度
        • 多个事务的并发执行是正确的,当且仅当其结果与按某一次序串行的执行这些事务时的结果相同
      • 可串行性
        • 是并发事务正确调度的准则
        • 一个给定的并发调度,当且仅当它是可串行化的,才认为是正确调度
    • 冲突可串行化调度
      • 冲突可串行化
      • 冲突操作
        • 不同的事务对同一数据的读写操作和写写操作
      • 冲突
        • 不能交换的动作
          • 同一事务的两个操作
          • 不同事务的冲突操作
  • 并发控制概述

    • 事务是并发控制的基本单位
    • 并发控制的任务
      • 对并发操作进行正确调度
      • 保证事务的隔离性
      • 保证数据库的一致性
    • 并发操作带来的数据不一致行包括
      • 丢失修改
        • 写-写
      • 不可重复读
        • 读-更新(插入、修改、删除)
        • 三种情况
          • 情况1
            • 事务1读取某一数据
            • 事务2对其做修改
            • 当事务1再次读该数据时,得到与前一次不同的值
          • 情况2
            • 读-删除
          • 情况3
            • 读-插入
          • 2、3称为幻影现象
      • 读'脏'数据
        • '脏'数据即不正确的数据,读到的数据是数据库的临时状态
          • 修改-读
    • 记号
      • R(x):读数据x
      • W(x):写数据x
    • 并发控制机制就是要用正确的方式调度并发操作,使一个用户的执行不受其他事务的干扰,避免造成数据的不一致性
    • 并发控制的主要技术
      • 封锁
      • 时间戳
      • 乐观控制法
      • 多版本并发控制
  • 封锁协议

    • 规则
      • 何时申请X锁或S锁
      • 持锁时间
      • 何时释放
    • 三级封锁协议
      • 一级封锁协议
        • 解决问题
          • 丢失修改
        • 未解决问题
          • 可重复读
          • 不读'脏'数据
      • 二级封锁协议
        • 解决问题
          • 丢失修改
          • 读赃数据
        • 未解决问题
          • 不能保证可重复读
      • 三级封锁协议
        • 解决问题
          • 丢失修改、读赃数据、不可重复读
        • 未解决问题
  • 两段封锁协议

    • 事务遵循两段封锁协议是可串行化调度的充分条件,不是必要条件
  • 封锁的粒度

相关推荐
舞影天上5 分钟前
RuoYi-Vue-Plus Docker 部署踩坑:MySQL 中文双重编码的根因与修复
数据库
Wzx1980121 小时前
Redis&ES——Retriever的抽象实现
数据库·人工智能·redis·elasticsearch
G.O.G.O.G1 小时前
《LeetCode SQL 从入门到进阶(MySQL)》06(下)
数据库·sql·oracle
zandy10112 小时前
多租户SaaS架构下的BI数据隔离与权限治理体系
数据库·架构·数据加密
多巴胺梦想家2 小时前
NoSQL 数据库:不只是关系型
数据库·nosql
后季暖3 小时前
langgraph笔记
笔记
数字孪生家族3 小时前
3DGS 数据编辑单体化技术:将高斯重建转化为结构化数字空间资产
数据库·3d·高斯泼溅·空间智能应用
广州灵眸科技有限公司3 小时前
瑞芯微RV1126B开发板(EASY-EAI-PI2) 系统操作-线进程操作
数据库·单片机·嵌入式硬件·算法·php
·醉挽清风·3 小时前
学习笔记—算法—算法题
笔记·学习·算法
西岸行者4 小时前
硬刚DeepSeek: UDPC与MTFAA的血缘辩论
笔记