Sådan indstilles DynamoDB-sorteringsnøglen

Sadan Indstilles Dynamodb Sorteringsnoglen



DynamoDB fortsætter med at vokse i popularitet for sin evne til at organisere dataene i tabeller. Ud over tabellerne har DynamoDB de primære nøgler, der hjælper med brugbarheden af ​​databasen og den bekvemmelighed, der følger med at behandle forespørgsler og scanninger gennem din tabel eller database.

At forstå, hvordan du indstiller DynamoDB-sorteringsnøglerne, når du opretter tabeller, hjælper dig langt med at organisere dine data. Endnu mere forbedrer det effektiviteten af ​​at hente dine data, når du har brug for noget.

Denne artikel fokuserer på DynamoDB-sorteringsnøgler. Udover at diskutere, hvad DynamoDB-sorteringsnøgler er, vil vi også diskutere, hvordan man indstiller og bruger dem.







Hvad er DynamoDB-sorteringsnøgler, og hvornår er de anvendelige?

Sorteringsnøgler er attributter, der bruges i DynamoDB til at organisere elementerne i en partition. Typisk kan flere elementer have lignende partitionsnøgleværdier, men have forskellige sorteringsnøgleværdier. DynamoDB understøtter selvfølgelig kun at bruge partitionsnøglerne og kombinere både partitionsnøgler og sorteringsnøgler i en enkelt tabel.



I sådanne tilfælde består den primære nøgle af en partitionsnøgle og en sorteringsnøgle, hvor deres værdier er henholdsvis et produkt-id og en produkttype. Denne attributkombination, kendt som en sammensat nøgle, gør det nemmere og mere effektivt at hente varerne. Desuden bruger partitionsnøglen den interne HASH-funktion, mens sorteringsnøglen bruger RANGE-funktionen.



Trin-for-trin guide til, hvordan du opsætter en sorteringsnøgle i Dynamo DB Tables

Ligesom med partitionsnøgler, sker oprettelse af DynamoDB-sorteringsnøgler, mens du opsætter DynamoDB-tabellen. Begge tilfælde involverer først at oprette et nøgleskema. Da sorteringsnøgler ikke er uafhængige og fungerer sammen med partitionsnøgler i den primære sammensatte nøgle eller hash-område nøglekombination, starter du med at oprette en partitionsnøgle til din tabel.





Trin 1: Opret en partitionsnøgle til din tabel

Sorteringsnøgler har et direkte forhold til partitionsnøgler. Og da partitionsnøglen er den mest dominerende i DynamoDB-arrangementet, start med at oprette partitionsnøglen efter at have indtastet dit tabelnavn. Du kan bruge følgende stenografisyntaks:

AttributName=string,KeyType=string ...

Attributtypen i stenografisyntaksen kan enten være en Streng(S), Tal(N) eller Binær(B). Men hvis du finder den stenografiske syntaks besværlig ved indstilling af din partitionsnøgle, kan du bruge følgende JSON-syntaks:



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

Trin 2: Tilføj en sorteringsnøgle

Fortsæt med at tilføje en sorteringsnøgle ved hjælp af følgende JSON-syntaks. En sorteringsnøgle bør ikke være et id. Brug i stedet en attribut Type.

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

Bemærk, at vi brugte HASH-funktionen, når vi oprettede en DynamoDB-partitionsnøgle. Nu bruger vi RANGE-funktionen, når vi opsætter DynamoDB-sorteringsnøglen.

I AWS Management Console har du mulighed for at tilføje en sorteringsnøgle, markere den som vist og tilføje din nøgle. For eksempel kan vi have kunde_ID eller ordre_ID som partitionsnøgle og fakturanummer som sorteringsnøgle i en tabel for Nye Ordrer.

Se følgende illustration:

Det er vigtigt at bemærke, at både partitionsnøglen og sorteringsnøgleattributterne kan være i form af en streng(S), tal(N) eller binær(B).

I Java skal en musiktabel med både partitionsnøgle og sorteringsnøgleposter se sådan ud:

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

@DynamoDBTable(tableName = 'Musik')
offentlig klasse musik {
privat Strygekunstner;
privat Streng sangTitel;

@DynamoDBHashKey(attribute)
}

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

@DynamoDBRangeKey(attribute) // sorteringsnøgle

public String getSongTitle() {
returnere sangtitel;
}

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

I de foregående kommandolinjer er DynamoDBTable Java-annotationen, som bruges til at tilknytte en egenskab til tabelattributten, mens DynamoDBHashKey-annotationen tilskriver en partitionsnøgle. På samme måde dedikerer DynamoDBRangeKey-annotationen et element til sorteringsnøgleattributten. Du kan fortsætte med at tilføje andre ikke-primære attributter til din tabel.

Konklusion

Denne vejledning diskuterer, hvordan man opsætter en sorteringsnøgle på en DynamoDB-tabel. Bemærk, at du ikke kan ændre dine sorteringsnøgleattributter, når du først har oprettet dem. Igen er det vigtigt at bemærke, at DynamoDB kun vil forespørge dine tabeller og indekser ved hjælp af en partitionsnøgle og en sorteringsnøgle sammen. Du kan ikke bruge sorteringstasterne alene til at forespørge i dine tabeller. Sørg for at angive partitionsnøglen først.