【软考-中级-数据库相关知识】5、事务管理

事务管理

  • 概念
    • 事务是一个数据库操作序列,是不可分割的工作单位。
    • 要么全做,要么全不做
    • 事务的执行次序被称为调度
  • 并发控制
    • 保证并发调度的可串行化,是为了确保事务的一致性和隔离性
    • 并发控制的主要技术是封锁
    • 并行数据库体系结构
      • 共享内存
        • 使用全局共享的内存和磁盘
        • 共享磁盘
          • 独立内存和多个磁盘,通过网络通讯
        • 无共享资源结构
          • 独立节点
    • 特性
      • 原子性
      • 一致性
      • 持久性
      • 隔离性:事务的并发执行不会破坏数据库的完整性
  • 并发操作的问题(隔离级别)
    • 脏读
    • 不可重复读
    • 丢失修改
    • 幻读:两次查询得到的记录不同
    • 读脏数据
      • 指的是未提交随后又被撤销的数据
    • 幻读
      • 同一事务,对数据库做相同的查询,由于被其他事务改变,查询的记录不同
      • 方式:可串行化
  • 事务的特性
    • 原子性
      • 正在执行的事务中断,破坏了事务的原子性,恢复方法是利用日志进行Undo操作(撤销未完成事务对数据库的更新操作)
    • 一致性
    • 持久性
      • 事务一经提交,对数据库的影响会体现到数据库中
      • 故障发生时,已提交事务,但未写入磁盘,破坏了事务的持久性,恢复方法是进行Redo操作
    • 隔离性
  • 两段锁协议
    • 分类
      • 一级封锁协议:
        • 解决了事务并发操作带来的数据丢失修改所产生的不一致问题
        • 事务执行前锁定所有的资源,能保证不产生死锁
        • 二级封锁协议
          • 保证事务的串行化,不能避免死锁
        • 三级封锁协议
        • 1PC、2PC、3PC,三阶段提交协议,均不是完全非阻塞协议
    • 保证了可串行化,把每个事务分解为加锁和解锁两个阶段
    • 但是两段锁协议不能保证不产生死锁
    • LOCK是独占锁
    • lock是共享锁
    • 事务满足两段锁协议,则是可串行化的
  • 数据库的备份与恢复
    • 日志文件
      • 保存对数据库的更新操作,而非数据操作
      • 是记录事务对数据库的更新操作的文件
      • 作用
        • 事务故障恢复
        • 系统故障恢复
        • 保存了更新前后的数据
        • 协助后备副本进行介质故障恢复
    • 数据转储
      • 采用静态副本恢复后,数据库处于一致性状态
      • 分类
        • 动态和静态转储:转储时是否允许数据库进行存取、修改操作(转储和用户事务能否并发执行)
        • 海量和增量转储:增量是只转储上次转储后更新过的数据,海量是转储全部数据
    • 恢复分类
      • 有开始有结束,应该redo
      • 有开始无结束,应该undo
  • 安全性与完整性
posted @ 2022-04-14 10:41  哥们要飞  阅读(187)  评论(0编辑  收藏  举报