suchen

Heim  >  Fragen und Antworten  >  Hauptteil

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会报错说数据被破坏,这种方式估计是有问题的,想问下有什么其它的方式去释放这些空间。。。。

高洛峰高洛峰2757 Tage vor534

Antworte allen(1)Ich werde antworten

  • 天蓬老师

    天蓬老师2017-05-02 09:23:52

    如果你仔细算一下的话,

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

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

    Antwort
    0
  • StornierenAntwort