¿Mongorestore es directamente a una ruta con --dbpath más rápido que restaurar a una instancia de mongod en ejecución?

¿Mongorestore es directamente a una ruta con --dbpath más rápido que restaurar a una instancia de mongod en ejecución?

Qué y cuánto es más rápido:

#mongod not running

mongorestore --dbpath /var/lib/mongodb --db test /some_dump

o

#mongod running

mongorestore --db test /some_dump

?

No pude encontrar rápidamente una respuesta en la web y ahora no tengo tiempo para hacer una evaluación comparativa.

Respuesta1

Al menos por ahora, son básicamente equivalentes, suponiendo que mongodno estén haciendo nada más significativo. Para explicarlo, en las versiones 2.6 y siguientes, la mongorestoreutilidad contiene efectivamente el mongodbinario que le permite actuar como un mongodarchivo de datos e insertarlo sin necesidad mongodde ejecutarlo. La ventaja que mongorestoresuele tener un solo es que no hará nada más, mientras que normalmente un ejecutable mongodreplicará o realizará otras operaciones además de mongorestore.

A partir de la versión 2.8 en adelante, este ya no será el caso (a menos que algo cambie, la 2.8 aún no se ha publicado en el momento de escribir este artículo), y se le pedirá que lo ejecute mongodpara poder realizar un mongorestore(o un mongodumppara el caso). Por lo tanto, con la mirada puesta en el futuro, ejecutar un mongody usarlo para realizar la restauración sería el método aconsejable a utilizar.

información relacionada