在服务器结构中,主要,次要和仲裁器都是物理操作的。 mongo db版本是4.2.3。
某些文档以最早的顺序被删除,因为在特定的馆藏中积累了太多的文档。 但是,即使删除文档也不会释放存储区域。 经过检查,我发现mongodb的机制保留了可重用字节,即使删除了文档也是如此。 另外,我发现可以使用WiredTiger引擎中的compact命令释放不必要的磁盘空间。
当前,所有连接到数据库的客户端都使用仲裁IP和端口进行查询。
由于数据库仅由复制而不是分片组成,因此,如果每个人都独立执行紧凑命令,那么即使每个实例都被锁定,也可以期望仲裁程序将查询分发到当前可用实例。
这可能吗?
或者,我应该关闭每个实例,独立运行它,运行compact命令,然后重新配置psa吗?
答案 0 :(得分:0)
您可以将MonogDB升级到最新版本4.4。 compact的文档:
阻止
在版本4.4中进行了更改。
从v4.4开始,在WiredTiger上,compact仅阻止以下内容 元数据操作:
db.collection.drop db.collection.createIndex and db.collection.createIndexes db.collection.dropIndex and db.collection.dropIndexes
compact不会阻止数据库的MongoDB CRUD操作 当前正在运行。
在v4.4之前,compact阻止了该数据库的所有操作 压缩,包括MongoDB CRUD操作,因此 建议仅在计划的维护期内使用。 从v4.4开始,compact命令适用于任何情况 时间。