
Что и насколько быстрее:
#mongod not running
mongorestore --dbpath /var/lib/mongodb --db test /some_dump
или
#mongod running
mongorestore --db test /some_dump
?
Мне не удалось быстро найти ответ в Интернете, а сейчас у меня нет времени провести сравнительный анализ.
решение1
По крайней мере, на данный момент они в основном эквивалентны, если предположить, что mongod
не делает ничего другого существенного. Для пояснения, в версиях 2.6 и ниже mongorestore
утилита фактически содержит mongod
двоичный файл, который позволяет ей действовать как mongod
и вставлять в файлы данных без mongod
уже запущенного. Преимущество solo mongorestore
обычно заключается в том, что он не будет делать ничего другого, тогда как обычно запущенный mongod
будет реплицировать или обслуживать другие операции, помимо mongorestore
.
Начиная с версии 2.8 это больше не будет иметь место (если что-то не изменится, 2.8 еще не выпущена на момент написания этой статьи), и вам потребуется запустить mongod
для выполнения mongorestore
(или, mongodump
если на то пошло). Поэтому, с прицелом на будущее, запуск mongod
и использование его для выполнения восстановления будет рекомендуемым методом.