gpt4 book ai didi

Mongodb:似乎不遵守上限大小限制

转载 作者:可可西里 更新时间:2023-11-01 10:29:58 24 4
gpt4 key购买 nike

在win2012上运行mongodb

Mongo 数据库版本 v2.6.4

我们的集合是用这个参数创建的:

capped:true, size:500000000000//500 GB

但是只有这一个集合的数据目录已经增长到 720gb。

在此 mongo 服务器上根本没有使用复制。

我该怎么做才能将数据目录保持在 500 GB 左右?

这个数据库有时确实会插入大量数据,但我们还需要控制最大大小(并让它丢弃旧数据)。

上限大小是否可能不包括索引?

或者我应该考虑其他开销吗? (以及如何?

或者?

数据库统计

> db.stats
function (scale){
return this.runCommand( { dbstats : 1 , scale : scale } );
}
> db.stats()
{
"db" : "logging",
"collections" : 3,
"objects" : 289637086,
"avgObjSize" : 2076.3166847770317,
"dataSize" : 601378314192,
"storageSize" : 606012620432,
"numExtents" : 305,
"indexes" : 12,
"indexSize" : 147827443456,
"fileSize" : 776943435776,
"nsSizeMB" : 16,
"dataFileVersion" : {
"major" : 4,
"minor" : 5
},
"extentFreeList" : {
"num" : 0,
"totalSize" : 0
},
"ok" : 1
}
>

我们用来创建集合的命令:

db.createCollection("LogItem", { capped:true, size:500000000000 })

因此我们写入的集合是使用 capped cmd 创建的。这就是所有空间所在的地方

我不能执行 db.collection.stats() 因为磁盘空间不足...

谢谢!

最佳答案

已解决

问题?好吧,您可以创建一个上限集合,这确实有效....但是在创建新数据库时,如果传入连接正在发送数据,则在您有机会将其创建为上限之前会自动创建新数据库,并且你最终得到...一个无上限的集合。

解决方法:

当 mongo 脱机时,通过将其设置为非标准端口的配置将其临时恢复。创建集合。然后在正常端口重启mongo,一切正常。

关于Mongodb:似乎不遵守上限大小限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27587683/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com