Почему несоответствия в базе данных MongoDB используются в космической архитектуре? - PullRequest
0 голосов
/ 20 декабря 2011

Мы начали использовать MongoDB несколько дней назад, но мы не могли понять, почему существуют различия между общим дисковым пространством, используемым MongoDB, и размером базы данных, используемой MongoDB. Мое беспокойство заключается в следующем:

Когда мы выполняем запрос db.stats (); мы увидели детали следующим образом:

  • Размер данных: 232,68 МБ
  • Размер хранилища: 292,58 МБ
  • Размер индекса: 204,51 МБ
  • avgObjSize: 171MB

Если мы проверим расположение базы данных, общий размер файла (test.0 + test.1 + test.2..etc) будет равен "2,8 ГБ". В случае добавления [datasize + storagesize + indexsize + avgobjsize = 900.77MB] почему это не равно физическому пространству, используемому диском "2.8GB". Помимо datasize, storagesize, indexsize, avgobjsize, какое еще пространство выделено для MongoDB. Можете ли вы предоставить нам ваше точное предложение.

Большое спасибо,

Ответы [ 2 ]

3 голосов
/ 27 января 2012

Размер данных - это объем пространства, используемый фактическим документом.

Размер хранилища - это объем внутреннего пространства, выделенного для документов.MongoDB автоматически добавляет заполнение к фактическому размеру документа, чтобы обновления не требовали перемещения на диск.Поэтому размер хранилища обычно больше, чем размер данных.Думайте об этом как о виртуальной файловой системе поверх реальной файловой системы.

FileSize - это объем пространства, выделенного на диске в файловой системе хост-ОС.Это делается с шагом 2 ГБ и обычно больше, чем размер хранилища.

Выполнение сжатия или восстановления в коллекции может уменьшить размер хранилища, удалив заполнение.Это чаще всего полезно в случае, когда документ вырос на диске, а затем некоторые данные были удалены.Он по-прежнему занимает максимальный размер в хранилище, поэтому, если у вас есть большой отток при увеличении и уменьшении, это может помочь восстановить пространство.

FileSize никогда не уменьшится, если вы не переместите его в другую систему, так какместо было выделено на диске для использования MongoDB.Однако уменьшение размера хранилища может уменьшить необходимость в другом выделении FileSize, тем самым эффективно повторно используя ранее выделенное пространство.

1 голос
/ 20 декабря 2011

MongoDB выделяет некоторое пространство для будущего использования.В любой момент времени этого дополнительного пространства должно быть не более 4 ГБ.

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