MongoDB имеет функцию «восстановления базы данных», которая также выполняет сжатие. Однако такое сжатие не произойдет во время работы БД.
Но если пространство БД является серьезной проблемой, попробуйте настроить пару главный / подчиненный MongoDB. Поскольку данные нуждаются в сжатии, запустите восстановление на ведомом устройстве, дайте ему «догнать» и затем переключите их. Теперь вы можете безопасно сжать мастер.
Но я должен повторить комментарий jbellis : вам, вероятно, потребуется больше места, и большинство этих продуктов предполагают, что дисковое пространство (относительно) дешево. Если места на диске очень мало, то вы обнаружите, что MongoDB имеет разумный размер, но ему будет сложно конкурировать с табличными данными CSV.
Подумайте об этом так, что более экономно ?
- файл CSV с миллионом строк
- те же данные, отформатированные в JSON
Очевидно, что JSON будет длиннее, потому что вы повторяете имена полей каждый раз. Единственным исключением здесь является CSV-файл с примерно 100 столбцами, из которых только несколько заполнены для каждой строки. (но это, вероятно, не ваши данные)