mongodb資料遷移2種方式比較

zybing發表於2021-09-09


環境說明: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


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/855/viewspace-2822150/,如需轉載,請註明出處,否則將追究法律責任。

相關文章