分布式存储如何保证数据一致性?

分布式存储数据一致性如何保证

参与6

1同行回答

docdoc  项目经理 , 长春理想
从服务端角度,如何尽快将更新后的数据分布到整个系统,降低达到最终一致性的时间窗口,是提高系统的可用度和用户体验非常重要的方面。对于分布式存储系统:N — 数据复制的份数W — 更新数据是需要保证写完成的节点数R — 读取数据的时候需要读取的节点数如果W+R>N,写的节点...显示全部

从服务端角度,如何尽快将更新后的数据分布到整个系统,降低达到最终一致性的时间窗口,是提高系统的可用度和用户体验非常重要的方面。对于分布式存储系统:
N — 数据复制的份数
W — 更新数据是需要保证写完成的节点数
R — 读取数据的时候需要读取的节点数
如果W+R>N,写的节点和读的节点重叠,则是强一致性。例如对于典型的一主一备同步复制的分布式存储系统,N=2,W=2,R=1,则不管读的是主副本还是从副本的数据,都是一致的。
如果W+R<=N,则是弱一致性。例如对于一主一备异步复制的分布式存储,N=2,W=1,R=1,则如果读的是从副本,就可能无法读取主副本已经更新过的数据,从而读到了脏数据所以是弱一致性。
对于分布存储式系统,为了保证高可用性,一般设置N>=3,且强制在主副本读取,也是通常说的分布式存储系统使用强一致性原则。

收起
系统集成 · 2018-07-05
浏览1427

提问者

wykkx
wykkx0412
系统架构师某基金公司
擅长领域: 云计算容器系统运维

问题来自

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2018-07-05
  • 关注会员:2 人
  • 问题浏览:2144
  • 最近回答:2018-07-05
  • X社区推广