mongodb
的有关信息介绍如下:原因是mongodb设计的本身机制问题造成的。
首先,mongodb在创建数据文件时,会根据64M,128M,256M...递增的方式产生数据文件,最大数据文件为2G,增大到2G之后,后面新增的数据文件都占用2G空间。
当删除某一个表的数据时,mongodb会标记你删除该表所在数据文件位置为:该部分的数据已经删除,但是不会释放该数据文件所占用的空间,当有新的数据进来之后,会将数据分配到该数据文件中。
一方面是:删除文件后不产生多余的数据碎片,
另一方面不做数据的大规模迁移,减少mongodb内部的IO操作。
所以在删除数据表之后,会发现系统空间并没有释放,从mongodb本身看,空间已经释放了,被删除数据的空间依然可用;
但从系统角度看,空间没有释放,并不会影响数据的存储。