分布式数据库管理系统:概念、挑战与解决方案
1. 分布式数据库并发控制之投票方法
在分布式数据库管理系统(DDBMS)环境中,实现并发控制的一种方法是使用投票方法。之前讨论的并发控制方法是基于区分副本的概念,即指定一个站点作为复制数据项的区分副本持有者。而投票方法中不存在区分副本的概念。
当需要更新一个数据项时,会向持有该数据项副本的所有站点发送锁定请求。每个数据项副本都关联一个锁,副本可以决定是否授予或拒绝锁定。当一个事务需要更新数据项时,它会向该数据项的所有副本(即站点)发送锁定请求,每个站点会回复“是”或“否”,此回复称为投票。每个数据项都关联一个最小阈值,事务必须达到该阈值才能继续进行更新。存在以下两种情况:
- 情况一 :如果所有“是”投票的总和等于或大于阈值,事务将获得该数据项的锁,并通知所有站点,然后继续进行更新。
- 情况二 :如果所有“是”投票的总和小于阈值,或者在指定时间内没有响应,事务将取消其锁定请求并通知所有站点。
投票方法本质上更具分布式特性,因为不依赖于单个区分副本。然而,由于站点之间需要传输大量的锁定请求/响应和投票消息,其速度较慢。
2. 分布式恢复
在集中式数据库管理系统中,日志记录可确保从故障中快速恢复。但在分布式系统中,情况并非如此简单。例如,站点A向站点B发送消息,如果B没有响应,A应该怎么做?B不响应可能有以下三个原因:
- 通信问题 :A到B的消息由于通信问题根本没有到达B。
- 站点故障 :A发送消息时
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



