41 Backup- und Restore-Strategien in MongoDB

In MongoDB gibt es mehrere Strategien, um Daten zu sichern (Backup) und wiederherzustellen (Restore). Die Wahl der richtigen Methode hängt von der Größe der Datenbank, der Verfügbarkeit und der Konsistenzanforderungen ab. Hier ist ein Überblick über die gängigen Ansätze:


41.0.1 1. Laufzeitdampf: Backup während des Betriebs

MongoDB bietet Mechanismen, um Daten während des Betriebs zu sichern, ohne die Datenbank herunterzufahren. Diese Methode ist besonders für produktive Umgebungen wichtig, in denen Ausfallzeiten vermieden werden müssen.

41.0.1.1 1.1 mongodump und mongorestore

Diese Tools gehören zur MongoDB-Distribution und werden für inkrementelle Backups und Restores auf Dokumentebene verwendet.


41.0.1.2 1.2 Snapshots mit Dateisystem-Tools

Wenn die Daten auf einem Dateisystem wie XFS oder ZFS gespeichert sind, kannst du Snapshots verwenden, um schnell eine konsistente Sicherung zu erstellen.


41.0.2 2. Offline-Backup: Datenbank herunterfahren

Bei dieser Methode wird die MongoDB-Instanz gestoppt, und der Datenbankpfad wird gesichert.


41.0.3 3. Cluster-Umgebungen: Replikatsets und Shards

In replizierten oder geschachtelten (sharded) Umgebungen ändern sich die Backup-Strategien:

41.0.3.1 3.1 Replikatset-Backups

In einem Replikatset kann ein Backup vom Secondary Node gemacht werden, ohne den Primärknoten zu beeinträchtigen.


41.0.3.2 3.2 Sharded Cluster-Backups

Für einen Sharded Cluster erfordert das Backup zusätzliche Schritte, da Daten auf mehrere Shards verteilt sind.


41.0.4 4. Inkrementelle Backups

Für Umgebungen mit großen Datenmengen und niedrigen Backup-Fenstern sind inkrementelle Backups sinnvoll. MongoDB unterstützt dies jedoch nicht nativ.


41.0.5 5. Automatisierte Backup-Lösungen

MongoDB bietet Tools und Dienste für automatisierte Sicherungen:

41.0.5.1 5.1 MongoDB Atlas Backup

In Atlas, der Managed-Cloud-Lösung von MongoDB, gibt es integrierte automatische Backups.

41.0.5.2 5.2 Percona Backup for MongoDB

Ein Open-Source-Tool für automatisierte Backups in großen Umgebungen.


41.0.6 Wiederherstellung (Restore)

Das Restore-Verfahren hängt von der verwendeten Backup-Strategie ab:

  1. mongorestore für mongodump-Backups:

    mongorestore --drop --host <HOST> --port <PORT> <BACKUP_PATH>
  2. Restore von Dateisystem-Snapshots:

  3. Replikatsets und Cluster:

41.0.7 tl;dr

Jede Strategie sollte regelmäßig getestet werden, um sicherzustellen, dass die Wiederherstellung zuverlässig funktioniert.