Wie kann ich eine MongoDB GridFS-Datenbank am einfachsten sichern?

8

Wie der Titel sagt, habe ich eine MongoDB GridFS -Datenbank mit einer ganzen Reihe von Dateitypen (z. B. text, pdf, xls), und ich möchte diese Datenbank am einfachsten sichern.

Die Replikation ist keine Option. Am liebsten würde ich es tun, die Datenbank in eine Datei zu speichern und dann diese Datei zu sichern (mit der man später die gesamte Datenbank zu 100% wiederherstellen könnte). Kann das mit mongodump gemacht werden? Ich möchte auch, dass das Backup inkrementell ist. Ist das ein Problem mit GridFS und mongodump ?

Am wichtigsten, ist das der beste Weg, es zu tun? Ich bin nicht so vertraut mit MongoDB , wird mongodump arbeiten sowie mysqldump macht mit MySQL ? Was ist die beste Vorgehensweise für MongoDB GridFS und inkrementelle Backups?

Ich führe Linux aus, wenn das einen Unterschied macht.

    
c00kiemonster 19.01.2012, 13:44
quelle

1 Antwort

15

GridFS speichert Dateien in zwei Sammlungen: fs.files und fs. chunks.

Weitere Informationen hierzu finden Sie im Dokument "GridFS-Spezifikation": Ссылка

Beide Sammlungen können wie jede andere Sammlung mit mongodump gesichert werden. Die Dokumentation zu mongodump finden Sie hier: Ссылка

Von einem Terminal aus sieht das etwa so aus:

Für diese Demonstration lautet mein Datenbankname "gridFS":

Zunächst wird mongodump verwendet, um die Sammlungen fs.files und fs.chints in einem Ordner auf meinem Desktop zu speichern:

%Vor%

Nun wird mongorestore verwendet, um die gesicherten Sammlungen in eine neue (zu Demonstrationszwecken dienende) Datenbank namens "gridFScopy"

zu übernehmen %Vor%

Jetzt wird die Mongo-Shell gestartet, so dass die Wiederherstellung verifiziert werden kann:

%Vor%

Die Sammlungen fs.chunks und fs.files wurden erfolgreich in der neuen DB wiederhergestellt.

Sie können ein Skript schreiben, um mongodump regelmäßig in Ihren fs.files- und fs.chunks-Sammlungen auszuführen.

Wie bei inkrementellen Backups werden sie von MongoDB nicht wirklich unterstützt. Eine Google-Suche nach "inkrementelles mongodb-Backup" zeigt eine gute Google Groups-Diskussion zu diesem Thema für Mongodb-Nutzer: Ссылка

Für kontinuierliche Sicherungen verwenden viele Benutzer einen Replikatsatz. (Sie haben festgestellt, dass Sie in Ihrer ursprünglichen Frage angegeben haben, dass dies keine Option ist. Dies ist für andere Mitglieder der Community eingeschlossen, die diese Antwort lesen.) Ein Mitglied eines Replikat-Sets kann ausgeblendet werden, um sicherzustellen, dass es nie wird Primary und wird nie von gelesen werden. Weitere Informationen hierzu finden Sie im Abschnitt "Member Options" der Replica Set Configuration-Dokumentation. Ссылка

    
Marc 19.01.2012, 18:09
quelle

Tags und Links