MongoDB Replicaset: Daten kopieren und sichern

Um gegen Ausfälle und andere Beeinträchtigungen gewappnet zu sein, empfiehlt sich der Einsatz eines MongoDB Replicasets. Dieses bewahrt Kopien Ihrer Daten auf verschiedenen Servern und stellt sie ohne Zeitverlust zur Verfügung.

Was ist das MongoDB Replicaset?

Das Hauptziel eines Datenbankmanagementsystems wie MongoDB ist es, Ihre Daten übersichtlich und sicher zu verwahren. Ein wichtiges Tool für den Schutz der Datensätze sind dabei die MongoDB Replicasets. Bei dieser Methode werden Datensätze exakt dupliziert und auf mehrere Knoten (Nodes) auf unterschiedlichen Servern verteilt. Dabei unterscheidet MongoDB zwischen primären und sekundären Knoten.

  • Primary: Der primäre Knoten wird auch Masterknoten genannt. Er ist der Ausgangspunkt, von dem aus MongoDB Replicasets angelegt werden. Er besitzt Lese- und Schreibrechte.
  • Secondary: Die sekundären Nodes sind exakte Kopien des Masterknotens. Sie werden lediglich zur Aufbewahrung der kopierten Daten verwendet und erhalten in der Regel keine Lese- und Schreibrechte. Lediglich bei einem Ausfall des primären Knotens rückt ein sekundärer Knoten auf und ersetzt den Master. Es wird empfohlen, immer eine ungerade Anzahl von sekundären Nodes zu erstellen.

Wie funktioniert das Replicaset?

Ein MongoDB Replicaset besteht also aus einem primären Node und mehreren sekundären Knoten, die aus exakten Kopien des Masters erstellt werden. Zwar gibt es mindestens zwei sekundäre Nodes, eine Mindestanzahl von drei Kopien wird allerdings empfohlen. Die Datenweitergabe erfolgt immer ausschließlich vom primären Knoten zu den sekundären. Kommt es zu einem Ausfall des primären Nodes durch einen Fehler, einen Systemausfall oder notwendige Wartungsarbeiten, rückt ein sekundärer Knoten nahtlos in die Position des Masters und stellt so sicher, dass die Daten auch über die Dauer des Ausfalls zur Verfügung stehen. Kann der defekte Node repariert werden, wird er zum sekundären Knoten.

Welche Vorteile bietet ein Replicaset?

Die Verwendung eines MongoDB Replicasets hat gleich mehrere Vorteile. Zum einen ist sie unter den erwähnten Sicherheitsaspekten empfehlenswert. Selbst wenn ein Server zeitweise oder gar dauerhaft ausfallen sollte, sind die dort gespeicherten Daten nach wie vor abrufbar und gehen nicht verloren. Auch die durchgängige Verfügbarkeit stellt einen großen Vorteil dar. Selbst bei Wartungsarbeiten müssen Sie nicht auf Ihre Daten verzichten und können diese bequem von einem sekundären Knoten abrufen. Das erhöht auch die Geschwindigkeit deutlich. Ausfallzeiten oder Serverprobleme spielen dementsprechend keine Rolle mehr für Sie.

Tipp: Managed MongoDB von IONOS

Mit Managed MongoDB von IONOS können Sie sich auf das Wesentliche konzentrieren. Ob Installation, Betrieb oder Wartungsarbeiten, IONOS sorgt für einen zuverlässigen Betrieb Ihrer hochperformanten Datenbanken.

MongoDB Replicaset erstellen

Der dritte große Vorteil, den ein MongoDB Replicaset bietet, ist die Benutzerfreundlichkeit. Sie können MongoDB Replicasets bequem erstellen und sorgen so selbstständig für die bestmögliche Sicherheit Ihrer Daten. Die grundsätzliche Syntax des MongoDB Commands --replSet sieht aus wie folgt:

mongod --port "PORT" --dbpath "IHR_DB_DATA_PATH" --replSet "NAME_DES_REPLICASETS”

Möchten Sie nun ein MongoDB Replicaset erstellen, gehen Sie folgendermaßen vor:

  1. Schließen Sie zunächst sämtliche aktiven MongoDB Server.
  2. Geben Sie nun den Befehl ein. In unserem Beispiel wählen wir folgende Spezifikationen:
mongo --port 32014 --dbpath "D:\set up\mongodb\data" --replSet Beispiel

Dies erstellt eine mongod-Instanz mit dem Namen „Beispiel“ auf Port 32014.

  1. Verbinden Sie sich nun mit der Instanz.
  2. Nutzen Sie den Befehl rs.initiate(), um ein neues MongoDB Replicaset zu starten.
  3. Mit dem Befehl rs.conf() können Sie das MongoDB Replicaset konfigurieren. Seinen Status überprüfen Sie mit rs.status().
  4. Um nun Mitglieder zu Ihrem MongoDB Replicaset hinzuzufügen, nutzen Sie den Befehl rs.add(). Die Syntax sieht folgendermaßen aus:
rs.add(HOST_NAME:PORT)

Für unser Beispiel sähe das dann so aus:

>rs.add("beispiel1.net:32014")
Tipp

Mit unserem MongoDB-Tutorial lernen Sie die Grundlagen des DBMS.