Einige Betrachtungen bezüglich Mongo DB

Post date: Jan 6, 2013 11:44:16 AM

Es gibt einige allgemeine Aspekte bezüglich Mongo die einige Fragen aufbringen. Die dazugehörigen Antworten können in einfache, leicht anwenbare Regeln zusammengefasst werden:

1) Wenn Du Dir Fragen bezüglich des Hardware Sizings stellst, zum Beispiel wieviel RAM Speciher eine Mongod Instanz brauchen würde, dann berücksichtige eine Speicherkapazität die mindestens die Bildspeicher-Kapazität des Mongod-Prozesses wie von dem Mongostat-Ouput ausgeliefert wird, beträgt. Falls der Journaling-Modus aktiviert ist, die Kapazität des virtuellen Speichers wird das Doppelte der Bildspeicherkapazität betragen und das stellt ein normales Verhalten in diesem Fall dar. Wenn der Journaling-Modus nicht aktiviert ist, dann eine erhöhte Differenz zwischen den virtuellen und Bild-Speicherkapazitäten weißt auf einen möglichen Speicherleck hin. Wenn die verfügbare RAM-Speicherkapazität unter der Bildspeicherkapazität des Mongod-Prozesses liegt, dann heißt es dass Mongo auf die Festplatte zugreift und in diesem Fall Seitenfehler entstehen können. Im Allgemeinen eine erhöhte Anzahl von Seitenfehlern weißt entweder auf einen Neugestaltungs-Bedarf mit Sharding oder auf die Notwendigkeit die RAM-Speicherkapazität zu erhöhen hin.

2) Eine ungerade Anzahl der Abstimmungen (Votes) ist empfehlenswert in Szenarien die mit mehreren Rechenzentren-Deployments verbunden sind weil sie die automatische Wahl des Primary-Knotens in verschiedenen Ausfallszenarien im Falle einer Netzwerk-Partitionierung oder im Falle einer zentrallen oder doppelten Schwachstelle die mit einem einzigen Rechenzentrum oder mit mehreren Rechenzentren verbunden sind gewährleisten kann. Obvohl die Anzahl der Abstimmungen durch die ReplicaSet-Konfiguration auf dem Primary geändert werden kann, ist dieser Eingriff nicht empfehlenswert weil in diesem Fall intermittierende Bindungen oder Stockungen (Deadlocks) auftreten könnten. Die billigste Lösung in diesem Szenario ist das Einfügen einer ausreichenden Anzahl von Arbiter-Knoten in den Replica-Set.