Überblick über die Replikation in MongoDB

MongoDB ist eine Open-Source-Datenbank, die auf Dokumenten basiert. Sie ist hoch skalierbar und eine NoSQL-Datenbank. Es kann für die Speicherung großer Datenmengen verwendet werden.

MongoDB speichert die Daten in einem JSON-ähnlichen Format, das sehr flexibel ist. Das Dokumentmodell wird dann den Objekten in Anwendungscodes zugeordnet.

Was ist die MongoDB-Replikation?

Mit Replikation ist das Clustering von Servern gemeint, die dieselbe Funktionalität ausführen. Bei MongoDB verfügen wir über MongoDB-Server zum Speichern der Daten. Der Zweck der Replikation besteht darin, eine hohe Datenverfügbarkeit sicherzustellen. Sollte einer der Server ausfallen, sollten wir immer eine Kopie der Daten auf einem anderen Server verfügbar haben, damit die Verfügbarkeit nicht beeinträchtigt wird.

Die Daten sollten regelmäßig und in regelmäßigen Abständen repliziert werden, um sicherzustellen, dass keine Daten verloren gehen. Selbst wenn der primäre Server ausfällt, sollte der zweite Server in der Lage sein, die Benutzeranforderungen zu bedienen.

Die Replikation ist auch beim Lastenausgleich sehr effektiv. Wenn beispielsweise eine Reihe von Benutzern versucht, Daten auf Servern zu lesen oder zu schreiben, ist es in diesem Fall unfair, wenn alle Anforderungen nur von diesen Servern gesendet oder abgerufen werden Bei einem Server sollte es einen Ausgleichsmechanismus geben, der die Last gleichmäßig auf die verfügbaren Server im Cluster verteilt, sodass kein Server über genügend Arbeitsspeicher oder Bandbreite verfügt und ausfällt.

Funktionsweise der Replikation im MongoDB-Prozess

Die Replikation in MongoDB erfolgt mit Hilfe von Replikatsätzen. Replikatsätze sind die Gruppierung von MongoDB-Servern. Es gibt einen Primärserver, der für den Empfang aller Anforderungen oder Schreibvorgänge von Clients verantwortlich ist. Die anderen Instanzen, die zum Replikatsatz hinzugefügt werden, werden als Sekundärinstanzen bezeichnet, die für alle Lesevorgänge verantwortlich sind.

  • Wie im obigen Diagramm dargestellt, replizieren alle Daten den Primärknoten auf Sekundärknoten. In jedem Replikatsatz befindet sich nur ein Primärknoten.
  • Jedes Mal, wenn ein Failover stattfindet oder eine Wartungsaktivität ausgeführt wird, wird ein neuer Primärknoten gewählt.
  • Sobald das Failover wiederhergestellt ist, fungiert der ausgefallene Knoten jetzt als sekundärer Knoten.
  • Die Client-Anwendung kommuniziert immer mit dem primären Knoten, woraufhin die Daten auf alle sekundären Knoten repliziert werden.

Replikatsätze, -erstellung und -vorgänge

Um eine vollständige Replikation von MongoDB-Servern zu erstellen, müssen Sie zunächst einen Replikatsatz von MongoDB-Instanzen erstellen.

Stellen wir uns vor, wir haben drei Server, repl1, repl2 und repl3, wobei repl1 der primäre Server ist und die übrigen sekundäre Server sind.

Hinzufügen der Primärknotenreplikation in MongoDB:

  • Stellen Sie sicher, dass mongo.exe-Instanzen auf allen angegebenen Servern installiert sind.
  • Alle mongod.exe müssen sich gegenseitig anpingen können, dh sie können kommunizieren. Um dies zu überprüfen, führen Sie bitte (zunächst) die folgenden Befehle von den Primärservern aus, in unserem Fall also repl1.

mongo –host repl2 –port 27017

mongo –host repl3 –port 27017

Ebenso können wir den gleichen Test auch von anderen Servern durchführen

  • Mit dem Befehl mongo –replset sollten wir in der Lage sein, unsere erste mongod.exe-Instanz zu starten.
    mongo –replset “Replica_A” Wobei Replica_A der Name unseres Replikatsatzes ist.
  • Da wir den ersten Server zu unserem Replikatsatz hinzugefügt haben, besteht der nächste Schritt darin, den Replikatsatz mit dem Befehl rs.initiate () zu initiieren.
  • Der nächste Schritt ist der Überprüfungsschritt, in dem wir sicherstellen, dass alles, was wir bisher konfiguriert haben, korrekt ist. Dies können wir tun, indem wir den Befehl rs.conf () ausführen.

Hinzufügen der Replikation von Sekundärknoten in MongoDB:

Sobald der Primärserver hinzugefügt wurde, können die anderen Sekundärknoten problemlos hinzugefügt werden. Dazu geben Sie den Befehl rs.add () ein.

Führen Sie daher den folgenden Befehl aus, da repl1 unser Primärserver ist und repl2 und repl3 jeweils Sekundärserver sind.

rs.add ("repl2")

rs.add ("repl3")

Entfernen von Servern aus dem Replikatssatz:

Um einen Server aus einem Replikatsatz zu entfernen, können Sie den Befehl rs.remove () verwenden.

Es gibt bestimmte Schritte, die an dem unten angegebenen Prozess beteiligt sind:

  • Fahren Sie zunächst die Instanz herunter, die entfernt werden muss. Dies kann durch Ausführen des Befehls db.shutdownserver über mongo cell erfolgen.
  • Der nächste Schritt besteht darin, eine Verbindung zum Primärserver herzustellen.
  • Führen Sie den folgenden Befehl aus. Nehmen wir an, wir haben repl1, repl2 und repl3 als Primär- und Sekundärserver und möchten repl3 entfernen. Führen Sie dann den folgenden Befehl aus:

rs.remove ("repl3")

Einige Befehle zur Fehlerbehebung

  • Alle mongod.exe müssen sich gegenseitig anpingen können, dh sie können kommunizieren. Um dies zu überprüfen, führen Sie bitte (zunächst) die folgenden Befehle von den Primärservern aus, in unserem Fall also repl1.

mongo –host repl2 –port 27017

mongo –host repl3 –port 27017

Ebenso können wir den gleichen Test auch von anderen Servern durchführen

  • Die Option rs.status () gibt den Status Ihres Replikatsatzes an
  • Geben Sie zum Überprüfen von oplog, einem Protokoll zum Aufzeichnen aller durchgeführten Schreibvorgänge, den folgenden Befehl ein: rs.printReplicationInfo.

Vorteile der Replikation in MongoDB

Der Zweck der Replikation besteht darin, eine hohe Datenverfügbarkeit sicherzustellen. Wenn einer der Server ausfällt, sollten wir immer eine Kopie der Daten auf einem anderen Server verfügbar haben, damit die Verfügbarkeit nicht beeinträchtigt wird. Die Replikation ist auch sehr effektiv, wenn beispielsweise eine Nummer für den Lastenausgleich vorhanden ist von Benutzern von versuchen, Daten auf Server zu lesen oder zu schreiben.

Kurz gesagt, die Hauptvorteile der Replikation dienen dem folgenden Zweck:

  1. Hohe Verfügbarkeit
  2. Lastverteilung

Fazit:

Wie wir gesehen haben, ist die MongoDB-Replikation ein Prozess, bei dem wir die Daten auf mehr als einem Server replizieren, um eine hohe Verfügbarkeit sicherzustellen. Dies kann erreicht werden, indem ein Replikatsatz erstellt und der primäre und der sekundäre Server hinzugefügt werden.

Empfohlene Artikel:

Dies war eine Anleitung zur Replikation in MongoDB. Hier diskutieren wir die Erstellung, den Betrieb, das Arbeiten, die Vorteile und einige Befehle zur Fehlerbehebung. Sie können auch unsere anderen Artikelvorschläge durchgehen, um mehr zu erfahren -

  1. MongoDB GUI Tools
  2. MongoDB-Befehle
  3. MongoDB Alternativen
  4. So installieren Sie MongoDB