AWS DynamoDB stützt sich auf Tabellen und Indizes, um die Daten zu speichern und zu organisieren. In diesen Tabellen gibt es Primärschlüssel, die bei der Datenorganisation und bei der Abrufen von Elementen helfen. Somit hat eine DynamoDB -Tabelle oder ein Index immer einen einfachen Primärschlüssel oder zusammengesetzten Primärschlüssel.
Wir haben bereits die einfachen Primärschlüssel auf dieser Website besprochen. Dieser Artikel konzentriert sich auf DynamoDB -Partitionschlüssel. Die Abschnitte, die wir abdecken.
Was ist ein DynamoDB Composite -Schlüssel?
Ein DynamoDB -zusammengesetzter Schlüssel ist ein Satz von Attributen besteht aus einem Partitionschlüssel und einer Sortierschlüssel. Alle Tabellen mit Sorttasten haben zusammengesetzte Primärschlüssel, während alle Tabellen ohne Sortierschlüssel einfache Primärschlüssel haben. Sie sind auch als Hash-Range-Tasten oder Primärschlüssel für dynamodische zusammengesetzte zusammengesetzte Komposits bekannt.
Interessanterweise gibt es in den Elementen in der Tabelle nicht wie bei den anderen Attributen zusammengesetzte Schlüsseln nicht. Stattdessen ist es ein abstraktes Konzept, das Sie als Kombination aus Partitionschlüssel und Sortierschlüssel herstellen oder betrachten können.
Betrachten Sie die zusammengesetzten Schlüssel als Primärschlüssel, wenn Sie Ihre Tabellen abfragen oder Operationen durchführen, die einen Primärschlüssel erfordern. Daher haben alle Aktualisierungen, Löschen, Aktualisierungen oder alle Elemente, die die Aufnahme eines Primärschlüssels benötigen.
Während ein Partitionschlüssel oder ein einfacher Primärschlüssel in den meisten Vorgängen immer noch hilft, fügen die zusammengesetzten Schlüssel in den meisten Dynamodb -Operationen eine Effizienz hinzu und verbessern die Leistung Ihrer Datenbank. Außerdem können Sie Partitionschlüsse auch ermöglichen, die Abfrageergebnisse effizienter mit den Vergleichsvorgängen zu filtern.
Best Practices zum Erstellen der DynamoDB -Verbundtasten
Stellen Sie sicher, dass Sie Folgendes festhalten:
Wählen Sie einen einzigartigen Partitionschlüssel: Ihr Partitionschlüssel sollte einzigartig sein und so eine hohe Kardinalität wie möglich haben. Ein Partitionschlüssel mit einer extrem niedrigen Kardinalität kann sich auf Ihre Datenspeicherung und -verteilung auswirken.
Sie können die Werte verwenden, die unter den Elementen in einer Tabelle nicht gemeinsam genutzt werden können. Sie können die E -Mail -Adressen, Identifikationsnummern oder Benutzernamen enthalten. Daher funktioniert ein Benutzer_ID in der Spalte der Partitionschlüssel für eine Benutzertabelle gut. Ebenso kann eine Mitarbeitertabelle den Mitarbeiter als Partitionschlüssel haben.
Ihr Sortierschlüssel sollte die Zugriffsmuster ergänzen: Ihr Sortierschlüssel sollte die damit verbundenen Informationen an einem einzigen Ort für effiziente Abfragevorgänge sammeln. Eine gute Sortierschlüssel verbessert die Selektivität der Elemente Ihrer Tabelle während des Abrufens durch einen Anfragebehandlungsbefehl.
So erstellen Sie einen zusammengesetzten Schlüssel in DynamoDB
Um einen zusammengesetzten Schlüssel zu erstellen, können Sie den Befehl create-table mit den Parametern des-Schlüsselschemas und -attribute-Definitionen verwenden.
Der Parameter -Schlüsselschema gibt die Primärschlüsselstruktur der Tabelle an und kann ein oder mehrere Elemente enthalten. Geben Sie zuerst das Schlüsselschema -Element an, gefolgt von sekundären Indizes. Jedes Element im Schlüsselschema besteht aus einem Attributnamen und einem Schlüsseltyp.
Andererseits gibt der Parameter -attribute -Definitionen die Attribute an, die den Primärschlüssel und alle sekundären Indizes ausmachen. Jede Attributdefinition besteht aus einem Attributnamen und einem Attributtyp.
Hier ist ein Beispiel dafür, wie Sie diese Parameter verwenden können, um eine DynamoDB -Tabelle mit einem zusammengesetzten Primärschlüssel zu erstellen, das aus zwei Attributen besteht: partition_key und sort_key:
AWS DynamoDB erstellen-table \
--Tabellenname\
--Attributdefinitionsattributename = partition_key, AttributType = s Attributename = sort_key, AttributType = S \
--Schlüsselschema Attributename = partition_key, keytype = Hash Attributename = sort_key, keytype = range \
--Vorgesetzte ReadCapacityUnits = 10, WriteCapacityUnits = 10
Der angegebene Befehl erstellt eine neue DynamoDB -Tabelle mit einem zusammengesetzten Primärschlüssel, der aus dem Attribut partition_key als Partition (Hash) und das Attribut "sort_key als" sort (Bereich)) besteht. Definieren Sie die primären Schlüsselattribute im Parameter -attribute -Definitionen und im Parameter -Schlüsselschema und das Schlüsselschema und das Schlüsselschema.
Sie können auch einen zusammengesetzten Schlüssel erstellen, indem Sie einfach sowohl den Partitionschlüssel des Elements als auch den zusammengesetzten Schlüssel mit dem PutItem -Vorgang definieren. Zum Beispiel:
Dynamodbclient.putItem (
"TabLENAME": "mytableName",
"Artikel":
"pk":
"S": "Partitionkey"
,
"SK":
"S": "Sortkey"
,
"Email":
"S": "[email protected] "
)
Abschluss
Dieser Artikel enthält alles, was Sie über DynamoDB -Verbundtasten wissen müssen. Insbesondere ist es wichtig, den Partitionschlüssel zu wählen und den Schlüssel sorgfältig zu sortieren, da sie die Leistung und Skalierbarkeit Ihrer DynamoDB -Tabelle erheblich beeinflussen. Ein zusammengesetzter Primärschlüssel ist ideal zum Abfragen und Filtern der Daten in DynamoDB basierend auf dem Partitionschlüssel und der Sortierschlüssel.