第八章 多副本一致性(2学时)
内容:一致性模型,分发协议,一致性协议。
要求:掌握分布式系统中,数据存储多副本的目的是为了提高系统的可靠性和性能,掌握数据为中心的7种一致性模式和客户为中心的4中一致性模型,掌握分发协议中更新传播的模式,掌握主-从副本协议和复制写协议的原理与执行过程。
一致性模型(考试重点)
图中水平线表示客户进程对其数据存储副本执行操作,带箭头的虚线表示写操作向其他副本的传播修改。a中,客户A在其副本上对数据存储的数据项x执行写操作,写入值为a,同时向副本B传播写操作。客户B的副本接受客户A写操作传播,修改数据项x,然后对数据项x执行读操作,得到值a.
而b中没有达到严格一致性,因为B读到的不是a,而是数据项x的初值NULL,客户A的写操作没有立即传播到B,未能及时完成对副本的修改。
图a是顺序一致性,因为C和D都是先看到数据项x写b,再写a.
如果C,D都是先写a,再写b,那么也是顺序一致性。
但是图b不是顺序一致性。
图a中,客户A的写操作W(x)a与客户B的写操作W(x)b有因果关系,所以C,D看到的是相同的定序,即先读出数据项x的值为啊