首先一点就是mongodb 不会释放已经占用的硬盘空间,即使drop collection也不行,除非drop database。如果一个db曾经有大量的数据一段时间后又删除的话,硬盘空间就是一个问题,如何收回被mongdodb占用的多余空间?方法有两种
1. dump & restore
mongodump -d databasename -o /path/to/dump_dir echo 'db.dropDatabase()' | mongo <databasename> mongorestore -d <databasename> /path/to/dump_dir
如果数据量不大,dump不需要太长时间的情况下,或者经常备份有dump文件的情况下,这种方法很简单。
2. repair database
即在mongo shell中运行
db.repairDatabase()
, 或者
db.runCommand({ repairDatabase: 1 })
, 第二种方法可以带其他几个参数
{ repairDatabase: 1, preserveClonedFilesOnFailure: <boolean>, backupOriginalFiles: <boolean> }
repairDatabase是官方文档中认为唯一可以回收硬盘空间的方法。
repairDatabase is the appropriate and the only way to reclaim disk space.
当你有多个shard的且数据量巨大时,dump & restore方法会花费巨大的时间,这时第二种方法的优势就很明显,就是分别在每个shard上运行repairDatabase,结果会快很多。
PS:格式化mongo shell的输出
如果数据量大的情况下,mongo shell 默认的输出很乱,几乎没法阅读。我们可以用.pretty() 来解决这样的问题:
db.collection.find().pretty()
这样的输出会漂亮很多,每个field一行,
{ "_id" : ObjectId("5396cd3823e97923ba689ef3"), "batch" : 66, "category" : 4, "cover_imgs" : [ "/post_imgs/5396cd3823e97923ba689ef3/c_2.jpg", "/post_imgs/5396cd3823e97923ba689ef3/c_3.jpg", "/post_imgs/5396cd3823e97923ba689ef3/c_4.jpg" ], "created_at" : ISODate("2014-06-10T09:18:06.383Z"), "fav_count" : 0, "host_reply_count" : 338, "last_reply_date" : "2014-06-17 21:22:00", "post_date" : "2014-06-06 19:57:00", "referer" : "http://tieba.baidu.com/f", "reply_count" : 716, "reuse_type" : 2, "section" : "古装电视剧", "seq" : 27180, "serial" : false, "sort_index" : 0.997, "source_site" : "贴吧", "updated_at" : ISODate("2014-06-18T09:04:55.228Z"), "visible" : true } { "_id" : ObjectId("5396c7ca23e97921fb7de8e4"), "batch" : 74, "category" : 4, }
配置使其成为Default:
添加如下配置到$HOME/.mongorc.js, 如果不存在则创建。
DBQuery.prototype._prettyShell = true
这样就不需要每次使用pretty()方法了,直接db.collection.find()即可。
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
暂无评论...
更新日志
2024年11月13日
2024年11月13日
- 梁咏琪.1996-爱自己【EEI】【WAV+CUE】
- IGN经典逆天骚操作名著——《墙头草修炼手册》
- 突然爆火的“网红游戏”,真的有那么多人玩吗?
- 何老师客串《浪人崛起》了?盘点与明星撞脸的角色!
- 【原神】关于星鹫赤羽对珐芙琴班配队下珐露珊主C的适配度分析
- 【原神】V5.1攻略 | 迪西雅角色简评
- 【原神】大日御舆顶端怎么上去
- 胥拉齐《感谢有你》DTS-WAV
- 罗海英《金牌歌后》【WAV+CUE】
- 林叶《林叶·夜》【WAV/分轨】
- 群星《国语经典名曲01》音乐磁场系列[WAV+CUE][1G]
- 齐豫《滚石24K》24K金碟珍藏版系列[低速原抓WAV+分轨][1G]
- 齐秦《齐秦[三洋母带] 》1:1母盘直刻限量版[WAV分轨][1G]
- 英雄联盟双城之战第二季在哪里看 双城之战第二季观看地址分享
- 宝可梦大集结公测耿鬼怎么获取 耿鬼获取方法一览