ROWA协议是强加单副本一致性的协议,它把一个逻辑读变成对任意一个副本的读操作,把一个逻辑写变成对所有副本的写操作,从而让所有副本有同一个值。ROWA协议简单优雅,但有一个致命缺陷:只要有一个副本不能用,更新事务就不能终止。实际上已经提出了这个协议的不少变种,有一个协议称为可用副本协议。因此,协调者在提交前需进行验证。ROWA-A协议比简单ROWA协议更能抗故障,包括网络分割。另一类严格副本控制协议是基于选举的。......
2023-10-28
网络设备、系统及服务程序等在运行时都会生成叫日志的事件记录;每行日志都记载着日期、时间、使用者及动作等相关操作的描述。大家熟知的航海记录和飞机的黑匣子记录等都是日志。
日志里包含日志记录。日志记录里记载着undo和redo动作所需要的信息。目前流行的博客(blog)也是一种日志,可以记载个人的喜怒哀乐。
在数据库系统中,无论什么时候,只要事务在数据库上执行操作,就必须在日志文件里写入记录。这里,日志记录应当包含以下几方面。
●事务的标识。
●记录的标识。
●动作的类别(insert、delete、modify)。
●旧的记录值(前象),用于undo。(www.chuimin.cn)
●新的记录值(后象),用于redo。
●恢复程序需要的其他辅助信息(如指向同一事务的前一个日志记录的指针)。
当然,事务在启动、提交或夭折时,需要往日志里写入begin-transaction、commit或abort记录。
数据库更新的写操作和相应的日志写操作是两个不同的操作,因此,有可能会在这两个操作执行期间发生故障。如果数据库更新的写操作发生在写日志记录之前,那么有可能恢复程序无法undo更新。为了避免出现这种现象,我们要求先写日志记录再更新数据库,称为log write-ahead协议。该协议有两个基本规则。
●实施数据库更新操作前,稳存中至少记录了可以用于undo的日志记录。
●在提交事务前,这个事务的所有日志记录必须已经记录在稳存中。
有关分布式数据库技术的文章
ROWA协议是强加单副本一致性的协议,它把一个逻辑读变成对任意一个副本的读操作,把一个逻辑写变成对所有副本的写操作,从而让所有副本有同一个值。ROWA协议简单优雅,但有一个致命缺陷:只要有一个副本不能用,更新事务就不能终止。实际上已经提出了这个协议的不少变种,有一个协议称为可用副本协议。因此,协调者在提交前需进行验证。ROWA-A协议比简单ROWA协议更能抗故障,包括网络分割。另一类严格副本控制协议是基于选举的。......
2023-10-28
施工日志是在建筑工程整个施工阶段有关施工活动和现场情况变化的综合性记录,也是处理施工问题的备忘录和总结施工管理经验的基本素材。施工日志在工程竣工后,由施工单位列入技术档案保存。(一) 填写施工日志的要求和内容施工日志应按单位工程填写,从开工到竣工交验为止,逐日记载,不得中断。施工中途发生施工人员调动,应当办理交接手续,保持施工日志的连续性、完整性。......
2023-06-29
如果启动中的节点还不是网络的一部分,则会计算一个尚未指定给其他节点的随机ID编号。最高层的子树由整棵树不包含自己的树的另一半组成;下一层子树由剩下部分不包含自己的一半组成;依此类推,直到分割完整棵树。Kademlia协议确保每个节点知道其各子树的至少一个节点,只要这些子树非空。Kademlia为节点和键使用160比特的ID。例如,令x=010101,y=110001,则这两个节点的距离为100100(二进制),即十进制为32+4=36。......
2023-10-28
下面讨论一个典型的提交协议,即两阶段提交协议。这种模式用到分布式事务管理就是两阶段提交协议。参与方接收到prepare消息后,就会检查自己能否提交。图10.132PC协议时协调者和参与者的状态转换图由图10.13可知:第一,2PC协议允许参与者单边夭折一个事务,直到它决定加入肯定选择前,它都是自由的。图10.14集中式2PC协议的通信结构实现时,2PC协议可以使用许多种不同的通信方式。图10.15线形2PC协议的通信结构协调者发送″prepare″消息给参与者2。......
2023-10-28
基于法定人数选举法可以作为一个副本控制方法,也可作为提交方法在网络分割时保证事务的原子性。事务提交前,必须获得提交法定选举人数Vc的通过。后两条规则说明选举的两条规则。在协调者从PRECOMMIT状态移到COMMIT状态和发送″global-commit″命令时,协调者必须获得提交选举人数参与者的同意,这是为了满足规则。图10.193PC协议在选举人方案中的状态转换基于选举人提交算法,有两点是很重要的。......
2023-10-28
分布式数据库系统的可靠性技术主要由协议构成,包括提交、终止和恢复协议。终止协议是分布式数据库系统中独有的。如果故障是网络分割,终止协议则会采取必要的措施去终止其他分割片上执行的仍然在活跃的事务。我们也希望分布式恢复协议是独立的。这样协议的存在可以大大减少恢复期间的消息交换。......
2023-10-28
三阶段提交协议是为无阻塞协议而设计的。因此有必要对2PC协议进行修改。因为从INITIAL状态到COMMIT状态间有三个状态转换,所以我们称为三阶段提交协议。图10.173PC协议的状态转换图1.终止协议下面分析3PC协议每个状态在超时时的情况。协调者单边决定夭折该事务。因此它将abort记录写入日志,并发送″global-abort″消息给所有已经选择提交事务的参与者。3PC协议如图10.18所示。参与者可能处于INITIAL、READY、ABORT、PRECOMMIT状态。因此协调者将全局提交该事务,发送″global-commit″消息。......
2023-10-28
懒副本协议也是一种变异,它并不试图在更新数据项的事务上下文中涉及的数据项的所有副本上实施写操作,而是将更新实施在一个或几个副本上,随后将改变传递给其他副本。拥有关系参数用于定义更新副本拷贝的许可。基于这四个参数,可以将懒副本协议分为两类。第一类由懒副本协议方法构成,所有副本都是可更新的。这种情况下,副本上存在群组关系。为这种模式实现的公共传播策略是延迟立即。刷新期间所有接收到的刷新事务都要执行。......
2023-10-28
相关推荐