mongodb使用mongorestore导入数据时会默认生成database 100
我在使用mongorestore导入数据时添加了--dbpwm2参数,但是似乎不起作用,导入数据后会生成一个名为“ir”的database,请问这是怎么回事?...
我在使用mongorestore导入数据时添加了--db pwm2参数,但是似乎不起作用,导入数据后会生成一个名为“ir”的database,请问这是怎么回事?
展开
1个回答
展开全部
原因是mongodb设计的本身机制问题造成的。
首先,mongodb在创建数据文件时,会根据64M,128M,256M...递增的方式产生数据文件,最大数据文件为2G,增大到2G之后,后面新增的数据文件都占用2G空间。
当删除某一个表的数据时,mongodb会标记你删除该表所在数据文件位置为:该部分的数据已经删除,但是不会释放该数据文件所占用的空间,当有新的数据进来之后,会将数据分配到该数据文件中。
一方面是:删除文件后不产生多余的数据碎片,
另一方面不做数据的大规模迁移,减少mongodb内部的IO操作。
所以在删除数据表之后,会发现系统空间并没有释放,从mongodb本身看,空间已经释放了,被删除数据的空间依然可用;
但从系统角度看,空间没有释放,并不会影响数据的存储。
首先,mongodb在创建数据文件时,会根据64M,128M,256M...递增的方式产生数据文件,最大数据文件为2G,增大到2G之后,后面新增的数据文件都占用2G空间。
当删除某一个表的数据时,mongodb会标记你删除该表所在数据文件位置为:该部分的数据已经删除,但是不会释放该数据文件所占用的空间,当有新的数据进来之后,会将数据分配到该数据文件中。
一方面是:删除文件后不产生多余的数据碎片,
另一方面不做数据的大规模迁移,减少mongodb内部的IO操作。
所以在删除数据表之后,会发现系统空间并没有释放,从mongodb本身看,空间已经释放了,被删除数据的空间依然可用;
但从系统角度看,空间没有释放,并不会影响数据的存储。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询