当前位置:首页 > 分布式数据库系统其应用(徐俊刚 第三版)重点课后习题
谨慎两阶段提交协议的基本思想是:满足两阶段提交协议的所有特征,并在决定插销前,给全局事务第二次机会。在协调者站点决定撤销之前,通过重新发送“准备”消息和重新设置一个定时器,允许协调者站点在另一个时间段与它没有收到消息的参与者站点通信。
5.10 在分布式数据库系统中对多副本数据的更新通常采用什么方法?快照方法的优点和缺点是什么?
主文本更新法、快照方法。
快照方法的优点:既避免了某些并发空控制的开销,又便于复杂查询的完成,是提高系统可用性的有效方法。
缺点:快照只是一个只读关系,其中数据只能读而不能写。
第六章
6.2 (P175~176)
6.5 什么是两阶段封锁协议?它如何保证可串行性?为什么人们更愿意采用严格两阶段封锁和严酷两阶段封锁?
如果一个事务所有的封锁操作都放在第一个解锁操作之前,那么就说该事务遵守两阶段封锁协议(2PL),这样的一个事务可以分为两阶段:第一阶段称为扩张阶段,事务只能获得新的数据项锁,而不能释放任何已持有的锁;第二阶段称为收缩阶段,该阶段事务只能释放已持有的锁,而不能获得任何新锁。
它限制了一个调度中可以发生的并发事务的数量,因而能够保证可串行性。 由于实现基本2PL协议,锁管理器必须要知道事务的锁点位置;保守2PL要事先声明读集和写集,这都是难以实现的。严格2PL和严酷2PL容易实现。
5.7 什么是多粒度封锁和意向锁?它们在什么情况下使用?
多粒度封锁是:封锁的粒度不是单一的一种粒度,而是有多种粒度。可以定义多粒度树,根节点是整个数据库,叶节点表示最小的封锁粒度。
意向锁是:如果对一个节点加意向锁,则说明该节点的下层节点正在被封锁。对任一节点封锁时,必须先对它的上层节点加意向锁。
具有意向锁的多粒度加锁方法中,任意事务T要对一个数据对象加锁,必须先对它的上层节点加意向锁。申请封锁时应该按自上而下的次序进行,释放锁时则应该按自下而上的次序进行。具有意向锁的多粒度加锁方法提高了系统的并发度, 减少了加锁和释放锁的开销。它已经在实际的DBMS系统中广泛应用,例如Oracle中。
共分享92篇相关文档