Почему команда MongoDB compact увеличивает размер коллекции? - PullRequest
1 голос
/ 09 мая 2020

Я использую MongoDB 4.2 с WiredTiger в качестве механизма хранения. Я тестирую команду compact collection , поэтому я получаю размер хранилища коллекции перед запуском команды, затем запускаю компактную команду и, наконец, снова проверяю размер хранилища, чтобы увидеть экономию в пространстве:

> db.bikes.stats().storageSize
188416
> db.runCommand({compact:"bikes"})
{ "ok" : 1 }
> db.bikes.stats().storageSize
200704

На удивление коллекция увеличила объем хранилища. Думаю, на то была причина, но это немного нелогично. Документация не объясняет эту ситуацию (поскольку в ней говорится: «Эффективность этой операции зависит от рабочей нагрузки, и дисковое пространство не может быть восстановлено», но не упоминается, что вы можете увеличить пространство, занимаемое компактным диском).

Может быть, я ищу неправильные метри c в stats() или что-то делаю не так?

...