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