MongoDB

MongoDB ist die führende Open-Source, Document Datenbank die für einfache Entwicklung und Skalierung aber auch für Big Data Szenarien entwickelt wurde.

Den richtigen Shard Key auswählen

Marc-David Militz
Experte
In einem MongoDB Sharded Cluster ist das wichtigste Werkzeug der Shard Key.
Mit dem Shard Key bestimmt man die Verteilung der Daten im Cluster und damit auch die Schreib-/Leseperformence.
Die Dokumente in einer geshardeten Collection werden anhand des Shard Keys in "Ranges" aufgeteilt und auf den einzelnen Shard Nodes abgelegt.
Für welchen Shard Key man sich entscheidet hängt immer von den Daten, sowie den Anforderungen an die Performance ab.

  • ausgeglichene Verteilung

    • Der ideale Shard Key, für eine ausgeglichene Verteilung, muß einfach teilbar sein. Das erleichtert MongoDB das Verteilen der Daten auf die Shards.
      Hat ein Shard Key zu wenige mögliche Werte, resultieren daraus zu große Chunks, die nicht mehr aufgeteilt werden können.
      Beispiel Adressdaten:
      	{state:"Bayern",zipcode:"90411",phone:"0911/123456"}


      • hohe Schreibperformance

        • Der ideale Shard Key, für eine hohe Schreibperformance, ermöglicht das Verteilen von Schreiboperationen über den gesamten Cluster. Das verhindert dass ein einzelner Node zum Bottleneck wird.
          Shard Keys die einen hohen Bezug zur Zeit haben sind eine schlechte Wahl, der Shard Key soll einen hohen Zufallsfaktor besitzen.
          Beispiel ObjectID:
          	{_id:"34234F435345DFG34543DSF"}


          • hohe Leseperformance

            • Der ideale Shard Key, für eine hohe Leseperformance, ermöglicht die Rückgabe des Ergebnisses einer Abfrage von einer einzelnen MongoDB Instanz.
              Der Shard Key sollte das Primäre Feld sein, auf das die Abfragen gefahren werden. Ein Feld mit einer hohen Zufälligkeit ist dafür schlecht geeignet.

Neueste Mitgliederaktivitäten

Diesen Community Beitrag weiterempfehlen