2011-08-20 87 views
1

我的活網站正在使用mongodb來存儲用戶在網站上的活動。從服務器到本地機器的增量備份

我有一臺運行monogdb的服務器。我不能承擔主從複製的第二臺服務器。

我的問題是我想每天都要轉儲服務器的mongodb數據庫並將其恢復到本地機器,以便我可以在本地機器上查詢。我知道如何轉儲和恢復,但問題是每天我都有從服務器轉儲整個數據庫並在本地機器上從頭開始恢復它......這需要很多時間。

所以我的問題是..有沒有辦法在MongoDB中進行增量備份,這樣我就只需要轉儲和恢復單日數據,因爲它需要更少的時間。

回答

1

我對mongodb瞭解不多,但我有一個主意。

我想你能介紹一下你本地的MongoDB實例作爲主生產DB的奴隸,並從可能的話只可寫的,爲了防止現場製作系統,從當地選擇。

這種方式可以工作,因爲奴隸跟蹤主寫入和刪除,並試圖使自己作爲主人的副本。 而且有一個很好的理由這樣做是奴隸不必是永遠在線,當它成爲網上,從將檢查大師名單(如1小時或1天這個名單lenght在主配置)和複製DATAS掌握儘可能快。

一旦你掌握轉儲到本地,然後你可以備份你的數據進行兩次用這種方法一天,我認爲。

+1

通過這種方法,假設你的意思是使用副本集,你必須要小心,當「奴隸」未連接(即當你不執行備份),您仍然可以保持大多數節點執行初選。要在一臺機器上這樣做,可以運行另一個'mongod'實例作爲仲裁器,這是一個複製集節點,用於投票但不存儲數據。仲裁器是輕量級的,可以像普通的'mongod'一樣運行在同一臺機器上。有關更多信息,請參閱[有關仲裁者的mongodb.org文檔](http://www.mongodb.org/display/DOCS/Adding+an+Arbiter)。 – dcrosta