Подтвердить что ты не робот

Созданные файлы MongoDB

Я пытаюсь MongoDB, но я не понимаю файлы, созданные им.

Если я создам документ в своей коллекции db, скажем users, он создаст эти файлы на моем /data/db/

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

Я добавил несколько документов, и размер файлов не изменился. Я немного потерял здесь... Кто-нибудь знает, как работают эти файлы? Я пытался открыть их с помощью gedit/vim и ничего.

Заранее благодарим за помощь.

4b9b3361

Ответ 1

Файлы .0,.1 - это файлы данных. Каждый файл данных предварительно распределяется по определенному размеру. (Это делается для предотвращения фрагментации файловой системы, среди прочих причин.) Первое имя файла для базы данных:.0, then.1 и т.д..0 будет 64 МБ,.1 128 МБ и т.д., До 2 ГБ. Когда файлы достигают 2 ГБ, каждый последующий файл также составляет 2 ГБ. Информацию о файлах данных можно найти здесь:

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

Файлы ".ns" являются файлами пространства имен. Каждая коллекция и индекс будут считаться пространством имен. Каждое пространство имен составляет 628 байт, по умолчанию файл .ns по умолчанию составляет 16 МБ.

Таким образом, если каждая коллекция имела один индекс, мы можем создать до 12 000 коллекций. Параметр -nssize позволяет увеличить этот предел.

Максимальный размер файла .ns составляет 2 ГБ.

Ответ 2

Mongo предварительно выделяет пространство в кусках, поэтому размер вашего файла останется на уровне 16 Мб, пока у вас не будет более 16 МБ данных, и он перевернется через новый фрагмент.