storageSize
- це сума всіх розширень для цих даних, за винятком індексів.
Таким чином, ця колекція займає 2 розширення, вони ~ 2 ГБ кожен, отже, ~ 4 ГБ. size
включає індекси, і я вважаю, що ще кілька речей, які збільшують число. Жоден із справді не відображає належного розміру диска. Що стосується розміру диска, db.stats()
є поле розміру файлів, яке ближче до того, що ви хочете, я думаю, що ви шукаєте.
Посібник дещо краще окреслити, що означають різні поля, дивіться тут для колекцій:
http://docs.mongodb.org/manual/reference/collection-statistics/
І ось тут для статистики бази даних:
http://docs.mongodb.org/manual/reference/database-statistics/
Дещо інша потенційно відповідна інформація:
Компактна команда не зменшує жодних файлів даних; він лише дефрагментує видалений простір, щоб більші об'єкти могли його повторно використовувати. Компактна команда ніколи не видаляє і не скорочує файли баз даних, і взагалі потрібен додатковий простір для виконання своєї роботи, як правило, як мінімум один додатковий обсяг.
Якщо ви відремонтуєте базу даних, вона по суті перезаписує файли даних з нуля, що видалить прокладки та збереже їх на диску так само ефективно, як ви збираєтеся отримати. Однак для цього вам потрібно мати ~ 2x розмір на диску (насправді менше, але це гідне керівництво).
Тут слід пам’ятати ще одне - ремонтувати та компактно знімати накладки. Коефіцієнт прокладки коливається від 1 (відсутність переміщень документів, викликаних зростаючими документами), до 2 (безліч рухів, викликаних зростаючими документами). Коефіцієнт забивання ~ 1,67 вказує на те, що ти зростаєш (а отже, спричиняєш рухи) зовсім небагато
Коли ви компактуєте або ремонтуєте базу даних, ви видаляєте цю підкладку - тому подальший ріст документа викличе ще більше кроків, ніж раніше. Оскільки рухи є відносно дорогими операціями, це може серйозно вплинути на вашу продуктивність. Більше інформації тут:
http://www.mongodb.org/display/DOCS/Padding+Factor
validate
?