Я хочу экспортировать очень большие коллекции и импортировать их в другую базу данных на другом сервере. Я обнаружил, что есть как минимум два способа: mongoexport и mongodump .

Я просмотрел предыдущие сообщения об этой проблеме, однако я не нашел полного сравнения / эталонного теста о скорости экспорта и размере файла экспорта с использованием этих двух способов! Буду очень благодарен, если есть чем поделиться.

0
Asef Pourmasoomi 3 Сен 2020 в 11:37

2 ответа

Лучший ответ

Как упоминалось в последней документации

Избегайте использования mongoimport и mongoexport для полных резервных копий производственных экземпляров. Они ненадежно сохраняют все богатые типы данных BSON, потому что JSON может представлять только подмножество типов, поддерживаемых BSON. Используйте mongodump и mongorestore, как описано в разделе Методы резервного копирования MongoDB для такого рода функций.

Поскольку вам нужно восстановить большие данные, отдайте предпочтение дампу.

mongoexport - это инструмент командной строки, который производит экспорт в JSON или CSV данных, хранящихся в экземпляре MongoDB.

mongodump - это утилита для создания двоичного экспорта содержимого базы данных. mongodump может экспортировать данные из экземпляров mongod или mongos; т.е. может экспортировать данные из автономных развертываний, наборов реплик и сегментированных кластеров.

0
Gibbs 3 Сен 2020 в 09:37

Одним из важных отличий является то, что mongodump быстрее, чем mongoexport для целей резервного копирования. Mongodump хранит данные в виде двоичного файла, тогда как mongoexport хранит данные в формате JSON или CSV.

1
Rahman 5 Сен 2020 в 16:00