Ich möchte wissen, wie ich einen Primärschlüssel für meine Amazon DynamoDB-Tabelle auswähle.
Kurzbeschreibung
Jedes Element in einer DynamoDB-Tabelle muss einen eindeutigen Primärschlüssel haben. Sie können entweder einen Partitionsschlüssel oder einen zusammengesetzten Primärschlüssel angeben. Informationen zur Bestimmung des richtigen zu verwendenden Primärschlüssels finden Sie unter Bewährte Methoden für das effektive Entwerfen und Verwenden von Partitionsschlüsseln in DynamoDB.
Verwenden Sie eine der folgenden Methoden, um den Primärschlüssel zu erstellen:
- Verwendung eines Attributs mit hoher Kardinalität
- Verwendung zusammengesetzter Attribute
- Hinzufügen von Zuffahlszahlen zu Partitionsschlüsseln
Lösung
Verwendung eines Attributs mit hoher Kardinalität
Wenn die Tabelle ein Attribut mit einem eindeutigen Wert für jedes Element enthält, z. B. Benutzer-IDs, ist das Attribut ein guter Primärschlüssel. In diesem Fall ist der Primärschlüssel ein Partitionsschlüssel.
Verwendung zusammengesetzter Attribute
Wenn die Tabelle kein Attribut hat, das für jedes Element eindeutig ist, können Sie verschiedene Attribute kombinieren, um einen eindeutigen Primärschlüssel zu erstellen. Sie haben beispielsweise eine Bestell-Tabelle mit Attributen für Kunden- und Bestellungs-ID. Sie kombinieren die beiden ID-Werte, um einen Partitionsschlüssel zu erhalten, der mit größerer Wahrscheinlichkeit viele eindeutige Werte hat. Verwenden Sie dann eine andere Spalte, z. B. das Bestelldatum, als Sortierschlüssel. In diesem Fall haben Sie einen zusammengesetzten Primärschlüssel.
Hinzufügen von Zuffahlszahlen zu Partitionsschlüsseln
Wenn Sie einen schreibintensiven Anwendungsfall haben, hängen Sie Zufallszahlen innerhalb eines vorbestimmten Bereichs an den Partitionsschlüssel an, um die Zufälligkeit des Schlüssels zu erhöhen. Weitere Informationen finden Sie unter Verwendung von Schreib-Sharding zur gleichmäßigen Verteilung von Workloads in der Dynamodb-Tabelle.
Ähnliche Informationen
Auswahl des richtigen DynamoDB-Partitionsschlüssels
Warum wird meine von Amazon DynamoDB bereitgestellte Tabelle gedrosselt?
Effektive Datensortierung mit Amazon DynamoDB