搜尋

首頁  >  問答  >  主體

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 天前535

全部回覆(1)我來回復

  • 天蓬老师

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

    如果你仔細算一下的話,

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

    這是MMAPv1引擎的分配空間方式,2的n次方,到2GB之後不再成長。 每個檔案都是存有實際資料的,不能隨便刪除
    講真,為什麼會想到直接刪除資料庫的檔案?似乎沒有哪個資料庫支持這樣的做法。如果想要釋放空間,比較安全的方法應該考慮複製集重新同步,或是repairDatabase。後者有很多限制,請注意仔細看文件。
    另外如果沒有大規模刪除過資料的話,也沒有必要進行上面兩個操作,因為反正也釋放不出什麼空間來。

    回覆
    0
  • 取消回覆