Hvordan du angir dynamoDB -partisjonstastene

Hvordan du angir dynamoDB -partisjonstastene

Produktiviteten til enhver database er avhengig av datatilgjengelighet siden du søker etter et element fra flere objekter kan bevise hektisk. Ofte er hvordan du spør om databasen alltid en alvorlig vurdering. Partisjonstastene er dine primære inngangspunkter i DynamoDB når du vil gjøre svært effektive spørsmål.

Vanligvis er partisjonstastene over tabeller unike. Dermed er det umulig å ha to eller flere elementer med samme partisjonstast i en tabell, men det motsatte kan skje når det brukes i indekser. Dessuten er partisjonsnøkler umulig å endre når du oppretter en tabell siden de er uforanderlige.

Denne artikkelen diskuterer om partisjonstaster. Vi vil fokusere på hvorfor du trenger partisjonstastene og den beste fremgangsmåten du kan følge når du setter dem. Til slutt vil vi se på hvordan DynamoDB -partisjonstastene er essensielle.

Hva er en dynamoDB -partisjonsnøkkel og hvorfor er det viktig?

En partisjonsnøkkel er en enkel primærnøkkel i DynamoDB, ofte bestående av et enkelt attributt. Hvert element i en DynamoDB -tabell har en unik partisjonsnøkkel for å aktivere de raske og effektive spørringsprosessene.

Du kan parre en primærnøkkel med en sortertast for å lage en sammensatt primærnøkkel som inneholder to attributter. Når du brukes sammen, kan du organisere alle dataene under en partisjonstast ved hjelp av sorteringsverdien.

Siden DynamoDB forbeholder seg dataene som et konsortium av attributter som kalles elementer, har attributtene unike primærverdiets nøkler for enkel tilgjengelighet. Spesielt er elementene i DynamoDB lik poster, felt, kolonner eller rader i de fleste databasesystemer.

Videre lar DynamoDB distribuere dataene til partisjoner på opptil 10 GB lagringsenheter. Hver tabell kan derfor ha en eller flere partisjoner. Du kan bruke verdien av en partisjonstast som inndata til databasens interne hasjfunksjon, med utgangen fra hashfunksjonen som bestemmer partisjonen som elementet er lagret. Dessuten bestemmer plasseringen av et element at partisjonen det er lagret.

Hvordan du angir dynamoDB -partisjonstastene

Å sette partisjonstastene kan være en oppoverbakke oppgave hvis du ennå ikke forstår konseptet. Imidlertid kan denne prosessen være enkel og effektiv når du mønstre de nødvendige tipsene og triksene. Følgende er noen av de beste fremgangsmåtene å følge når du setter opp partisjonsnøkler:

1. Velg de riktige partisjonstastene

Den typen partisjonstaster bestemmer bekvemmelighet og effektivitet ved å spørre dataene dine. De er de primære inngangspunktene for å spørre dataene dine, og å definere hver applikasjons tilgangsmønster er kritisk.

Det anbefales å bruke attributtene med høy-cardinalitet når du setter opp DynamoDB-partisjonstastene. Attributtene med høy-cardinalitet har de distinkte verdiene for hvert element og kan inkludere ansatt_id, ansatt_no, ordre_id, e-post, customerid eller orderid.

2. Bruk PK -navnekonvensjonen

Partisjonstaster bruker ofte PK -navnekonvensjonen. Denne navnemetoden garanterer en presis navnemekanisme uten å diskriminere basert på den representerte varetypen eller modellen.

For eksempel, selv om du kan bli fristet til å bruke PostID og UserID som partisjonstaster for post- og brukermodeller i en tabell, tillater DynamoDB bare en partisjonstast for hver tabell. Dermed kan du ikke bruke to i en enkelt tabell. Merk at tabellene uten sorteringsnøkler kan ha ID -partisjonstaster.

3. Bruk sammensatte attributter

Noen tabeller drar mer nytte av komposittnøkler. Det vil si at du trenger mer enn en enkelt attributt for å danne de unike nøklene. For eksempel kan du enkelt bruke customer_id, country_code og produkt_id for å danne en partisjonsnøkkel (CustomerId#countrycode#produktid). Samtidig kan du bruke ordre_id som din sorteringsnøkkel.

4. Legg til tilfeldige tall riktig

Hvis du forventer et enormt volum av skriver for hver nøkkel, gjør du et ekstra prefiks eller suffikset, gjør de tunge brukssakene mer effektive. For eksempel kan du bruke fakturanummeret sammen med et sett med tilfeldige tall som partisjonstasten. Husk å skille de forskjellige delene av partisjonstasten din. For eksempel er Refoicenumber#125656#0 som en partisjonsnøkkel ideell for tung bruk med tusenvis av skriver per sekund.

Opprett en dynamoDB -partisjonstast

Som sorteringsnøkler innebærer å lage en partisjonstast i DynamoDB å lage et nøkkelskjema for tabellen din. Selvfølgelig skjer dette når du oppretter en tabell. Dette innebærer ofte å beskrive attributtet ditt ved hjelp av attributtnavnet ved siden av attributttypen. Følgende syntaks vil hjelpe:

AttributeName = String, KeyType = String ..

I den gitte syntaks er attributtnavnet det faktiske navnet på attributtet mens attributtypen enten kan være en streng (er), nummer (n) eller en binær (b).

Du kan også velge å bruke en JSON -syntaks som vist i følgende:

[

"AttributeName": "String",
"KeyType": "Hash"

..
]

Uansett hvilken syntaks du velger, forutsetter attributtet rollen hashfunksjonen fordi vi oppretter en partisjonsnøkkel. Tvert imot antar nøkkeltypen en rekkeviddefunksjon når du oppretter sorteringsnøklene.

Til slutt er det også mulig å endre en partisjonsnøkkel ved å bruke følgende verktøy:

Dynamodbclient.UpdateItem (
"Tablename": "Mytable_name",
"Nøkkel":
"PK":
"S": "My_PartitionKey"

,
"Updatexpression": "Sett #EmailAddress =: EmailAddress",
"ExpressionAttributeNames":
"#Email": "e -postadresse"
,
"ExpressionAttributeValues":
":epostadresse":
"S": "[email protected] "


)

Det gitte verktøyet oppdaterer e -postattributtet for å se ut som du har i [email protected] for varen der partisjonstasten (PK) er lik My_PartitionKey.

Konklusjon

Når du setter opp DynamoDB -partisjonstastene, er det ingen enkelt universell metode. Opprette og bruke partisjonstastene avhenger av brukssaken. Dessuten kan du se på de forskjellige tilgjengelige tilnærmingene og finne den mest passende for søknaden din. Forsikre deg om at du holder deg til de gitte retningslinjene.