So legen Sie die DynamoDB-Partitionsschlüssel fest

So Legen Sie Die Dynamodb Partitionsschlussel Fest



Die Produktivität jeder Datenbank hängt von der Datenzugänglichkeit ab, da die Suche nach einem Element aus mehreren Objekten hektisch sein kann. Oftmals ist es immer eine ernsthafte Überlegung, wie Sie die Datenbank abfragen. Die Partitionsschlüssel sind Ihre primären Einstiegspunkte in DynamoDB, wenn Sie hocheffiziente Abfragen durchführen möchten.

Normalerweise sind die Partitionsschlüssel über Tabellen hinweg eindeutig. Daher ist es unmöglich, zwei oder mehr Elemente mit demselben Partitionsschlüssel in einer Tabelle zu haben, aber das Gegenteil kann passieren, wenn es in Indizes verwendet wird. Außerdem können Partitionsschlüssel nach dem Erstellen einer Tabelle nicht mehr geändert werden, da sie unveränderlich sind.







Dieser Artikel behandelt Partitionsschlüssel. Wir werden uns darauf konzentrieren, warum Sie die Partitionsschlüssel benötigen und welche Best Practices Sie beim Festlegen befolgen sollten. Abschließend werden wir untersuchen, wie wichtig die DynamoDB-Partitionsschlüssel sind.



Was ist ein DynamoDB-Partitionsschlüssel und warum ist er wichtig?

Ein Partitionsschlüssel ist ein einfacher Primärschlüssel in DynamoDB, der oft aus einem einzigen Attribut besteht. Jedes Element in einer DynamoDB-Tabelle hat einen eindeutigen Partitionsschlüssel, um schnelle und effiziente Abfrageprozesse zu ermöglichen.



Sie können einen Primärschlüssel mit einem Sortierschlüssel paaren, um einen zusammengesetzten Primärschlüssel zu erstellen, der zwei Attribute enthält. Bei gemeinsamer Verwendung können Sie alle Daten unter einem Partitionsschlüssel organisieren, indem Sie den Sortierschlüsselwert verwenden.





Da DynamoDB die Daten als ein Konsortium von Attributen namens Elemente reserviert, haben die Attribute eindeutige Primärwertschlüssel für einen einfachen Zugriff. Insbesondere ähneln die Elemente in DynamoDB Datensätzen, Feldern, Spalten oder Zeilen in den meisten Datenbanksystemen.

Darüber hinaus können Sie mit DynamoDB die Daten auf Partitionen mit bis zu 10 GB Speichereinheiten verteilen. Jede Tabelle kann daher eine oder mehrere Partitionen haben. Sie können den Wert eines Partitionsschlüssels als Eingabe für die interne Hash-Funktion der Datenbank verwenden, wobei die Ausgabe der Hash-Funktion die Partition bestimmt, in der das Element gespeichert ist. Außerdem bestimmt der Ort eines Elements die Partition, in der es gespeichert ist.



So legen Sie die DynamoDB-Partitionsschlüssel fest

Das Festlegen der Partitionsschlüssel kann eine schwierige Aufgabe sein, wenn Sie das Konzept noch nicht verstanden haben. Dieser Prozess kann jedoch einfach und effizient sein, wenn Sie die notwendigen Tipps und Tricks aufbringen. Im Folgenden finden Sie einige der Best Practices, die Sie beim Einrichten von Partitionsschlüsseln befolgen sollten:

1. Wählen Sie die richtigen Partitionsschlüssel

Die Art der Partitionsschlüssel bestimmt den Komfort und die Effizienz der Abfrage Ihrer Daten. Sie sind die primären Einstiegspunkte für die Abfrage Ihrer Daten, und die Definition der Zugriffsmuster jeder Anwendung ist von entscheidender Bedeutung.

Es ist ratsam, beim Einrichten Ihrer DynamoDB-Partitionsschlüssel die Attribute mit hoher Kardinalität zu verwenden. Die Attribute mit hoher Kardinalität weisen unterschiedliche Werte für jeden Artikel auf und können die Mitarbeiter_ID, Mitarbeiter_Nr., Bestell_ID, E-Mail-ID, Kunden-ID oder Bestell-ID enthalten.

2. Verwenden Sie die PK-Namenskonvention

Partitionsschlüssel verwenden häufig die pk-Namenskonvention. Diese Benennungsmethode garantiert einen präzisen Benennungsmechanismus ohne Diskriminierung basierend auf dem dargestellten Artikeltyp oder -modell.

Während Sie beispielsweise versucht sein könnten, postID und userID als Partitionsschlüssel für Post- und User-Modelle in einer Tabelle zu verwenden, lässt DynamoDB nur einen Partitionsschlüssel für jede Tabelle zu. Daher können Sie nicht zwei in einer einzigen Tabelle verwenden. Beachten Sie, dass die Tabellen ohne Sortierschlüssel ID-Partitionsschlüssel haben können.

3. Verwenden Sie zusammengesetzte Attribute

Einige Tabellen profitieren mehr von zusammengesetzten Schlüsseln. Das heißt, Sie benötigen mehr als ein einzelnes Attribut, um die eindeutigen Schlüssel zu bilden. Beispielsweise können Sie bequem die Kunden-ID, den Ländercode und die Produkt-ID verwenden, um einen Partitionsschlüssel zu bilden (Kunden-ID#Ländercode#Produkt-ID). Gleichzeitig können Sie die order_id als Ihren Sortierschlüssel verwenden.

4. Fügen Sie geeignete Zufallszahlen hinzu

Wenn Sie ein enormes Volumen an Schreibvorgängen für jeden Schlüssel erwarten, macht die Verwendung eines zusätzlichen Präfixes oder Suffixes die Fälle mit hoher Nutzung effizienter. Beispielsweise können Sie die Rechnungsnummer zusammen mit einer Reihe von Zufallszahlen als Ihren Partitionsschlüssel verwenden. Denken Sie daran, die verschiedenen Abschnitte Ihres Partitionsschlüssels zu trennen. Beispielsweise ist InvoiceNumber#125656#0 als Partitionsschlüssel ideal für eine starke Nutzung mit Tausenden von Schreibvorgängen pro Sekunde.

Erstellen Sie einen DynamoDB-Partitionsschlüssel

Wie bei Sortierschlüsseln beinhaltet das Erstellen eines Partitionsschlüssels in DynamoDB das Erstellen eines Schlüsselschemas für Ihre Tabelle. Dies geschieht natürlich, wenn Sie eine Tabelle erstellen. Dazu gehört häufig die Beschreibung Ihres Attributs mit dem Attributnamen neben dem Attributtyp. Dabei hilft folgende Syntax:

AttributeName=Zeichenfolge,Schlüsseltyp=Zeichenfolge ...

In der angegebenen Syntax ist der Attributname der tatsächliche Name des Attributs, während der Attributtyp entweder eine Zeichenfolge (S), eine Zahl (N) oder eine Binärdatei (B) sein kann.

Sie können auch eine JSON-Syntax verwenden, wie im Folgenden gezeigt:

[

{

'AttributeName': 'Zeichenfolge',

'Schlüsseltyp': 'HASH'

}

...

]

Welche Syntax Sie auch wählen, die Rolle des Attributs übernimmt die HASH-Funktion, da wir einen Partitionsschlüssel erstellen. Im Gegensatz dazu übernimmt der Schlüsseltyp bei der Erstellung der Sortierschlüssel eine RANGE-Funktion.

Schließlich ist es auch möglich, einen Partitionsschlüssel mit dem folgenden Dienstprogramm zu ändern:

DynamoDBClient.updateItem({
'TableName': 'myTable_Name',
'Taste': {
'pk': {
'S': 'my_PartitionKey'
}
},
'UpdateExpression': 'SET #E-Mail-Adresse = :E-Mail-Adresse',
'ExpressionAttributeNames': {
'#email': 'E-Mail-Adresse'
},
'ExpressionAttributeValues': {
':E-Mail-Addresse': {
'S': ' [E-Mail-geschützt] '
}
}
})

Das angegebene Dienstprogramm aktualisiert Ihr E-Mail-Attribut so, dass es so aussieht, wie Sie es in der haben [E-Mail-geschützt] für das Element, bei dem der Partitionsschlüssel (pk) gleich my_PartitionKey ist.

Fazit

Beim Einrichten der DynamoDB-Partitionsschlüssel gibt es keine universelle Methode. Das Erstellen und Verwenden der Partitionsschlüssel hängt vom Anwendungsfall ab. Außerdem können Sie sich die verschiedenen verfügbaren Ansätze ansehen und den für Ihre Anwendung am besten geeigneten finden. Achten Sie darauf, dass Sie sich an die vorgegebenen Richtlinien halten.