开发者社区 > 数据库 > 正文

在Quorum 机制下,如何能保证每次读取的都是最新的数据?

已解决

在Quorum 机制下,如何能保证每次读取的都是最新的数据?

展开
收起
云上静思 2022-09-18 16:37:49 352 0
1 条回答
写回答
取消 提交回答
  • 推荐回答

    在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 个副本异常。针对同一份数据,更新操作和读取操作无法同时进行。

    以上内容摘自《云原生数据库原理与实践》,这本书可以在电子工业出版社天猫店购买。

    2022-09-18 17:34:03
    赞同 展开评论 打赏
问答地址:

数据库领域前沿技术分享与交流

相关电子书

更多
事务、全局索引、透明分布式 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载