Hvordan stille inn DynamoDB-sorteringsnøkkelen

Hvordan Stille Inn Dynamodb Sorteringsnokkelen



DynamoDB fortsetter å vokse i popularitet for sin evne til å organisere dataene i tabeller. Utover tabellene har DynamoDB primærnøklene som hjelper til med brukervennligheten til databasen og bekvemmeligheten som følger med å behandle spørringene og skanningene gjennom tabellen eller databasen.

Å forstå hvordan du setter DynamoDB-sorteringsnøklene når du oppretter tabeller hjelper deg langt med å organisere dataene dine. Enda mer, det forbedrer effektiviteten ved å hente dataene dine når du trenger noe.

Denne artikkelen fokuserer på DynamoDB-sorteringsnøkler. I tillegg til å diskutere hva DynamoDB-sorteringsnøkler er, vil vi også diskutere hvordan du setter og bruker dem.







Hva er DynamoDB-sorteringsnøkler og når er de anvendelige?

Sorteringsnøkler er attributter som brukes i DynamoDB for å organisere elementene i en partisjon. Vanligvis kan flere elementer ha lignende partisjonsnøkkelverdier, men har forskjellige sorteringsnøkkelverdier. Selvfølgelig støtter DynamoDB kun bruk av partisjonsnøkler og å kombinere både partisjonsnøkler og sorteringsnøkler i en enkelt tabell.



I slike tilfeller består primærnøkkelen av en partisjonsnøkkel og en sorteringsnøkkel, der verdiene deres er henholdsvis en produkt-ID og produkttype. Denne attributtkombinasjonen, kjent som en sammensatt nøkkel, gjør det enklere og mer effektivt å hente varene. Dessuten bruker partisjonsnøkkelen den interne HASH-funksjonen mens sorteringsnøkkelen bruker RANGE-funksjonen.



Trinn-for-trinn veiledning for hvordan du setter opp en sorteringsnøkkel i Dynamo DB Tables

Som med partisjonsnøkler, skjer det å lage DynamoDB-sorteringsnøkler mens du setter opp DynamoDB-tabellen. Begge tilfeller involverer å lage et nøkkelskjema først. Siden sorteringsnøkler ikke er uavhengige og fungerer sammen med partisjonsnøkler i den primære sammensatte nøkkelen eller hash-range-tastkombinasjonen, starter du med å lage en partisjonsnøkkel for tabellen din.





Trinn 1: Lag en partisjonsnøkkel for bordet ditt

Sorteringsnøkler har et direkte forhold til partisjonsnøkler. Og siden partisjonsnøkkelen er den mest dominerende i DynamoDB-arrangementet, start med å lage partisjonsnøkkelen etter å ha skrevet inn tabellnavnet. Du kan bruke følgende stenografisyntaks:

AttributName=string,KeyType=string ...

Attributttypen i stenografisyntaksen kan enten være en String(S), Number(N) eller Binær(B). Men hvis du synes stenografisyntaksen er tungvint i å sette partisjonsnøkkelen din, kan du bruke følgende JSON-syntaks:



[
{
'AttributeName': 'streng',
'KeyType': 'HASH'
}
...
]

Trinn 2: Legg til en sorteringsnøkkel

Fortsett for å legge til en sorteringsnøkkel ved å bruke følgende JSON-syntaks. En sorteringsnøkkel skal ikke være en ID. Bruk i stedet en attributt Type.

[
{
'AttributeName': 'streng',
'KeyType': 'RANGE'
}
...
]

Merk at vi brukte HASH-funksjonen når vi opprettet en DynamoDB-partisjonsnøkkel. Nå bruker vi RANGE-funksjonen når du setter opp DynamoDB-sorteringsnøkkelen.

I AWS Management Console har du alternativene for å legge til en sorteringsnøkkel, merke den som vist og legge til nøkkelen din. For eksempel kan vi ha kunde_ID eller ordre_ID som partisjonsnøkkel og fakturanummer som sorteringsnøkkel i en tabell for nye bestillinger.

Se følgende illustrasjon:

Det er viktig å merke seg at både partisjonsnøkkelen og sorteringsnøkkelattributtene kan være i form av en streng(S), nummer(N) eller binær(B).

I Java skal en musikktabell med både partisjonsnøkkel og sorteringsnøkkeloppføringer se slik ut:

pakke com.dynamoDbDemo.entity;
import com.amazonaws.services.dynamodbv2.datamodeling.*;

@DynamoDBTable(tableName = 'Musikk')
offentlig klasse musikk {
privat String Artist;
privat streng sangtittel;

@DynamoDBHashKey(attribute)
}

public void setSongTitle(String SongTitle) {
this.songTitle = sangtittel;
}

@DynamoDBRangeKey(attribute) // sorteringsnøkkel

public String getSongTitle() {
returner sangtittel;
}

public void setSongTitle(String songTitle) {
this.songTitle = sangtittel;
}

I de forrige kommandolinjene er DynamoDBTable Java-kommentaren som brukes for å tilordne en egenskap til tabellattributtet mens DynamoDBHashKey-kommentaren tilskriver en partisjonsnøkkel. På samme måte dedikerer DynamoDBRangeKey-annotering et element til sorteringsnøkkelattributtet. Du kan fortsette å legge til andre ikke-primære attributter til tabellen.

Konklusjon

Denne veiledningen diskuterer hvordan du setter opp en sorteringsnøkkel på en DynamoDB-tabell. Merk at du ikke kan endre sorteringsnøkkelattributtene dine når du først har opprettet dem. Igjen er det viktig å merke seg at DynamoDB bare vil spørre tabellene og indeksene dine ved å bruke en partisjonsnøkkel og en sorteringsnøkkel sammen. Du kan ikke bruke sorteringsnøklene alene for å spørre tabellene dine. Pass på at du spesifiserer partisjonsnøkkelen først.