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

Ist dies die optimale Mindestkonfiguration für Mongodb, um Sharding/Skalierung zu ermöglichen?

Ein Replik-Set ist eine Gruppe von Computern, die Klone voneinander sind. (d. h.:Repliken ) Innerhalb einer gegebenen Menge gibt es einen gewählten Meister. Standardmäßig gehen Lese- und Schreibvorgänge an diesen gewählten Master, und die Replikate "verfolgen" die Änderungen einfach, um aktuelle Kopien zu sein. Fällt der Master aus, wird ein neuer gewählt und das System läuft einfach weiter. Die Dokumentation ist hier .

Sie fragen also nach der Skalierung mit MongoDB. Es gibt zwei Arten der Skalierung:

  • Lese-Skalierung:Replica Sets verwenden (siehe hier ). )
  • Schreibskalierung:Verwenden Sie Sharding

Die Mindestkonfiguration für Replica Sets ist- 2 vollständige Replicas- 1 Arbiter (leichter Prozess, bricht Gleichstände bei der Abstimmung)

Die Mindestkonfiguration für Sharding ist- 1 Konfigurationsserver- 1 mongod Prozess (nur ein Shard)- 1 oder mehr mongos (in der Regel auf App-Server)

Sie möchten jedoch wahrscheinlich nicht so in der Produktion laufen. Wenn Sie nur eine einzige DB betreiben, haben Sie nur eine Quelle für die Daten, was zu langen Ausfallzeiten oder totalem Datenverlust führen kann. Dies wird im Allgemeinen durch die Verwendung von Replikatsätzen gelöst.

Außerdem ist der Konfigurationsserver ziemlich wichtig. MongoDB unterstützt 1 oder 3 Konfigurationsserver. Die meisten Produktionsbereitstellungen verwenden 3. Beachten Sie, dass Konfigurationsserver und Arbiter sehr leichtgewichtig sind und auf anderen Boxen oder auf Amazon-Mikroinstanzen laufen können.

Die meisten Produktionsbereitstellungen mit Sharding beinhalten auch Replikatsätze. Tatsächlich beginnen sie normalerweise als Nachbildungen.

Aus Sharding-Perspektive sollte so einfach sein wie:- einen neuen Shard-Server starten- den addshard Befehl von einem mongos

Beachten Sie, dass Sie beim Hinzufügen eines Shards Zeit und Ressourcen einplanen müssen, da Daten zwischen Shards migriert werden und alles neu ausbalanciert wird.