程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MongoDB數據庫 >> MongoDB綜合知識 >> 淺談MongoDB的備份方式

淺談MongoDB的備份方式

編輯:MongoDB綜合知識

簡要說一下MongoDB的備份方式:

1. mogodump / mongorestore

這2命令將mongodb的數據dump為BSON格式,需要的時候可以恢復。
這種方式作為小的數據庫還適用。但如果是sharding或者幾百G數據以上的話
就幾乎不可用了。因為BSON及其占用空間。

2. Slave Replication

這是最適合和可靠的,適合生產環境。MongoDb支持master+多個slave。因此可以很方便的起一個slave來進行備份。
但是需要注意的是如果數據量很大的話,如果是新建的slave,速度又沒有保證的話,一定要調高 oplogSize 的大小,對於一個300G的數據庫,
可以調到60G以上。這樣避免同步到中間出現oplogSize不足等異常。

3. 關於增量熱備份

對於某些熱衷單獨文件備份的同志,也可以考慮使用“增量熱”備份的方式作為最後的屏障。
做法就是,最開始將某個slave暫時shutdown,然後將數據庫文件復制到另一個目錄作為增量備份的起點。

每次備份的時候,在這個目錄上起一個slave, 使用–fastsync參數,同步完畢即可tar這個目錄就可以了。

這種方式的一個缺點就是如果備份周期的過長的話,空間浪費會非常大,尤其是頻繁刪除的情況下,
目前1.6以前的版本對於刪除的空間回收機制有bug。這個問題應該在1.6版本發布時候解決。

要想回收這些空間需要repairDatabase,速度比較慢,不如直接從頭clone一個新的db了。(其實Repair的過程也就是先clone然後copy回來)。

綜上所述, 最靠譜和安全的備份方式就是用mongodb自身的同步復制機制.
最經典也最小的生產環境是:
1 master + 2 slaves

以上所述就是本文關於MongoDB的備份方式的全部內容了,希望大家能夠喜歡。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved