关于mongodb中local数据库的空间过大

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

使用mongdb已经由一段时间了,新上项目只是采用3台服务器的架构模式,所以对于congfig服务和mongos,mongod服务都是分别部署在这三台Server上面。但最近发现本身新的项目并未有太多的访问量,可是mongodb的数据库占用空间已经有几G的容量,所以感觉特别奇怪。 第一步先是对于项目的数据进行检查,只有几百M的空间是使用量,后面再查询才发现是local数据库的数据占用是最多的。可是local本身只是一个系统级别的数据库,应该不会占用太多的空间才对,具体local的数据有用户的使用权限,保存replica set 的配置,特别注意,还有这个oplog的数据,就是因为这个,才占用了过多的空间。 oplog是Replica set模式中的核心部分,通过它来同步不同服务器之间的数据,以日志的形式保存数据,默认是采用空闲空间的5%来存储,也就是说,如果你又100G的空间,他默认会划分5G来存储这个部分的日志空间,不过这个参数是可以直接设置的。如果超过你直接设置的百分比,他会反复使用,不会新增空间。 现在看来,就是是的mongodb没有使用太多数据,但是一旦运行时间一长,这个oplog的空间肯定是会慢慢占满这个百分比,所以当你看到自己的项目并未使用mongodb存储什么数据,而空间却非常大的时候,可能就是这个原因了。

转载于:https://my.oschina.net/mesopotamia/blog/410096

你可能感兴趣的:(关于mongodb中local数据库的空间过大)