mongodb - 关于Mongo下的文件

查看:90
本文介绍了mongodb - 关于Mongo下的文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

-rw-------   1 root  wheel    67108864  8 16 13:49 video.0
-rw-------   1 root  wheel   134217728  8 16 13:48 video.1
-rw-------   1 root  wheel   268435456  8 16 13:48 video.2
-rw-------   1 root  wheel   536870912  8 16 13:48 video.3
-rw-------   1 root  wheel  1073741824  8 16 13:49 video.4
-rw-------   1 root  wheel  2146435072  8 16 13:49 video.5
-rw-------   1 root  wheel    16777216  8 16 13:49 video.ns

我感觉 video.ns 是 video.0 到 video.5 是一个增长的过程 感觉最新的数据就是 video.5 请问其他的数据是可以删掉的吗? 我之前用了rm的命令去删除,之后启动mongo会报错说数据被破坏,这种方式估计是有问题的,想问下有什么其它的方式去释放这些空间。。。。

解决方案

如果你仔细算一下的话,

video.0 = 64MB
video.1 = 128MB
video.2 = 256MB
...
video.5 = 2GB

这是MMAPv1引擎的分配空间方式,2的n次方,到2GB之后不再增长。每个文件都是存有实际数据的,不能随便删除
讲真,为什么会想到直接删除数据库的文件?似乎没有哪个数据库支持这样的做法。如果想要释放空间,比较安全的办法应该考虑复制集重新同步,或者repairDatabase。后者有很多限制,请注意仔细看文档。
另外如果没有大规模删除过数据的话,也没有必要进行上面两个操作,因为反正也释放不出什么空间来。

这篇关于mongodb - 关于Mongo下的文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆