首页 理论教育分布式数据库技术:确保可靠性的协议

分布式数据库技术:确保可靠性的协议

【摘要】:分布式数据库系统的可靠性技术主要由协议构成,包括提交、终止和恢复协议。终止协议是分布式数据库系统中独有的。如果故障是网络分割,终止协议则会采取必要的措施去终止其他分割片上执行的仍然在活跃的事务。我们也希望分布式恢复协议是独立的。这样协议的存在可以大大减少恢复期间的消息交换。

研究分布式可靠性协议,我们先假设事务的启动节点有一个运作进程,起主导作用,称为协调者(coordinator),其余被分配到操作任务的节点上的进程称为参与者(participant)。协调者和在其他节点的参与者的进程之间相互通信,以帮助事务的正确执行。

分布式数据库系统的可靠性技术主要由协议构成,包括提交(commit)、终止(termination)和恢复(recovery)协议。提交协议和恢复协议在分布式数据库系统和集中式数据库系统中都存在,只是在两个系统中有差别。终止协议是分布式数据库系统中独有的。

假设在分布式事务执行期间,一个节点在执行期间出错,因此希望其他节点也终止事务,这个技术就称为终止协议(termination protocols)。终止协议和恢复协议是恢复问题的两个对立面,出现一个节点故障,终止协议分析操作节点如何处理这个故障,恢复协议处理故障节点上那些进程(协调者和参与者)的恢复过程,使得一旦节点重新启动,就能够恢复它的状态。如果故障是网络分割,终止协议则会采取必要的措施去终止其他分割片上执行的仍然在活跃的事务。而恢复协议则在网络分割片重新互联时保证数据库的相互一致性。(www.chuimin.cn)

提交协议的基本要求是维持分布式事务的原子性,我们称为原子提交(atomic commitment)。我们希望终止协议是非阻塞的(nonblocking)。所谓协议是非阻塞的,指的是它允许事务在其操作节点上终止事务而无需等待其他出现故障的节点恢复,这样可以大大提高事务的响应性能。我们也希望分布式恢复协议是独立的。独立恢复协议可以让节点在出现故障时决定如何去终止一个正在执行的事务,而无须征求其他任何节点的意见。这样协议的存在可以大大减少恢复期间的消息交换。注意,独立恢复协议的存在蕴含了非阻塞终止协议的存在。反之亦然。