mongodb复制+分片一致性

时间:2014-01-05 13:31:17

标签: mongodb

我怀疑(一对夫妇)。我想我已经掌握了答案,但我正在寻找确认

假设我要实现mongodb的分片群集,是否需要将副本集放在分片旁边?

我知道如果我只使用replicaSet,并且我决定在辅助节点上分发读取操作,那么它将导致最终一致性,对吧? 而另一方面,如果我不启用辅助节点上的读取,我将获得的“唯一”优势是在节点将丢失的情况下保护数据库

但是,分片复制的一致性怎么样?它仍将是最终一致的,还是完全一致的?

1 个答案:

答案 0 :(得分:2)

  

是将副本集放在分片旁边

的必要条件

您不必,但如果您关心可用性,

  

我决定在辅助节点上分发读取操作,这会导致最终的一致性,对吗?

是的,因为辅助人员会收集尽可能多的OP作为初选,大多数司机只会从中学读取一个活跃的辅助读物是没用的。

  

我将获得的“唯一”优势是在节点崩溃的情况下保护数据库

“唯一”?这就是副本集的全部要点,以产生自动故障转移。这是存在的根本原因,也是一个很大的原因。

  

它仍然是最终一致的还是完全一致的?

这取决于你的读取位置,但是如果你在分片设置中读取辅助文件,你不仅会获得最终的一致性,而且由于块移动,你可能也会得到重复的文档。

如果您正在阅读初选,那么您将在分片副本集设置中获得强大的一致性。