MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Was ist in Mongo der Unterschied zwischen Sharding und Replikation?

Im Zusammenhang mit der Skalierung von MongoDB:

  • Replikation erstellt zusätzliche Kopien der Daten und ermöglicht ein automatisches Failover auf einen anderen Knoten. Die Replikation kann bei der horizontalen Skalierung von Lesevorgängen hilfreich sein, wenn Sie Daten lesen können, die möglicherweise nicht die neuesten sind.

  • Scherben ermöglicht die horizontale Skalierung von Datenschreibvorgängen durch Partitionieren von Daten auf mehrere Server mithilfe eines Shard-Schlüssels . Es ist wichtig, einen guten Shard-Schlüssel zu wählen. Beispielsweise könnte eine schlechte Wahl des Shard-Schlüssels dazu führen, dass „Hotspots“ von Daten nur auf einen einzigen Shard geschrieben werden.

Eine fragmentierte Umgebung erhöht die Komplexität, da MongoDB nun die Verteilung von Daten und Anfragen zwischen Shards verwalten muss – zusätzliche Konfigurations- und Routing-Prozesse werden hinzugefügt, um diese Aspekte zu verwalten.

Replikation und Sharding werden normalerweise kombiniert, um einen Sharded-Cluster zu erstellen wobei jeder Shard von einem Replikatsatz unterstützt wird.

Aus Sicht der Clientanwendung haben Sie auch eine gewisse Kontrolle in Bezug auf die Replikation/Sharding-Interaktion, insbesondere:

  • Einstellungen lesen
  • Schreiben Sie Bedenken