您当前的位置: 首页 > 

无主复制系统(2)-读修复和反熵

发布时间:2022-08-28 19:54:45 ,浏览量:0

复制模型应确保所有数据最终复制到所有副本。在一个失效节点重新上线后,如何追上错过的写入?Dynamo风格的数据存储系统常用机制:

① 读修复(Read repair)

当客户端并行读取多副本时,可检测到过期的返回值。如图-10,User 2345获得来自R3的版本6,而从副本1、2得到版本7。客户端判断可知:副本3是过期值,然后将新值写入该副本。这适用于读密集场景。

② 反熵过程(Anti-entropy process)

一些数据存储有后台进程,不断查找副本之间数据差异,将任何缺少的数据从一个副本复制到另一个副本。不同于基于主节点复制的复制日志,该反熵过程不保证任何特定顺序的复制写入,并且会引入明显的同步滞后。

并非所有系统都实现了这俩方案。如Voldemort目前无反熵过程。若无反熵过程,由于【读修复】只在发生读取时才可能执行修复,那些很少访问的数据可能在某些副本中已丢失而无法再检测到,从而降低写的持久性。

关注
打赏
1688896170
查看更多评论

暂无认证

  • 0浏览

    0关注

    115984博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文
立即登录/注册

微信扫码登录

0.0633s