0
点赞
收藏
分享

微信扫一扫

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

三维控件研究 2022-06-04 阅读 40

事务管理

  • 概念
  • 事务是一个数据库操作序列,是不可分割的工作单位。
  • 要么全做,要么全不做
  • 事务的执行次序被称为调度
  • 并发控制
  • 保证并发调度的可串行化,是为了确保事务的一致性和隔离性
  • 并发控制的主要技术是封锁
  • 并行数据库体系结构
  • 共享内存
  • 使用全局共享的内存和磁盘
  • 共享磁盘
  • 独立内存和多个磁盘,通过网络通讯
  • 无共享资源结构
  • 独立节点


  • 特性
  • 原子性
  • 一致性
  • 持久性
  • 隔离性:事务的并发执行不会破坏数据库的完整性

  • 并发操作的问题(隔离级别)
  • 脏读
  • 不可重复读
  • 丢失修改
  • 幻读:两次查询得到的记录不同
  • 读脏数据
  • 指的是未提交随后又被撤销的数据
  • 幻读
  • 同一事务,对数据库做相同的查询,由于被其他事务改变,查询的记录不同
  • 方式:可串行化

  • 事务的特性
  • 原子性
  • 正在执行的事务中断,破坏了事务的原子性,恢复方法是利用日志进行Undo操作(撤销未完成事务对数据库的更新操作)
  • 一致性
  • 持久性
  • 事务一经提交,对数据库的影响会体现到数据库中
  • 故障发生时,已提交事务,但未写入磁盘,破坏了事务的持久性,恢复方法是进行Redo操作
  • 隔离性
  • 两段锁协议
  • 分类
  • 一级封锁协议:
  • 解决了事务并发操作带来的数据丢失修改所产生的不一致问题
  • 事务执行前锁定所有的资源,能保证不产生死锁
  • 二级封锁协议
  • 保证事务的串行化,不能避免死锁
  • 三级封锁协议
  • 1PC、2PC、3PC,三阶段提交协议,均不是完全非阻塞协议

  • 保证了可串行化,把每个事务分解为加锁和解锁两个阶段
  • 但是两段锁协议不能保证不产生死锁
  • LOCK是独占锁
  • lock是共享锁
  • 事务满足两段锁协议,则是可串行化的
  • 数据库的备份与恢复
  • 日志文件
  • 保存对数据库的更新操作,而非数据操作
  • 是记录事务对数据库的更新操作的文件
  • 作用
  • 事务故障恢复
  • 系统故障恢复
  • 保存了更新前后的数据
  • 协助后备副本进行介质故障恢复

  • 数据转储
  • 采用静态副本恢复后,数据库处于一致性状态
  • 分类
  • 动态和静态转储:转储时是否允许数据库进行存取、修改操作(转储和用户事务能否并发执行)
  • 海量和增量转储:增量是只转储上次转储后更新过的数据,海量是转储全部数据

  • 恢复分类
  • 有开始有结束,应该redo
  • 有开始无结束,应该undo

  • 安全性与完整性


作者:哥们要飞

举报

相关推荐

0 条评论