2014-03-13 66 views
0

據我所知,MongoDB中的複製是一種在mongod的不同服務器上保持相同數據集的方法。我閱讀了MongoDB文檔,但沒有發現與性能變化有關的任何內容。複製和對性能的影響

對於我來說總有一個問題可以幫助MongoDB在寫/讀操作性能方面提供幫助嗎?

回答

3

性能不應受此影響。小學不復制,而是輔助和其他成員「挑選」形成初選oplog,這基本上是一個操作日誌。

我想oplog的存儲性能會受到影響,您確實需要一些額外的磁盤空間。

對於我來說總有一個問題,複製可以幫助MongoDB進行寫/讀操作的性能嗎?

不寫沒有,你只能寫入主要的,因爲讀取是併發的,你有一個作家貪婪的鎖,你沒有寫性能增益。

至於讀數;那麼投票結果就是這樣。由於該組成員獲得的主體數量與主體數量一樣多,許多人認爲實際上根本沒有幫助,但他們確實承認在某些情況下(分析報告)它確實有幫助。

當然,讀取將總是返回陳舊的數據,即可能已經改變/刪除的數據。

真的是否副本讀取會使您受益與否取決於您的情況,並且我們不知道是否足以告訴您是或否。

+0

謝謝你這麼好的答案。因此,複製的目標是提供高可用的MongoDB服務器,而不是提升性能或I/O。正確? –

+0

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

+0

複製的目標並不是性能增益。目標是保護數據並提供高可用性。另一方面,如果您的設置包含足夠的節點,您可以爲您的複製組選擇最接近的讀取首選項,這會在地理上分配系統可以減少獲取數據所需的時間。所以這可以是有幫助的。 – Azarus