麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 數據庫 > MongoDB > 正文

MongoDB怎樣對備份做壓縮操作?

2024-09-07 00:22:31
字體:
來源:轉載
供稿:網友
      相信很多人應該都有文件、數據備份的習慣,其中MongoDB存儲的數據量較大,因此備份文件也是比較大,那么就需要對MongoDB備份壓縮,下面小編就給大家分享關于MongoDB實現備份壓縮的方法,需要的朋友可以參考。
 
      背景及原理                                        
      數據庫的備份是災難恢復的最后一道屏障,不管什么類型的數據庫都需要設置數據庫備份,MongoDB也不例外。MongoDB 3.0 后 ,數據庫可以采用Wiredtiger存儲引擎后(3.2 版本默認),在此環境下通過mongodump 備份后,產生的備份文件要遠大于數據存儲文件的大小。此外,一般MongoDB存儲的數據量比較大,備份文件也比較大,占用了很多磁盤空間。所以,研究如何實現MongoDB備份壓縮很有必要。
 
 
 
      上圖是執行命令 db.stats() 查看某數據庫的信息。備份文件的大小一般為dataSize的大小,所以我們希望壓縮備份,可以達到storageSize 或者更小。
 
      一般的備份思路是先備份,后對備份文件進行壓縮。之前,我們采用的就是這種方式,例如主要壓縮命令如下
 
tar -cf - ${targetpath}/${nowtime} | pigz -p 10 > ${targetpath}/${nowtime}.tgz
      (命令解釋: targetpath}/${nowtime 為待壓縮的備份文件;pigz 是Linux壓縮神器,可并行壓縮;-p是指定cpu的核數。)但是這種方式,生成備份文件的過程中還是容易形成磁盤性能壓力和空間壓力。下圖為我們某臺Server 采用先備份后壓縮方式,形成的磁盤可用空間變化。
 
 
 
      真正希望的是在備份的同時進行壓縮,這樣可用空間就比較平穩了。在MongoDB 3.2 中 引入了一種壓縮式備份【此mongodb版本必須不低于3.2】。可以使用gzip進行壓縮。這是通過在mongodump和mongorestore中引入一個新的指令行選項“- -gzip”實現的。壓縮可用于目錄以及歸檔模型下創建的備份,壓縮還可以減少磁盤空間使用。
 
      測試
      測試環境:
 
測試服務器
 
測試數據庫
 
端口
 
文件路徑
 
172.X.X.245
 
實例全備
 
17219
 
/data/mongodb_back
 
172.X.X.246
 
QQ_DingDing
 
17218
 
/data/mongodb_back/QQ_DingDing
 
Step 1 壓縮式備份的命令:
 
./mongodump --host 172.X.X.245 --port 17219 -u 用戶名 -p "密碼" --gzip --authenticationDatabase "admin"
--out /data/mongodb_back
      備份后文件的大小,97M。這時候,查看備份文件的格式都變成了.gz的格式。Step 2 將備份文件copy至遠程機器上,進行還原:
 
      以下命令是將在172.X.X.246,要求是將文件從X.245 copy至本地
 
scp -r [email protected]:/data/mongodb_back/QQ_DingDing
      step 3 執行還原的命令
 
      執行的命令
 
./mongorestore --host 172.X.X.246 --port 17218 -d QQ_DingDing -u 用戶名 -p "密碼"
 --gzip --authenticationDatabase "admin" /data/mongodb_back/QQ_DingDing
      還原后登錄MongoDB,執行show dbs,查看此時 數據大小為500M。
 
      補充說明
 
      (1)    如果不采用壓縮式的備份,備份后的文件會是多大呢?備份命令 :
 
./mongodump --host 172.X.X.245 --port 17219 -u 用戶名 -p "密碼" --authenticationDatabase "admin" --out /data/mongodb_back2
      查看此種方法備份后的文件大小--1.5G。以此QQ_DingDing數據庫為例,其壓縮率為(文件壓縮后的大小與壓縮前的大小之比):97M/1.5G=97/1536=6.3%
 
      (2)   這種壓縮備份的方式的會不會帶來一些弊端:例如備份時間增長?(恢復時間增加?,請自測一下試試,嘻嘻 @@@)以 某歸檔備份庫所在實例為例(storageSize 150G,dataSize 600G )
 
      采用 先備份后壓縮的方式耗時1小時55分鐘
 
 
      采用壓縮式備份(指定--gzip參數)的方式耗時 2小時33分鐘
 
      產生的備份文件大小基本相等,壓縮式備份方式產生的備份文件略小
 
      所以 壓縮式備份會導致備份時間增長。但從空間使用的角度來講,我們仍然建議大家使用壓縮式備份,其壓縮比非常高(測試案例的壓縮比6.3%)。
 
      附:定時清除,保留7天的紀錄
 
#!/bin/bash
targetpath='/backup/mongobak'
nowtime=$(date -d '-7 days' "+%Y%m%d")
if [ -d "${targetpath}/${nowtime}/" ]
then
rm -rf "${targetpath}/${nowtime}/"
echo "=======${targetpath}/${nowtime}/===刪除完畢=="
fi
echo "===$nowtime ==="

(編輯:武林網)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 老a影视网站在线观看免费 国产精品久久久久久久久久尿 | 美女视频网站黄色 | 27xxoo无遮挡动态视频 | 久久精品视频网站 | 欧美国产成人在线 | 免费一级欧美大片视频 | 欧美亚洲国产一区二区三区 | 午夜热门福利 | 奶子吧naiziba.cc免费午夜片在线观看 | 亚洲欧美不卡视频 | 亚洲一区二区三区91 | 日日噜噜夜夜爽 | 国产在线一区二区三区 | 国产精品成年片在线观看, 激情小说另类 | 2021国产精品视频 | 中文字幕一区二区三区四区 | 国产成人高清在线观看 | 亚洲国产高清一区 | 欧美大逼网 | 91精彩视频| 欧美性生交大片 | 久久久久久久99 | 久草在线新时代视觉 | 久久羞羞| 55夜色66夜色国产精品视频 | 欧美日韩综合视频 | 一区二区三区在线观看免费视频 | 国产美女精品视频 | 免看黄大片aa| 久章草影院 | www.48xx.com| 成码无人av片在线观看网站 | 性少妇chinesevideo | 亚洲网站一区 | 小雪奶水翁胀公吸小说最新章节 | 91av99 | 日日狠狠久久 | 毛片免费大全短视频 | 毛片视频网站 | 国产91精品一区二区麻豆亚洲 | 青青国产在线视频 |