2011-05-27 74 views
13

我在MongoDB中有一個名爲dump的數據庫。目前,我的服務器達到了6GB。我決定刪除此數據庫中90%的數據以減少佔用的磁盤空間。但是做完之後它的尺寸仍然是6GB,而真正的存儲容量只有250MB。如何在刪除大量數據後減少MongoDB存儲空間

我想這是MongoDB的設計?有沒有簡單的方法來縮小尺寸?預先感謝。

回答

18

嘗試(source):

$ mongo mydb 
> db.repairDatabase() 
+1

不幸的是,這對MongoDB 1.8和日誌功能無效。 – 2011-05-30 09:22:34

+0

link is broken ... – 0x89 2012-12-03 12:49:31

5

要壓縮數據文件,你可以運行與mongod --repair啓動MongoDB的,或者通過外殼連接到數據庫並運行db.repairDatabase()

還有一個新的compact命令安排了v1.9,可以進行就地壓縮。

+5

fyi for'compact'文檔說:「此操作不會減少文件系統上使用的磁盤空間量。存儲大小是數據庫文件中分配的數據量,而不是大小/文件系統上的文件數量「。修復仍然是恢復磁盤空間的唯一選擇。 – 2012-02-01 18:52:07