【转】mongodb数据迁移2种方式比较

环境说明:bbs数据采集的数据越来越多,目前是50G,每天大概以200W的数据量增长。而当前服务器1.2上面的空间不足,需要把数据迁移到空间足够大的1.3上面去 
尝试了2种方式对数据进行迁移,一种是rsync,直接拉取数据;另一种是使用mongodump/mongorestore

1.rsync 
操作步骤: 
1.2: 
[mongodb] 
path = /data1/mongodb/data 
hosts allow = 192.168.1.0/24 
read only = no 
write only = no 
1.3: 
rsync -avz root@192.168.1.2::mongodb/dbname /data/mongodb-linux-x86_64-1.8.1/data/ 
chown -R mongodb:mongodb /data/mongodb-linux-x86_64-1.8.1/data/ 
使用时间:50分钟 
到目标服务器数据:50G 
优点:使用时间短 
缺点:需要配置rsync,数据占用的空间大(数据原封不动的拉取过来,包括碎片)

2.mongodump/mongorestore 
操作步骤: 
mongodump: 
/data/PRG/mongodb/bin/mongodump --host 192.168.1.2:27017 -d dbname -uuername -ppasswd -o /data/mongodb-linux-x86_64-1.8.1/data/ --directoryperdb 
mongorestore: 
/data/mongodb-linux-x86_64-1.8.1/bin/mongorestore --dbpath /data/mongodb-linux-x86_64-1.8.1/data/ --directoryperdb /data/dbname/ 
chown -R mongodb:mongodb /data/mongodb-linux-x86_64-1.8.1/data/ 
使用时间:35(mongodump)+90(mongorestore) 
到目标服务器数据:20G(需要的空间大大减小,拉取过程中相当于做了一次碎片整理) 
优点:迁移到新服务器的数据经过了整理,需要空间大大减小 
缺点:需要时间长 
数据迁移时需要停mongo进行操作,而2种方式各有优缺点,如果可以忽略操作时间内的数据的话,那么使用第2种方式会比较好(已经有不少例子因为碎片带来严重的后果)
 
转自 http://lynnteng0.blog.51cto.com/2145094/800724
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值