Å 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.