Dynamodb komposittnøkler alt du bør vite

Dynamodb komposittnøkler alt du bør vite

AWS DynamoDB er avhengig av tabeller og indekser for å lagre og organisere dataene. I disse tabellene er det primære nøkler som hjelper til med dataorganisasjon og gjenfinning av elementer. Dermed har en dynamoDB -tabell eller indeks alltid en enkel primærnøkkel eller sammensatt primærnøkkel.

Vi har allerede diskutert de enkle primærnøklene på dette nettstedet. Denne artikkelen fokuserer på DynamoDB -partisjonstaster. Seksjonene som vi dekker inkluderer definisjonen av en sammensatt nøkkel, beste fremgangsmåter for å lage sammensatte nøkler, og hvordan du lager en sammensatt nøkkel for tabellen din.

Hva er en dynamodb komposittnøkkel?

En dynamoDB -komposittnøkkel er et sett med attributter består av en partisjonsnøkkel og en sorteringsnøkkel. Alle tabeller med sorteringsnøkler har sammensatte primærnøkler, mens alle tabeller uten sorteringsnøkler har enkle primærnøkler. De er også kjent som hash-rekkevidde eller dynamodb kompositt primærnøkler.

Interessant nok eksisterer ikke sammensatte nøkler i gjenstandene i tabellen som med de andre attributtene. I stedet er det et abstrakt konsept som du kan lage eller tenke på som en kombinasjon av en partisjonsnøkkel og en slags nøkkel.

Tenk på komposittnøklene som dine primære nøkler når du spør om bordene dine eller når du utfører operasjoner som krever en primærnøkkel. Dermed har all oppdatering, sletting, oppdatering eller elementer som trenger inkludering av en primærnøkkel både partisjonstasten og sortertasten.

Mens en partisjonsnøkkel eller en enkel primærnøkkel fremdeles hjelper i de fleste operasjoner, legger komposittnøklene en effektivitet i de fleste DynamoDB -operasjoner og forbedrer ytelsen til databasen din. Dessuten lar partisjonstastene deg også filtrere spørringsresultatene mer effektivt ved å bruke sammenligningsoperasjonene.

Beste praksis for å lage dynamoDB komposittnøkler

Forsikre deg om at du holder deg til følgende:

Velg en unik partisjonsnøkkel: Partisjonsnøkkelen din skal være unik og ha så høy kardinalitet som mulig. En partisjonsnøkkel med ekstremt lav kardinalitet kan påvirke datalagring og distribusjon.

Du kan bruke verdiene som ikke kan deles blant elementene i en tabell. De kan inkludere e -postadressene, identifikasjonsnumre eller brukernavn. Derfor fungerer en bruker_id bra i partisjonskolonnen for en brukertabell. På samme.

Sortertasten din skal utfylle tilgangsmønstrene: Sortertasten din skal samle den relaterte informasjonen på et enkelt sted for effektive spørringsoperasjoner. En god sortertast forbedrer selektiviteten til tabellens elementer under henting av en spørringskommando.

Hvordan lage en sammensatt nøkkel i DynamoDB

For å opprette en sammensatt nøkkel, kan du bruke Create-Table-kommandoen med parametrene-key-schema og -attribusjonsdefinisjoner.

Parameteren -Key -Schema spesifiserer den primære nøkkelstrukturen i tabellen og kan inkludere ett eller flere elementer. Spesifiser nøkkelskjemaelementet først, etterfulgt av eventuelle sekundære indekser. Hvert element i nøkkelskjemaet består av et attributtnavn og en nøkkeltype.

På den annen side spesifiserer parameteren -attributt -definisjoner. Hver attributtdefinisjon består av et attributtnavn og en attributtype.

Her er et eksempel på hvordan du kan bruke disse parametrene til å lage en dynamoDB -tabell med en sammensatt primærnøkkel bestående av to attributter: partisjon_key og sort_key:

aws dynamodb create-table \
--Bordnavn \
--attributtdefinisjoner AttributeName = Partition_key, AttributeType = S AttributeName = sort_key, AttributeType = S \
--Key-Schema AttributeName = Partition_key, KeyType = Hash AttributeName = Sort_Key, KeyType = Range \
--Provisioned-throughput ReadCapacityUnits = 10, WriteCapacityUnits = 10


Den gitte kommandoen oppretter en ny DynamoDB -tabell med en sammensatt primærnøkkel som består av Partition_key -attributtet som Partition (Hash) -tasten, og sort_key -attributtet som sort (rekkevidde) -tasten. Fortsett med å definere de primære nøkkelattributtene i parameteren -attributt -definisjonen og nøkkelskjemaet i -Key -Schema -parameteren.

Du kan også opprette en sammensatt nøkkel ved bare. For eksempel:

Dynamodbclient.PutItem (
"Tablename": "Mytablename",
"Vare":
"PK":
"S": "PartitionKey"
,
"SK":
"S": "sortkey"
,
"E -post":
"S": "[email protected] "


)

Konklusjon

Denne artikkelen inneholder alt du trenger å vite om DynamoDB komposittnøkler. Det er spesielt viktig å velge partisjonstasten og sortere nøye nøye, ettersom de påvirker ytelsen og skalerbarheten til DynamoDB -tabellen din betydelig. En sammensatt primærnøkkel er ideell for spørring og filtrering av dataene i DynamoDB basert på partisjonstasten og sorteringsnøkkelen.