2014-03-13 65 views
0

据我所知,MongoDB中的复制是一种在mongod的不同服务器上保持相同数据集的方法。我阅读了MongoDB文档,但没有发现与性能变化有关的任何内容。复制和对性能的影响

对于我来说总有一个问题可以帮助MongoDB在写/读操作性能方面提供帮助吗?

回答

3

性能不应受此影响。小学不复制,而是辅助和其他成员“挑选”形成初选oplog,这基本上是一个操作日志。

我想oplog的存储性能会受到影响,您确实需要一些额外的磁盘空间。

对于我来说总有一个问题,复制可以帮助MongoDB进行写/读操作的性能吗?

不写没有,你只能写入主要的,因为读取是并发的,你有一个作家贪婪的锁,你没有写性能增益。

至于读数;那么投票结果就是这样。由于该组成员获得的主体数量与主体数量一样多,许多人认为实际上根本没有帮助,但他们确实承认在某些情况下(分析报告)它确实有帮助。

当然,读取将总是返回陈旧的数据,即可能已经改变/删除的数据。

真的是否副本读取会使您受益与否取决于您的情况,并且我们不知道是否足以告诉您是或否。

+0

谢谢你这么好的答案。因此,复制的目标是提供高可用的MongoDB服务器,而不是提升性能或I/O。正确? –

+0

@AfshinMehrabani是的真的,分片是你推荐看的 – Sammaye

+0

复制的目标并不是性能增益。目标是保护数据并提供高可用性。另一方面,如果您的设置包含足够的节点,您可以为您的复制组选择最接近的读取首选项,这会在地理上分配系统可以减少获取数据所需的时间。所以这可以是有帮助的。 – Azarus