Um gegen Ausfälle und andere Be­ein­träch­ti­gun­gen gewappnet zu sein, empfiehlt sich der Einsatz eines MongoDB Re­pli­ca­sets. Dieses bewahrt Kopien Ihrer Daten auf ver­schie­de­nen Servern und stellt sie ohne Zeit­ver­lust zur Verfügung.

Was ist das MongoDB Re­pli­ca­set?

Das Hauptziel eines Da­ten­bank­ma­nage­ment­sys­tems wie MongoDB ist es, Ihre Daten über­sicht­lich und sicher zu verwahren. Ein wichtiges Tool für den Schutz der Da­ten­sät­ze sind dabei die MongoDB Re­pli­ca­sets. Bei dieser Methode werden Da­ten­sät­ze exakt du­pli­ziert und auf mehrere Knoten (Nodes) auf un­ter­schied­li­chen Servern verteilt. Dabei un­ter­schei­det MongoDB zwischen primären und se­kun­dä­ren Knoten.

  • Primary: Der primäre Knoten wird auch Mas­ter­kno­ten genannt. Er ist der Aus­gangs­punkt, von dem aus MongoDB Re­pli­ca­sets angelegt werden. Er besitzt Lese- und Schreib­rech­te.
  • Secondary: Die se­kun­dä­ren Nodes sind exakte Kopien des Mas­ter­kno­tens. Sie werden lediglich zur Auf­be­wah­rung der kopierten Daten verwendet und erhalten in der Regel keine Lese- und Schreib­rech­te. Lediglich bei einem Ausfall des primären Knotens rückt ein se­kun­dä­rer Knoten auf und ersetzt den Master. Es wird empfohlen, immer eine ungerade Anzahl von se­kun­dä­ren Nodes zu erstellen.

Wie funk­tio­niert das Re­pli­ca­set?

Ein MongoDB Re­pli­ca­set besteht also aus einem primären Node und mehreren se­kun­dä­ren Knoten, die aus exakten Kopien des Masters erstellt werden. Zwar gibt es min­des­tens zwei sekundäre Nodes, eine Min­dest­an­zahl von drei Kopien wird al­ler­dings empfohlen. Die Da­ten­wei­ter­ga­be erfolgt immer aus­schließ­lich vom primären Knoten zu den se­kun­dä­ren. Kommt es zu einem Ausfall des primären Nodes durch einen Fehler, einen Sys­tem­aus­fall oder not­wen­di­ge War­tungs­ar­bei­ten, rückt ein se­kun­dä­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 se­kun­dä­ren Knoten.

Welche Vorteile bietet ein Re­pli­ca­set?

Die Ver­wen­dung eines MongoDB Re­pli­ca­sets hat gleich mehrere Vorteile. Zum einen ist sie unter den erwähnten Si­cher­heits­aspek­ten emp­feh­lens­wert. Selbst wenn ein Server zeitweise oder gar dauerhaft ausfallen sollte, sind die dort ge­spei­cher­ten Daten nach wie vor abrufbar und gehen nicht verloren. Auch die durch­gän­gi­ge Ver­füg­bar­keit stellt einen großen Vorteil dar. Selbst bei War­tungs­ar­bei­ten müssen Sie nicht auf Ihre Daten ver­zich­ten und können diese bequem von einem se­kun­dä­ren Knoten abrufen. Das erhöht auch die Ge­schwin­dig­keit deutlich. Aus­fall­zei­ten oder Ser­ver­pro­ble­me spielen dem­entspre­chend keine Rolle mehr für Sie.

Tipp: Managed MongoDB von IONOS

Mit Managed MongoDB von IONOS können Sie sich auf das We­sent­li­che kon­zen­trie­ren. Ob In­stal­la­ti­on, Betrieb oder War­tungs­ar­bei­ten, IONOS sorgt für einen zu­ver­läs­si­gen Betrieb Ihrer hoch­per­for­man­ten Da­ten­ban­ken.

MongoDB Re­pli­ca­set erstellen

Der dritte große Vorteil, den ein MongoDB Re­pli­ca­set bietet, ist die Be­nut­zer­freund­lich­keit. Sie können MongoDB Re­pli­ca­sets bequem erstellen und sorgen so selbst­stän­dig für die best­mög­li­che Si­cher­heit Ihrer Daten. Die grund­sätz­li­che 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 Re­pli­ca­set erstellen, gehen Sie fol­gen­der­ma­ß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 Spe­zi­fi­ka­tio­nen:
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 Re­pli­ca­set zu starten.
  3. Mit dem Befehl rs.conf() können Sie das MongoDB Re­pli­ca­set kon­fi­gu­rie­ren. Seinen Status über­prü­fen Sie mit rs.status().
  4. Um nun Mit­glie­der zu Ihrem MongoDB Re­pli­ca­set hin­zu­zu­fü­gen, nutzen Sie den Befehl rs.add(). Die Syntax sieht fol­gen­der­ma­ß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 Grund­la­gen des DBMS.

Zum Hauptmenü