MongoDB创建文件

问题描述:

我正在尝试MongoDB,但我不明白它创建的文件。MongoDB创建文件

如果我在我的数据库收集创建一个文档可以说用户,它会在我的/数据/ DB/

_tmp (folder) 
mongod.lock 
users.0 - 16.8MB 
users.1 - 33.6MB 
users.ns - 16.8MB 

我已经添加了一些文件和文件大小创建这些文件没有改变..我有点迷失在这里...有谁知道这些文件是如何工作的?我试图用gedit/vim打开它们,没有任何东西。

在此先感谢您的帮助。

+0

“users”会是数据库吗?这些文件对应于您的数据库而不是集合。不是吗? – 2014-04-20 11:26:10

.0,.1文件是数据文件。每个数据文件都预分配给一个特定的大小。 (这是为了防止文件系统碎片等原因。)数据库的第一个文件名为.0,那么.1等.0将为64MB,.1 128MB等,最高可达2GB。一旦文件达到2GB的大小,每个连续的文件也是2GB。 有关数据文件的信息可以在这里找到:

http://www.mongodb.org/display/DOCS/Excessive+Disk+Space

的 “.ns” 文件命名空间的文件。每个集合和索引都将被视为一个名称空间。每个名称空间都是628字节,默认情况下.ns文件是16MB。

因此,如果每个集合都有一个索引,我们可以创建多达12,000个集合。 --nssize参数允许您增加此限制。

最大.ns文件大小为2GB。

+1

+1为了一个好的,彻底的描述。虽然你错过了_tmp文件夹和锁。 :) – 2012-02-28 21:46:41

+1

我完全读过他们! – Bill 2012-02-28 22:48:12

+0

嗨!我想创建一个副本集,什么是数据库扩展? 应该使用.0还是.1或.ns? – Sekai 2014-01-22 11:09:52

Mongo预分配空间块,所以你的文件大小将保持在16Mb,直到你有超过16Mb的数据,并且它翻转一个新的块。

+0

所以我想users.0和users.1是我的文档将被存储的那些文件,以及users.ns和为什么users.0和.1?我没有所有这些信息..我只有一个用户加入 – Gerep 2012-02-28 21:03:54

+0

我不知道为什么你会关心 - 这些是Mongo专有的二进制文件后端。他们不打算直接用于你。 – 2012-02-28 21:10:56

+0

users.ns是命名空间,默认情况下是16.8MB大小,除非更改配置,否则它不会增长。它拥有集合名称之类的东西,可能还有其他我不知道的东西。 – 2012-02-28 21:11:44