在Quorum 机制下,如何能保证每次读取的都是最新的数据?
在Quorum 机制下,在一个拥有N 个副本的系统中,更新操作在W 个副本执行成功,才认为该更新操作执行成功;读取时,至少读取到R 个副本才认为此次读操作成功。为了保证每次读取时能够读到最近更新的数据,Quorum 要求W + R > N 且W >N / 2,即保证写入和读取的副本集合必须存在交集,写入的副本占副本总数一半以上。当W = N、R = 1 时,Quorum 就转化为WARO,因此WARO 可以看作Quorum的一种特例,Quorum 可在WARO 的基础上对读取和更新进行权衡。针对更新操作,Quorum 能够容忍N-R 个副本异常;针对读操作,能够容忍N-W 个副本异常。针对同一份数据,更新操作和读取操作无法同时进行。
以上内容摘自《云原生数据库原理与实践》,这本书可以在电子工业出版社天猫店购买。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。