MongoDB分片和读取副本

时间:2013-12-05 14:38:04

标签: mongodb sharding

我正在设置Sharded群集。

我还想在群集中配置只读副本。

假设碎片为3,1个主要和2个次要。写入将转到碎片的主要成员,但我可以将所有读取发送到Secondaries吗?

1 个答案:

答案 0 :(得分:3)

建议不要在分片群集中读取辅助节点。这是因为与初选不同,辅助设备不知道碎片应包含哪些数据。因此,当块从一个碎片迁移到另一个碎片时,从辅助节点读取可能会导致重复或丢失结果。

一般来说,从辅助数据中读取也意味着失去一致性保证,因为只要写入没有从初选中传播,辅助数据就会看到并返回陈旧数据。

最后,你应该记住,辅助语言基本上接受与初选相同的写入负载,因此从辅助语言中读取不太可能提供很多性能优势。

获得更多读取吞吐量的推荐方法通常是添加更多分片,而不是从辅助分析中读取。