数据库系统概念 事务

  • 事务:原子性、一致性、隔离性、持久性:ACID特性
  • 原子性与持久性的实现
    • 影子副本,在副本中更新事务,db__pointer指向更新过的副本即可实现事务原子性提交
  • 并发执行
    • 并发:提高吞吐量和资源利用率,减少等待时间
    • 冲突存在等价串行化执行顺序,则冲突可串行化
    • 调度视图等价于一个串行调度,即视图可串行化
    • 冲突串行化顺序可由拓扑排序获得
  • 并发控制
    • 基于锁协议
      • 共享锁:事务获得数据项上共享锁后可读不可写
      • 排它锁:事务获得数据项上排它锁后可读又可写
    • 事务T申请对数据项Q加M型锁时,并发控制管理器授权加锁的条件
      • 不存在数据项Q上持有与M型锁冲突的锁的事务
      • 不存在等待对数据项Q加锁且先于T申请加锁的事务
    • 两阶段封锁协议
      • 增长阶段:只能加锁不能释放锁
      • 缩减阶段:只能解锁不能加锁
      • 最后加锁位置:即封锁点,根据封锁点排序(串行化顺序)避免发生死锁
      • 严格两阶段封锁:任一事务失败,级联回滚
      • 强两阶段封锁:事务提交之前不能释放任何锁
posted @ 2016-12-20 21:49  zeroArn  阅读(236)  评论(0)    收藏  举报