2017-01-18 5 views
0

db.collection.stats()Как узнать размер коллекции MongoDB?

Response:

"count" : 20696445, 
    "size" : NumberLong("1478263842661"), 
    "storageSize" : 334732324864, 
    "totalIndexSize" : 676327424, 
    "indexSizes" : { 
      "_id_" : 377094144, 
      "leadID_1" : 128049152, 
      "leadID_hashed" : 171184128 
    }, 
    "avgObjSize" : 71425.97884134208 

Мой фактический размер диска сочетается с storageSize. Итак, каков размер и другие ключи.

+1

https://docs.mongodb.com/v3.2/reference/command/collStats/#collstats-output – felix

+0

@felix существует большая разница между ** размером ** и ** storageSize **. Мне нужно больше разъяснений, кроме документа mongodb –

ответ

1

Вы не упомянули версию сервера MongoDB вы используете, но, учитывая size ваших данных намного больше, чем storageSize на диске, я предполагаю, что вы используете WiredTiger storage engine который compresses data and indexes по умолчанию. Механизм хранения WiredTiger был впервые доступен в качестве опции в серийной версии MongoDB 3.0 и стал механизмом хранения по умолчанию для новых развертываний в MongoDB 3.2+.

В вашем примере вывода выглядит так: у вас 1,4 ТБ несжатого data, который в настоящее время занимает 334 ГБ на диске (значение storageSize). Место хранения, используемое индексами для этой коллекции, сообщается отдельно под номером indexSizes и суммируется как totalIndexSize.

Выход collection.stats() будет варьироваться в зависимости от версии MongoDB сервера и настроенного механизма хранения, но, как правило, описаны в руководстве MongoDB как часть output of the collStats command которая вызывается помощником в db.collection.stats() оболочки.

Примечание: MongoDB documentation приведен в соответствие с версией, поэтому вы всегда должны быть уверены, что ссылаетесь на документацию, соответствующую вашей серии выпусков MongoDB (т. Е. 3.2, 3.4, ...). Ссылки на документацию по умолчанию указывают на текущий выпуск продукции.

1

см link

collStats.size
Общий размер в памяти всех записей в коллекции. Это значение не включает заголовок записи, который составляет 16 байт на запись, но включает в себя заполнение записи. Кроме того, размер не включает размер любых индексов, связанных с коллекцией, которые сообщается в поле totalIndexSize.

Аргумент scale влияет на это значение.

collStats.storageSize
Общая сумма хранения, выделенной этой коллекции для хранения документов. Аргумент scale влияет на это значение.

storageSize не включает индексный размер. См. totalIndexSize для определения размера индекса.

+0

спасибо за ваш ответ, для моей озабоченности ** размер ** есть ** 1.4TB ** и ** storageSize ** есть ** 334GB ** .Почему это много разницы в пространстве. Как он рассчитывается? –

Смежные вопросы