首页 理论教育懒副本协议在分布式数据库技术中的应用

懒副本协议在分布式数据库技术中的应用

【摘要】:懒副本协议也是一种变异,它并不试图在更新数据项的事务上下文中涉及的数据项的所有副本上实施写操作,而是将更新实施在一个或几个副本上,随后将改变传递给其他副本。拥有关系参数用于定义更新副本拷贝的许可。基于这四个参数,可以将懒副本协议分为两类。第一类由懒副本协议方法构成,所有副本都是可更新的。这种情况下,副本上存在群组关系。为这种模式实现的公共传播策略是延迟立即。刷新期间所有接收到的刷新事务都要执行。

懒副本协议(lazy replication protocols)也是一种变异,它并不试图在更新数据项的事务上下文中涉及的数据项的所有副本上实施写操作,而是将更新实施在一个或几个副本上,随后将改变传递给其他副本。懒副本模式可以用四个参数来表述。拥有关系参数用于定义更新副本拷贝的许可。如果副本拷贝是可以更新的,则称为原本(primary copy),其他的称为副本(secondary copy)。存放对象原本的节点称为该对象的主(master)节点,其他节点称为从(slaves)节点。传播参数(propagation parameter)用于定义对副本更新时必须传播到存放同一对象的其他副本的节点。刷新(refreshment)参数用于定义刷新事务的调度。刷新事务时一旦被其他节点接受,就执行,这个策略称为是立即的(immediate)。传播参数和刷新参数的并置可以决定特定的更新传播策略。例如,拖延-立即(deferred-immediate)更新传播策略可以作为延迟传播和立即刷新。建构(configuration)参数用于描述节点和网络。

基于这四个参数,可以将懒副本协议分为两类。

第一类由懒副本协议方法构成,所有副本都是可更新的(称为update anywhere)。这种情况下,副本上存在群组关系。为这种模式实现的公共传播策略是延迟立即(deferred-immediate)。如果两个或者两个以上的节点更新同一个副本对象,则会发生冲突。冲突的检测和解决方法可以使用时标序法、节点优先法和其他方法。(www.chuimin.cn)

第二类由单主节点协议构成,更新发生在哪里(称为懒主节点方法)。这个副本模式有多种刷新策略。使用按需刷新,每次提交一个查询,该查询读的副本通过执行所有接收的刷新事务的执行来刷新。因此可以在响应时间上引入一个延迟。一是分组刷新,刷新事务按照应用刷新需求分组执行。也可使用周期方法,刷新以固定间隔触发。刷新期间所有接收到的刷新事务都要执行。最后,通过周期性传播,更新事务实施的传播存放在主节点中并周期性地传播。使用立即传播则可以使用所有的刷新策略。

这一方面的细节可参阅参考文献[8]和参考文献[9]。