Als beliebteste NoSQL-Datenbank („Not only SQL“) ist MongoDB weiterhin die Datenbank der Wahl für Anwendungsteams, die mit großen Mengen an unstrukturierten Daten und Cloud-nativen und Hybrid-Cloud-Implementierungen der nächsten Generation zu tun haben. Moderne NoSQL-Datenbanken wie MongoDB helfen Entwicklern, leistungsstarke, kundenorientierte Anwendungen schneller als je zuvor in die Produktion zu bringen.
Im Gegensatz zu relationalen Datenbanken speichert eine NoSQL-Datenbank große Datenmengen, ohne dass eine logische Kategorie oder ein Schema erforderlich ist. MongoDB speichert seine Informationen in Dokumenten, die im JSON-Format (JavaScript Object Notation) ausgedruckt werden können. Dieses flexible Format unterstützt Felder, die von Dokument zu Dokument variieren können, und ermöglicht es Entwicklern, Datenstrukturen einfach zu ändern. Anstatt eine standardisierte Abfragesprache wie SQL zu verwenden, können Sie über JavaScript und eine einfache API mit dem MongoDB-Server interagieren.
Einer der Vorteile von MongoDB ist die native Replikation. Die native Replikation ist durch die knotenübergreifende Replikation von Daten zwar gut für den Schutz vor Medien- und Netzwerkausfällen, kann aber im Falle von Datenbeschädigung oder -verlust einen ernsthaften Nachteil darstellen, da der beschädigte Datensatz repliziert wird, wodurch eine ohnehin schon schlechte Situation noch verschlimmert wird.
Die native Datenbankreplikation ist kein Ersatz für Backups und hilft auch nicht dabei, die Anforderungen an Tests/Entwicklung und Datenmobilität zu erfüllen. Unternehmen, die NoSQL-basierte Anwendungen einsetzen, benötigen sowohl Datenbank-Backups als auch Replikationen.
Um Ihre in MongoDB gespeicherten Daten erfolgreich zu schützen, sollten Sie die folgenden Hauptanforderungen beachten.
Anforderung Nr. 1 – Anwendungskonsistente Backups. Cloud-Anwendungen der nächsten Generation sind von Natur aus immer aktiv. Wenn die Anwendung wächst, muss auch die zugrunde liegende MongoDB auf mehrere Shards und Replikatgruppen skaliert werden. Eine NoSQL-Datenbank-Backup-Lösung sollte eine konsistente Backup-Kopie über Shards und Replikatgruppen hinweg liefern, ohne die Anwendungsleistung während des Backups zu beeinträchtigen oder die Datenbank stilllegen zu müssen.
Die native Datenbank-Dump-Option von MongoDB bietet keine anwendungskonsistenten Backups. Es lässt sich nicht skalieren, ist problematisch für die Sicherung von Shard-basierten Clustern und Replikatgruppen und anfällig für menschliche Fehler. Sie benötigen ein konsistentes, zeitpunktgenaues Backup von Shard-basierten Clustern, um Daten nach einem Verlust sauber wiederherstellen zu können.
Anforderung Nr. 2 – Granulare Backups. MongoDB gruppiert verschiedene Arten von Dokumenten, die an unterschiedlichen Orten gespeichert werden können, in einer Sammlung. Eine Sammlung ist vergleichbar mit einer Tabelle in einer relationalen Datenbank. Je nach den Anforderungen der Anwendung müssen einige Sammlungen stündlich gesichert werden, während andere täglich gesichert werden müssen. Eine weitere Anforderung an MongoDB-Datenbank-Backups ist die Flexibilität, Backups in beliebigen Intervallen mit Granularität auf Sammlungsebene zeitlich zu planen.
Anforderung Nr. 3 – Orchestrierte Wiederherstellung in alternativen Topologien. Die Topologie von MongoDB-Clustern unterscheidet sich in jeder Phase des Datenlebenszyklus. In der Produktion könnte die Anwendung beispielsweise auf einem Shard-basierten MongoDB-Cluster lokal bereitgestellt werden, aber Ihr Testteam hat möglicherweise nur Zugriff auf nicht fragmentierte MongoDB-Cluster in der AWS-Cloud (Amazon Web Services). Daher sollte Ihre Datenbank-Backup-Lösung mehrere Wiederherstellungsoperationen ermöglichen, z. B. Sharded-to-Sharded- oder Sharded-to-Unsharded-Operationen. Ebenso sollte Ihre Backup-Lösung Wiederherstellungsvorgänge von geografisch verteilten Clustern unterstützen.
Darüber hinaus sind native MongoDB-Backup-Tools nur begrenzt in der Lage, Wiederherstellungen auf Test-/Entwicklungs-Clustern durchzuführen. Die Bereitstellung von Datenmobilität zum Aktualisieren oder Verschieben von Daten in Test-/Entwicklungsumgebungen erfordert häufig die Wiederherstellung von Daten in einem Cluster mit einer anderen Topologie als der des Quellclusters. Native MongoDB-Backup-Tools müssen Daten in der ursprünglichen Topologie (Shards/Replikatgruppen) wiederherstellen, was die Erstellung kleinerer Test-/Entwicklungscluster erschwert.
Anforderung Nr. 4 – Umgang mit Knotenausfällen. In der Welt verteilter Datenbanken sind Ausfälle an der Tagesordnung. Daher sollte das Datenbank-Backup im Hinblick auf Ausfälle von Datenbankprozessen, Knotenausfälle, Netzwerkausfälle und sogar die Beschädigung logischer Daten während der Backup- und Wiederherstellungsvorgänge widerstandsfähig sein. Die Backup-Lösung sollte auch Ausfälle von MongoDB-Konfigurationsservern bewältigen können, in denen Metadaten für Shard-basierte Cluster gespeichert sind.
Rubrik Mosaic ist eine Software, die speziell entwickelt wurde, um die Herausforderungen bei Backup und Wiederherstellung von modernen NoSQL-Datenbanken und Big-Data-Dateisystemen zu lösen. Ihre wichtigsten Vorteile:
Anwendungskonsistente Backups für fragmentierte (sharded) und unfragmentierte (unsharded) Datenbankkonfigurationen
Schnellere inkrementelle Backups, die die Einhaltung der in Stunden gemessenen RPO-Anforderungen (Recovery Point Objective) erleichtern
Cluster-konsistente Versionierung oder zeitpunktgenaue Backup-Kopien von MongoDB-Sammlungen in benutzerdefinierten Intervallen
Semantische Deduplizierung zur drastischen Reduzierung der Kosten für das Speichern verteilter Datenbank-Backups, was zu Einsparungen von bis zu 70 % führt
Vollständig orchestrierte und granulare Wiederherstellung von NoSQL-Datenbanken
Aktualisierte Produktionsdaten mit Any-to-Any-Topologiewiederherstellungen
Weitere Informationen über Rubrik Mosaic und NoSQL-Datenbank-Backups finden Sie unter Datensicherung für MongoDB. Tiefergehende Informationen enthält das Whitepaper „Umfassendes Handbuch zu Backup und Wiederherstellung für MongoDB“.
Eine MongoDB kann mit Rubrik Mosaic gesichert werden, um anwendungskonsistente Backups mit einem in Stunden gemessenen RPO zu erstellen für den Fall, dass es zu einem Ausfall kommt.
MongoDB hat zwar ein grundlegendes integriertes Backup-System, aber Rubrik Mosaic bietet wichtige Funktionen für das Sichern von Daten in einer Unternehmensumgebung.
Ein MongoDB-Dump oder Mongodump ist ein binärer Export der Mongo-Datenbank. Es bietet einen Snapshot von einem bestimmten Zeitpunkt, der keine unveränderlichen Backups und keinen unveränderlichen Cloud-Speicher umfasst.