2011-05-27 69 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