我怀疑(一对夫妇)。我想我已经掌握了答案,但我正在寻找确认
假设我要实现mongodb的分片群集,是否需要将副本集放在分片旁边?
我知道如果我只使用replicaSet,并且我决定在辅助节点上分发读取操作,那么它将导致最终一致性,对吧? 而另一方面,如果我不启用辅助节点上的读取,我将获得的“唯一”优势是在节点将丢失的情况下保护数据库
但是,分片复制的一致性怎么样?它仍将是最终一致的,还是完全一致的?
答案 0 :(得分:2)
是将副本集放在分片旁边
的必要条件
您不必,但如果您关心可用性,
我决定在辅助节点上分发读取操作,这会导致最终的一致性,对吗?
是的,因为辅助人员会收集尽可能多的OP作为初选,大多数司机只会从中学读取一个活跃的辅助读物是没用的。
我将获得的“唯一”优势是在节点崩溃的情况下保护数据库
“唯一”?这就是副本集的全部要点,以产生自动故障转移。这是存在的根本原因,也是一个很大的原因。
它仍然是最终一致的还是完全一致的?
这取决于你的读取位置,但是如果你在分片设置中读取辅助文件,你不仅会获得最终的一致性,而且由于块移动,你可能也会得到重复的文档。
如果您正在阅读初选,那么您将在分片副本集设置中获得强大的一致性。