我正在查看我的服务器,我发现了这个:
[root@host ~]# cd /var/lib/mongo/journal/
[root@host journal]# ls -lh
total 3.1G
-rw-------. 1 mongod mongod 1.0G Apr 7 01:18 j._0
-rw-------. 1 mongod mongod 88 Apr 7 01:18 lsn
-rw-------. 1 mongod mongod 1.0G Dec 19 23:03 prealloc.1
-rw-------. 1 mongod mongod 1.0G Dec 19 23:06 prealloc.2
但在我的数据库中, db.stats() 显示:
> db.stats()
{
"db" : "gpstracker",
"collections" : 5,
"objects" : 59127,
"avgObjSize" : 139.84318500854093,
"dataSize" : 8268508,
"storageSize" : 11198464,
"numExtents" : 10,
"indexes" : 3,
"indexSize" : 1937712,
"fileSize" : 201326592,
"nsSizeMB" : 16,
"dataFileVersion" : {
"major" : 4,
"minor" : 5
},
"ok" : 1
}
我只有一个数据库,里面有 3 个集合。
也许这是我还不知道的事情。
我搜索了一下,发现了一些关于compact
数据库的东西,这对这个有帮助吗?或者这些文件是完全正常的,它们应该是这样的?
如果我的数据库增长了,比如说从~200MB(现在)到~1G。这些文件增长了多少?可以以某种方式优化这些文件(期刊)吗?
对不起,如果我的问题看起来很明显。我是数据库部门的初学者。
提前致谢
这些文件属于journal,这本质上是在将数据写入数据库时保证数据的一致性。它预先分配了 3GB(除非您以--smallfiles 开头),并且不会包含在您的数据库大小中。这不会随着您的数据库而增长,而是取决于您写入数据库的数量。除非您进行大量写入,否则日志大小将为 3GB。如果您对日记及其工作原理感到好奇,这里有一篇很棒的文章。
至于数据库本身,磁盘空间使用问题已被多次询问和回答- 是的,可能需要定期压缩(以及修复或重新同步),但这在很大程度上取决于您对数据的处理方式。