Как данные в базе данных MongoDB хранятся на диске? - PullRequest
58 голосов
/ 08 ноября 2010

Я знаю, что MongoDB принимает и извлекает записи как JSON/BSON objects, но как на самом деле эти файлы хранятся на диске? Они хранятся в виде набора отдельных *.json файлов или в виде одного большого файла? Я догадываюсь о последнем, поскольку документ MongoDB утверждает, что он лучше всего работает в системах с ext4/xfs, которые лучше справляются с большими файлами. Кто-нибудь может подтвердить?

Ответы [ 4 ]

36 голосов
/ 09 ноября 2010

Данная база данных mongo разбита на серию файлов BSON на диске с увеличением размера до 2 ГБ.BSON - это собственный формат, созданный специально для MongoDB.

Эти слайды должны ответить на все ваши вопросы:

http://www.slideshare.net/mdirolf/inside-mongodb-the-internals-of-an-opensource-database

13 голосов
/ 08 ноября 2010

MongoDB сохраняет данные на диске как BSON в вашем каталоге путей данных, который обычно равен / data / db .Там должно быть два файла для каждой коллекции: collection.0 , в которой хранятся данные (и это целое число затем увеличивается по мере необходимости), и collection.ns , в которой хранятся метаданные пространства имен дляколлекция.

3 голосов
/ 11 ноября 2010

Подробную документацию формата BSON можно найти здесь: http://bsonspec.org/

2 голосов
/ 11 февраля 2015

До mongodb 3.0 http://blog.mongolab.com/2014/01/how-big-is-your-mongodb/ Если вы включите механизм хранения wiredtiger в MongoDB 3.0, он будет использовать модель хранения wiredtiger http://docs.mongodb.org/v3.0/core/storage/#storage-wiredtiger

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...