Hur man ställer in DynamoDB-sorteringsnyckeln

Hur Man Staller In Dynamodb Sorteringsnyckeln



DynamoDB fortsätter att växa i popularitet för sin förmåga att organisera data i tabeller. Utöver tabellerna har DynamoDB de primära nycklarna som hjälper till med databasens användbarhet och bekvämligheten som kommer med att bearbeta frågorna och genomsöka din tabell eller databas.

Att förstå hur du ställer in DynamoDB-sorteringsnycklarna när du skapar tabeller hjälper dig att organisera dina data långt. Ännu mer, det förbättrar effektiviteten för att hämta dina data när du behöver något.

Den här artikeln fokuserar på DynamoDB-sorteringsnycklar. Förutom att diskutera vad DynamoDB-sorteringsnycklar är, kommer vi också att diskutera hur man ställer in och använder dem.







Vad är DynamoDB-sorteringsnycklar och när är de tillämpliga?

Sorteringsnycklar är attribut som används i DynamoDB för att organisera objekten i en partition. Vanligtvis kan flera objekt ha liknande partitionsnyckelvärden men har olika sorteringsnyckelvärden. Naturligtvis stöder DynamoDB att endast använda partitionsnycklarna och kombinera både partitionsnycklar och sorteringsnycklar i en enda tabell.



I sådana fall består primärnyckeln av en partitionsnyckel och en sorteringsnyckel, med deras värden ett produkt-ID respektive produkttyp. Denna attributkombination, känd som en sammansatt nyckel, gör det enklare och mer effektivt att hämta objekten. Dessutom använder partitionsnyckeln den interna HASH-funktionen medan sorteringsnyckeln använder RANGE-funktionen.



Steg-för-steg-guide om hur man ställer in en sorteringsnyckel i Dynamo DB-tabeller

Precis som med partitionsnycklar, skapas DynamoDB-sorteringsnycklar när du ställer in DynamoDB-tabellen. Båda fallen innebär att först skapa ett nyckelschema. Eftersom sorteringsnycklar inte är oberoende och fungerar tillsammans med partitionsnycklar i den primära sammansatta nyckeln eller hash-intervall nyckelkombinationen, börjar du med att skapa en partitionsnyckel för din tabell.





Steg 1: Skapa en partitionsnyckel för din tabell

Sorteringsnycklar har en direkt relation med partitionsnycklar. Och eftersom partitionsnyckeln är den mest dominerande i DynamoDB-arrangemanget, börja med att skapa partitionsnyckeln efter att ha angett ditt tabellnamn. Du kan använda följande stenografisyntax:

AttributName=sträng,KeyType=sträng ...

Attributtypen i stenografisyntaxen kan antingen vara en Sträng(S), Tal(N) eller Binär(B). Men om du tycker att stenografisyntaxen är besvärlig när du ställer in din partitionsnyckel, kan du använda följande JSON-syntax:



[
{
'AttributeName': 'sträng',
'KeyType': 'HASH'
}
...
]

Steg 2: Lägg till en sorteringsnyckel

Fortsätt för att lägga till en sorteringsnyckel med följande JSON-syntax. En sorteringsnyckel ska inte vara ett ID. Använd istället ett attribut Typ.

[
{
'AttributeName': 'sträng',
'KeyType': 'RANGE'
}
...
]

Observera att vi använde HASH-funktionen när vi skapade en DynamoDB-partitionsnyckel. Nu använder vi RANGE-funktionen när vi ställer in DynamoDB-sorteringsnyckeln.

I AWS Management Console har du alternativen för att lägga till en sorteringsnyckel, markera den som visas och lägga till din nyckel. Till exempel kan vi ha kund_ID eller order_ID som partitionsnyckel och fakturanummer som sorteringsnyckel i en tabell för Nya order.

Se följande illustration:

Det är viktigt att notera att både partitionsnyckeln och sorteringsnyckelattributen kan vara i form av en String(S), Number(N) eller Binary(B).

I Java bör en musiktabell med både partitionsnyckel- och sorteringsnyckelposter se ut så här:

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

@DynamoDBTable(tabellnamn = 'Musik')
offentlig klass Musik {
privat stråkartist;
privat String songTitle;

@DynamoDBHashKey(attribute)
}

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

@DynamoDBRangeKey(attribute) // sorteringsnyckel

public String getSongTitle() {
returnera låttitel;
}

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

På de föregående kommandoraderna är DynamoDBTable Java-anteckningen som används för att mappa en egenskap till tabellattributet medan DynamoDBHashKey-anteckningen tillskriver en partitionsnyckel. På liknande sätt dedikerar DynamoDBRangeKey-anteckningen ett objekt till sorteringsnyckelattributet. Du kan fortsätta att lägga till andra icke-primära attribut till din tabell.

Slutsats

Den här guiden diskuterar hur man ställer in en sorteringsnyckel på en DynamoDB-tabell. Observera att du inte kan ändra dina sorteringsnyckelattribut när du väl har skapat dem. Återigen är det viktigt att notera att DynamoDB endast kommer att fråga dina tabeller och index med hjälp av en partitionsnyckel och en sorteringsnyckel tillsammans. Du kan inte använda sorteringsnycklarna ensamma för att fråga dina tabeller. Se till att du anger partitionsnyckeln först.