
Was und wie viel ist es schneller:
#mongod not running
mongorestore --dbpath /var/lib/mongodb --db test /some_dump
oder
#mongod running
mongorestore --db test /some_dump
?
Ich konnte im Internet nicht schnell eine Antwort finden und habe jetzt keine Zeit, einen Benchmark durchzuführen.
Antwort1
Zumindest im Moment sind sie im Grunde gleichwertig, vorausgesetzt, dass der mongod
nichts anderes Bedeutendes tut. Zur Erklärung: In den Versionen 2.6 und darunter mongorestore
enthält das Dienstprogramm tatsächlich die mongod
Binärdatei, die es ihm ermöglicht, als zu fungieren mongod
und in Datendateien einzufügen, ohne dass mongod
bereits ein ausgeführt wird. Der Vorteil eines Solo mongorestore
besteht normalerweise darin, dass es nichts anderes tut, während ein ausgeführter normalerweise mongod
neben dem andere Vorgänge repliziert oder ausführt mongorestore
.
Ab Version 2.8 ist dies nicht mehr der Fall (sofern sich nichts ändert, 2.8 ist zum Zeitpunkt des Schreibens noch nicht veröffentlicht) und Sie müssen ein ausführen, mongod
um ein mongorestore
(oder ein mongodump
) auszuführen. Daher ist es im Hinblick auf die Zukunft ratsam, ein auszuführen mongod
und dieses zur Wiederherstellung zu verwenden.