MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Warum sichert Mongodump keine Indizes?

mongodump erstellt einen binären Export von Daten aus einer MongoDB-Datenbank (im BSON-Format). Die Index-Definitionen werden in <dbname>.metadata.json gesichert Dateien, also mongorestore kann die ursprünglichen Daten und Indizes wiederherstellen.

Es gibt zwei Hauptgründe, warum die eigentlichen Indizes nicht mit mongodump gesichert werden können :

  • Indizes verweisen auf Speicherorte in den Datendateien. Die Datendateien sind nicht vorhanden, wenn Sie nur die Dokumente in den Datendateien exportieren (anstatt eine vollständige Dateikopie der Datendateien zu erstellen).

  • Das Format der Indizes auf der Festplatte ist speichermodulspezifisch, während mongodump soll von der Speicher-Engine unabhängig sein.

Wenn Sie eine vollständige Sicherung von Daten und Indizes wünschen, müssen Sie Sicherung durch Kopieren der zugrunde liegenden Datendateien (normalerweise durch die Verwendung von Dateisystem- oder EBS-Snapshots). Dies ist eine häufigere Option für größere Bereitstellungen, wie mongodump erfordert das Einlesen aller Daten in den mongod Prozess (der einen Teil Ihres Arbeitssatzes entfernt, wenn Ihre Datenbank größer als der Arbeitsspeicher ist).