MongoDB 如何促成备份压缩

发布时间:2018-11-15  栏目:NoSQL  评论:0 Comments

补说明

 

(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分钟

图片 1

 

  采用压缩式备份(指定–gzip参数)的章程耗时 2小时33分钟

  图片 2 

有的备份文件大小基本相当,压缩式备份方式来的备份文件略聊

图片 3

为此 压缩式备份会招备份时间增长。

 

确实愿意之是当备份的又展开压缩,这样可用空间就比稳定了。在MongoDB
3.2 中
引入了一致种植压缩式备份【此mongodb版本必须休小于3.2】。可以用gzip进行压缩。这是由此在mongodump和mongorestore中引入一个新的吩咐行选项“-
-gzip”实现之。

背景和原理                                         

数据库的备份是灾难恢复的终极一志屏障,不管啊种的数据库都待装数据库备份,MongoDB也非异。MongoDB
3.0 后 ,数据库可下Wiredtiger存储引擎后(3.2
版本默认),在斯条件下通过mongodump
备份后,产生的备份文件要多甚叫数存储文件的分寸。此外,一般MongoDB存储的数据量比较充分,备份文件也比充分,占用了诸多磁盘空间。所以,研究如何贯彻MongoDB备份压缩很有必不可少。

图片 4

达成图是执行命令 db.stats() 查看某数据库的音。

备份文件的尺寸相似也dataSize的深浅,所以我们期望减少备份,可以达标storageSize
或者另行粗。

般的备份思路是优先备份,后针对备份文件进行压缩。之前,我们应用的哪怕是这种方式,例如主要压缩命令如下

tar -cf – ${targetpath}/${nowtime} | pigz -p 10 >
${targetpath}/${nowtime}.tgz

(命令说: targetpath}/${nowtime 为索要压缩的备份文件;pigz
是Linux压缩神器,可相互压缩;-p是点名cpu的核数。)

 

而这种措施,生成备份文件的历程遭到还是轻形成磁盘性能压力以及空间压力。下图也咱某台Server
采用先备份后减去方式,形成的磁盘可用空间别。

图片 5

实在希望之是于备份的又展开压缩,这样可用空间就于平稳了。在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 root@172.X.X.245:/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。

(命令说: targetpath}/${nowtime啊要压缩的备份文件;pigz
是Linux压缩神器,可相互压缩;-p是点名cpu的核数。)

但是从空间利用的角度来讲,我们依然建议大家用压缩式备份,其缩减比老高(测试案例的减比6.3%)。

 

 

备份文件的轻重缓急相似也dataSize的大大小小,所以我们希望减少备份,可以齐storageSize
或者另行粗。

./mongodump --host 172.X.X.245 --port 17219 -u 用户名 -p "密码" --gzip --authenticationDatabase "admin" --out /data/mongodb_back

Step 2 拿备份文件copy至远程机器及,进行回复:

背景和原理                                        

图片 6 

发的备份文件大小基本相当,压缩式备份方式发生的备份文件略聊

缩减可用于目录及归档模型下创办的备份,压缩还可减少磁盘空间使用。

测试服务器

测试数据库

端口

文件路径

172.X.X.245

实例全备

17219

/data/mongodb_back

172.X.X.246

QQ_DingDing

17218

/data/mongodb_back/QQ_DingDing

数据库的备份是灾祸恢复的末梢一鸣屏障,不管什么品种的数据库都用设置数据库备份,MongoDB也未殊。MongoDB
3.0 后 ,数据库可以Wiredtiger存储引擎后(3.2
版本默认),在这个环境下通过mongodump
备份后,产生的备份文件要远很让数存储文件之尺寸。此外,一般MongoDB存储的数据量比较好,备份文件也比好,占用了无数磁盘空间。所以,研究如何贯彻MongoDB备份压缩很有必要。

(1)    如果不使用压缩式的备份,备份后底文本会是大抵可怜也?备份命令 :

以此QQ_DingDing数据库也例,其压缩率为(文件减少后底大大小小以及削减前的分寸的比):97M/1.5G=97/1536=6.3%

此时,查看备份文件的格式都变成了.gz的格式

回复后登录MongoDB,执行show dbs,查看这 数据大小也500M。

利用压缩式备份(指定–gzip参数)的方耗时 2时33分钟

(2)  
这种压缩备份的措施的相会无会见带动有弊病:例如备份时间增长?(恢复日多?,请自测一下尝试,嘻嘻
@@@)

貌似的备份思路是事先备份,后对备份文件进行削减。事先,我们应用的虽是这种方法,例如主要压缩命令如下

汝可能感兴趣的文章:

  • mongodb 数据库操作–备份 还原 导出
    导入
  • MongoDB整库备份与回复以及单个collection备份、恢复措施
  • MongoDB备份、还原、导出、导入、克隆操作示例
  • Windows下自行备份MongoDB的批处理脚本
  • Mongodb实现定时备份与回复的法子教程
  • Windows或Linux系统中备份和回复MongoDB数据的课程
  • Linux下MongoDB数据库实现自动备份详解
  • 浅尝辄止谈MongoDB的备份方式
  • MongoDB使用自带的命令行工具进行备份和死灰复燃的课程
  • MongoDB
    导出导入备份恢复数据详解及实例

用 先备份后抽的措施耗时1时55分钟

查阅这种植办法备份后底文件大小–1.5G。

图片 7

step 3 执行还原的吩咐

以 某归档备份库所在实例为条例(storageSize 150G,dataSize 600G )

但是这种方式,生成备份文件的过程遭到还是爱形成磁盘性能压力与空间压力。下图为我们某台Server
采用先备份后回落方式,形成的磁盘可用空间变化。

达成图是执行命令 db.stats()查有数据库的消息。

总结

履之通令

图片 8

以下命令是以于172.X.X.246,要求是用文件从X.245 copy至地方

备份后文件之大大小小,97M

靠:定时清除,保留7上之记录

scp -r root@172.X.X.245:/data/mongodb_back/QQ_DingDing

图片 9

补说明 

图片 10  

./mongodump --host 172.X.X.245 --port 17219 -u 用户名 -p "密码" --authenticationDatabase "admin" --out /data/mongodb_back2
tar -cf - ${targetpath}/${nowtime} | pigz -p 10 > ${targetpath}/${nowtime}.tgz

测试环境:

./mongorestore --host 172.X.X.246 --port 17218 -d QQ_DingDing -u 用户名 -p "密码" --gzip --authenticationDatabase "admin" /data/mongodb_back/QQ_DingDing

Step 1 压缩式备份的通令:

如上就是立首文章的全部内容了,希望本文的始末对大家的求学或办事有自然之参考学习价值,如果生问题大家可以留言交流,谢谢大家对台本的小的支持。

可自空间应用的角度来讲,我们照样建议大家使用压缩式备份,其缩减比老高(测试案例之缩减比6.3%)。

#!/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 ==="

为此 压缩式备份会招致备份时间加强。

留下评论

网站地图xml地图