为了账号安全,请及时绑定邮箱和手机立即绑定

mongodb数据迁移2种方式比较

标签:
MongoDB


环境说明: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种方式会比较好(已经有不少例子因为碎片带来严重的后果)

©著作权归作者所有:来自51CTO博客作者lynnteng0的原创作品,如需转载,请注明出处,否则将追究法律责任

空间数据采集mongodb


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消