Что означает filesize и datasize в MongoDB?

Я начал использовать MongoDB несколько дней назад, и у меня есть проблема в понимании архитектуры базы данных. Если я выполняю запрос db.stats (); у меня был размер файла ,datasize,storagesize & indexsize. Во время серфинга я обнаружил, что следующее:

Storagesize = datasize + свободное место, выделенное для сбора

datasize = размер базы данных, используемый MongoDB

здесь я не мог понять представление filesize & datasize reprsentation. Для datasize --> indexsize также включен?. Пожалуйста, предоставьте точное решение для указанных атрибутов и, пожалуйста, исправьте меня, если я упомянул anythng неправильно.

Заранее Спасибо,

3 ответов


  • dataSize: сумма всех фактических данных (объектов BSON), используемых базой данных, в байтах
  • indexSize: сумма всех индексов, используемых базой данных, в байтах
  • storageSize: dataSize плюс все предварительно выделенное пространство коллекции, в байтах
  • fileSize: сумма размеров всех файлов, выделенных для этой базы данных (например, test.Тест 0 +.1 и т. д.), в байтах
  • nsSizeMB: размер файла пространства имен для этой базы данных в мегабайтах.
  • avgObjSize : Средний размер объектов документа в базе данных. Это значение включает заполнение и поэтому может не изменяться при уменьшении размера документов.

как поясняется в этот пост о различных показателях производительности MongoDB, которые вы должны отслеживать (с MMAPv1), вот все метрики размера хранилища, возвращаемые dbStats, которые вы должны отслеживать:

  • dataSize измеряет пространство, занятое всеми документами и заполнением в базе данных. Из-за обивки, dataSize уменьшается, если документы удаляются, но не когда они сжимаются или становятся больше после обновления-эти операции просто добавляют или заимствуют документ дополнен.
  • indexSize возвращает размер всех индексов, созданных на базе.
  • storageSize измеряет размер всех экстентов данных в базе данных. С MMAPv1, он всегда больше или равен dataSize поскольку экстенты содержат свободное пространство, еще не используемое или освобожденное удаленными и перемещенными документами. storageSize не влияет, когда документы сжимаются или перемещаются.
  • fileSize соответствует размеру ваших файлов данных. Это, очевидно, всегда больше, чем storageSize и может рассматриваться как место хранения базы данных на диске. Он уменьшается только при удалении базы данных и не изменяется при удалении коллекций, документов или индексов.

вот диаграмма с различными важными метриками хранения, возвращаемыми dbStats: dbStats storage metrics for MongoDB Примечание: с mmapv1 storage engine MongoDB предварительно выделяет дополнительное пространство на диске для документов, поэтому эффективные обновления на месте возможно, поскольку документы имеют место расти без необходимости перемещения. Это дополнительное пространство называется обивка.


Я понимаю, что это более старый вопрос, но я решил, что буду ссылаться на официальные документы для db.stats() для всех, кто ищет аналогичную информацию (как и я).

Справочник По Статистике Базы Данных:: Fields