為什么用復制
為什么要使用復制呢?如果我們的數(shù)據(jù)庫只存在于一臺服務(wù)器,若這臺服務(wù)器宕機了,那對于我們數(shù)據(jù)將會是災難,當然這只是其中一個原因,若數(shù)據(jù)量非常大,讀寫操作勢必會影響數(shù)據(jù)庫的性能,這時候復制就顯得相當重要了,因為 MongoDB 可以通過復制,實現(xiàn)讀寫分離。
復制是一種在多個服務(wù)器上同步數(shù)據(jù)的過程。通過在不同的數(shù)據(jù)庫服務(wù)器上實現(xiàn)多個數(shù)據(jù)副本??傊?,復制可以使你免受硬件故障與服務(wù)中斷的影響,及時恢復數(shù)據(jù)。由于數(shù)據(jù)有多個副本,所以可以將其中一個副本用于災難恢復、報告或備份。
復制的作用
保證數(shù)據(jù)的安全性
保證數(shù)據(jù)的高可用性(24*7)
用戶災難恢復
不需要停機維護(如備份,重建索引,壓縮等任務(wù))
讀寫的靈活性
那么,復制是怎么實現(xiàn)的呢?MongoDB 用副本集實現(xiàn)復制的功能。副本集是一組托管同一數(shù)據(jù)集的 mongod 對象。在副本集中有三個成員:主節(jié)點(Primary)、從節(jié)點(Secondary)、仲裁節(jié)點(Arbiter)