Ist die Wiederherstellung von mongore direkt auf einen Pfad mit --dbpath schneller als die Wiederherstellung auf einer laufenden mongod-Instanz?

Ist die Wiederherstellung von mongore direkt auf einen Pfad mit --dbpath schneller als die Wiederherstellung auf einer laufenden mongod-Instanz?

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 mongodnichts anderes Bedeutendes tut. Zur Erklärung: In den Versionen 2.6 und darunter mongorestoreenthält das Dienstprogramm tatsächlich die mongodBinärdatei, die es ihm ermöglicht, als zu fungieren mongodund in Datendateien einzufügen, ohne dass mongodbereits ein ausgeführt wird. Der Vorteil eines Solo mongorestorebesteht normalerweise darin, dass es nichts anderes tut, während ein ausgeführter normalerweise mongodneben 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, mongodum ein mongorestore(oder ein mongodump) auszuführen. Daher ist es im Hinblick auf die Zukunft ratsam, ein auszuführen mongodund dieses zur Wiederherstellung zu verwenden.

verwandte Informationen