mongodb - 关于Mongo下的文件
高洛峰
高洛峰 2017-05-02 09:21:52
0
1
528
-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会报错说数据被破坏,这种方式估计是有问题的,想问下有什么其它的方式去释放这些空间。。。。

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回复(1)
Peter_Zhu

如果你仔细算一下的话,

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

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板