6 Deployment-Modelle

MongoDB unterstützt verschiedene Deployment-Modelle, die sich je nach Anforderungen an Skalierbarkeit, Verfügbarkeit, Performance und Management unterscheiden. Nachfolgend die wichtigsten Modelle:

6.1 Single Node (Einzelner Knoten)

6.1.1 Standalone


6.2 Replica Set

6.2.1 Primary-Secondary-Modell

Ein Replica Set besteht aus mehreren MongoDB-Instanzen:

Funktionalität: - Schreiboperationen erfolgen ausschließlich auf dem Primary. - Sekundäre Knoten replizieren Daten asynchron über das Oplog. - Automatisches Failover: Wenn der Primary ausfällt, wird einer der Secondaries zum neuen Primary gewählt.

Anwendungsfälle: - Szenarien mit hohen Verfügbarkeitsanforderungen. - Systeme, die Leselast auf mehrere Knoten verteilen möchten.

Vorteile: - Hohe Verfügbarkeit. - Datenreplikation für Ausfallsicherheit.

Nachteile: - Zusätzlicher Ressourcenbedarf für mehrere Knoten.


6.3 Sharded Cluster (Verteilter Cluster)

Ein Sharded Cluster teilt Daten horizontal über mehrere Shards:

Funktionalität: - Daten werden basierend auf einem Shard Key auf Shards verteilt. - Skalierbarkeit durch Hinzufügen neuer Shards.

Anwendungsfälle: - Große Datenmengen, die nicht auf einem einzelnen Server gehalten werden können. - Anwendungen mit hoher Lese- und Schreibleistung.

Vorteile: - Nahezu unbegrenzte horizontale Skalierung. - Lastverteilung über mehrere Server.

Nachteile: - Komplexere Einrichtung und Verwaltung. - Effizienz hängt stark von der Wahl des Shard Keys ab.


6.4 Kombinierte Modelle

6.4.1 Sharded Replica Sets


6.5 Cloud-Modelle

6.5.1 MongoDB Atlas

6.5.2 Self-managed in der Cloud


6.6 Entscheidungskriterien für ein Deployment-Modell

Das optimale Deployment-Modell hängt von den spezifischen Anforderungen der Anwendung, den verfügbaren Ressourcen und den Skalierungszielen ab.