第7章 并发控制 V2.1.ppt

第7章 并发控制 V2.1

严格两阶段锁 除要求满足两段锁协议规定外,还要求事务的排它锁必须在事务提交之后释放。 解决级联回滚问题 避免了脏读和丢失修改的问题。 强两阶段锁 除要求满足两段锁协议规定外,还要求事务的所有锁都必须在事务提交之后释放。 进一步解决数据项不能重复读的问题 两阶段锁总结 从两段锁协议到严格两段锁协议,再到强两段锁协议,事务持锁的时间不断增长。这不但保证事务的并发调度是冲突可串行化的,还不断增强了数据库的一致性保证。 但带来的另一方面的问题是并发度的降低,以及死锁出现可能性的增加。 目前,大多数的DBMS都采用严格两段锁协议或强两段锁协议。 锁的升级及更新锁 锁的升级有可能使得出现死锁的概率加大 更新锁只允许事务读取数据项而不能修改数据项 系统允许更新锁升级,而不允许共享锁升级 更新锁相容矩阵 Click to add Title 1 事务并发 1 Click to add Title 2 并发事务引起的问题 2 Click to add Title 2 可串行化 3 Click to add Title 1 基于锁的并发控制协议 4 Click to add Title 1 *活锁与死锁 5 Click to add Title 2 *多粒度封锁 3 活锁或饿死 解决活锁方法: 采用先来先服务的策略。 死锁 死锁的两种处理方式

文档评论(0)

1亿VIP精品文档

相关文档