浅谈MongoDB的备份方式
2015-05-12 00:00
1001 查看
简要说一下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. 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的备份方式的全部内容了,希望大家能够喜欢。
相关文章推荐
- 浅谈MongoDB的备份方式
- Windows中添加Mongodb定时备份任务(采用bat脚本导入xml计划任务的方式)
- MongoDB的备份方式
- mongodb的数据恢复和备份方式
- 浅谈MongoDB之二 备份与修复(13/04 补充)
- mongodb全量备份,简单的实现方式
- MongoDB的备份方式
- 简要说一下MongoDB的备份方式:
- 浅谈Hyper-V的几种备份方式(一)----snapshot虚拟机快照
- 浅谈Hyper-V的几种备份方式(二)----Windows Server Backup &VSS
- 浅谈Hyper-V的几种备份方式
- 浅谈Hyper-V的几种备份方式(二)----Windows Server Backup & VSS 推荐
- MongoDB从不懂到装懂其四(数据备份、恢复、导入、导出)
- 在xp或win7下 oracle11g通过exp/imp方式来对db数据的备份与还原
- Mongodb集群搭建的三种方式
- 一个mongodb的备份脚本
- mongodb备份与恢复
- MongoDB的数据库如何备份和恢复?
- php 通过网页的方式备份和还原mysql数据库
- 本wiki的备份以及迁移方式