2015年09月06日 09:34:40mongodb
閱讀數:673數據庫
Mongodb提供了mongodump/mongorestore,mongoexport/mongoimport兩套機制進行數據備份和恢復,其中mongodump主要進行整庫備份,mongoexport則主要進行數據集導出。json
公共參數:
–port arg 指定端口
-h arg 指定主機,如:127.0.0.1,也能夠直接指定端口號:127.0.0.1:27017
-d arg 指定database
-c arg 指定collection
–dbpath arg 指定mongod的數據庫文件所在路徑工具
命令用法:mongodump [options]
特別參數:
-o arg 輸出的」目錄「,不指定時,默認在執行命令的路徑下建立dump目錄導出
-q arg json query,此處可經過json查詢,有選擇性的導出數據
說明:
1.與mongorestore構成一對工具集,即由Mongodump導出的數據可由mongrestore恢復
2.mongodump可用於「熱備份」
3.導出的數據是bson格式
性能:數據庫中1g的數據導出後變成285M,大概8秒性能
命令用法:mongoexport [options]
特別參數:
-q arg 查詢過濾器,json string
-f args 輸出的域,例如-f name,age,address
–csv 輸出csv,不寫此參數,默認爲json
-o arg 輸出的文件,默認爲stdout
說明:
1.能夠導出json或csv格式的文件
2.能夠指定查詢過濾器或指定輸出的域
3.此工具導出的json,csv可能對某些數據類型不兼容,所以可能不能所有數據導出,mongodump就能夠所有兼容。
性能:1g數據,約1分40秒,導出大小爲380Mspa
命令用法:mongoimport [options]
特別參數:
–file args 導入的文件,若無此參數,以stdin爲標準
-f args 導入的數據域
–fieldFile arg 帶域名稱的文件
–ignoreBlanks 在csv,tsv文件中忽略空域
–type arg 導入文件的類型,默認爲json,還能夠爲csv,tsv
–drop 插入前先刪除原collection
–upsert 插入或更新已存在的對象
–jsonArray 導入json array,目前每一個array的限制是4M
–headerline 只能用於csv,tsv文件中,用第一行做爲文件頭
說明:
接受json,csv,tsv格式的文件,每行爲一個對象
{「somefield」 : 123456, 「created_at」 : {「$date」 : 1285679232000}}此格式可解析日期。
性能:導入1g數據,2分20秒,失敗33個對象.net
命令用法:mongorestore [options] [file or dir to restore]
特別參數:
–drop 導入前先drop collection
–objcheck 插入前檢測對象的合法性
–filter arg 插入前的過濾器
–indexesLast 插入完數據後再創建索引(此參數可提供更高的性能,建議選用)
說明:
1.與mongodump合用,在restore過程當中,索引會從新創造
性能:1g數據,約6分鐘rest
備份方面:mongodump的速度和壓縮率都最好,每秒125M的數據,壓縮率達28%
恢復方面:
mongoimport速度較快,但不保證數據完整導入
mongorestore,速度較慢,比mongoimport慢2.5倍左右,可是根據mongodump導出的數據,能夠完整導入數據。對象
文章標籤: mongodbblog