Hoe de DynamoDB-sorteersleutel in te stellen

Hoe De Dynamodb Sorteersleutel In Te Stellen



DynamoDB blijft in populariteit groeien vanwege zijn vermogen om de gegevens in tabellen te ordenen. Naast de tabellen heeft DynamoDB de primaire sleutels die helpen bij de bruikbaarheid van de database en het gemak dat gepaard gaat met het verwerken van de query's en scans via uw tabel of database.

Als u begrijpt hoe u de DynamoDB-sorteersleutels instelt bij het maken van tabellen, kunt u al een heel eind komen bij het organiseren van uw gegevens. Sterker nog, het verbetert de efficiëntie van het ophalen van uw gegevens wanneer u iets nodig heeft.

Dit artikel richt zich op DynamoDB-sorteersleutels. Naast het bespreken van wat DynamoDB-sorteersleutels zijn, zullen we ook bespreken hoe u ze kunt instellen en gebruiken.







Wat zijn DynamoDB-sorteersleutels en wanneer zijn ze van toepassing?

Sorteersleutels zijn attributen die in DynamoDB worden gebruikt om de items in een partitie te ordenen. Meestal kunnen verschillende items vergelijkbare partitiesleutelwaarden hebben, maar hebben ze verschillende sorteersleutelwaarden. Natuurlijk ondersteunt DynamoDB alleen het gebruik van de partitiesleutels en het combineren van zowel partitiesleutels als sorteersleutels in een enkele tabel.



In dergelijke gevallen bestaat de primaire sleutel uit een partitiesleutel en een sorteersleutel, met als waarden respectievelijk een productID en productType. Deze attribuutcombinatie, ook wel een samengestelde sleutel genoemd, maakt het ophalen van de items eenvoudiger en efficiënter. Bovendien gebruikt de partitiesleutel de interne HASH-functie, terwijl de sorteersleutel de RANGE-functie gebruikt.



Stapsgewijze handleiding voor het instellen van een sorteersleutel in Dynamo DB-tabellen

Net als bij partitiesleutels, gebeurt het maken van DynamoDB-sorteersleutels terwijl u de DynamoDB-tabel instelt. In beide gevallen moet eerst een sleutelschema worden gemaakt. Aangezien sorteersleutels niet onafhankelijk zijn en samenwerken met partitiesleutels in de primaire samengestelde sleutel of hash-bereiksleutelcombinatie, begint u met het maken van een partitiesleutel voor uw tabel.





Stap 1: maak een partitiesleutel voor uw tabel

Sorteersleutels hebben een directe relatie met partitiesleutels. En aangezien de partitiesleutel de meest dominante is in het DynamoDB-arrangement, begint u met het maken van de partitiesleutel na het invoeren van uw tabelnaam. U kunt de volgende verkorte syntaxis gebruiken:

AttributeName=string,KeyType=string ...

Het attribuuttype in de verkorte syntaxis kan een Tekenreeks(S), Getal(N) of Binair(B). Maar als u de verkorte syntaxis omslachtig vindt bij het instellen van uw partitiesleutel, kunt u de volgende JSON-syntaxis gebruiken:



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

Stap 2: voeg een sorteersleutel toe

Ga verder met het toevoegen van een sorteersleutel met behulp van de volgende JSON-syntaxis. Een sorteersleutel mag geen ID zijn. Gebruik in plaats daarvan een attribuut Type.

[
{
'AttributeName': 'tekenreeks',
'KeyType': 'BEREIK'
}
...
]

Merk op dat we de HASH-functie hebben gebruikt bij het maken van een DynamoDB-partitiesleutel. Nu gebruiken we de RANGE-functie bij het instellen van de DynamoDB-sorteersleutel.

In de AWS Management Console heeft u de opties om een ​​sorteersleutel toe te voegen, deze te markeren zoals weergegeven en uw sleutel toe te voegen. We kunnen bijvoorbeeld klant_ID of order_ID hebben als partitiesleutel en factuurnummer als sorteersleutel in een tabel voor Nieuwe bestellingen.

Raadpleeg de volgende illustratie:

Het is belangrijk op te merken dat zowel de partitiesleutel als de sorteersleutelattributen de vorm kunnen hebben van een string(s), number(n) of binary(b).

In Java zou een muziektabel met zowel partitiesleutel- als sorteersleutelvermeldingen er als volgt uit moeten zien:

pakket com.dynamoDbDemo.entity;
importeer com.amazonaws.services.dynamodbv2.datamodellering.*;

@DynamoDBTable(tableName = 'Muziek')
openbare les Muziek {
privé String Artiest;
privé String songTitel;

@DynamoDBHashKey(attribute)
}

openbare leegte setSongTitle(String SongTitle) {
deze.songTitle = songTitle;
}

@DynamoDBRangeKey(attribute) // sorteersleutel

openbare tekenreeks getSongTitle() {
geef songtitel terug;
}

openbare leegte setSongTitle(String songTitle) {
deze.songTitle = songTitle;
}

In de vorige opdrachtregels is DynamoDBTable de Java-annotatie die wordt gebruikt voor het toewijzen van een eigenschap aan het tabelkenmerk, terwijl de DynamoDBHashKey-annotatie een partitiesleutel toewijst. Evenzo wijst de annotatie DynamoDBRangeKey een item toe aan het sorteersleutelattribuut. U kunt doorgaan met het toevoegen van andere niet-primaire attributen aan uw tabel.

Conclusie

In deze handleiding wordt besproken hoe u een sorteersleutel instelt op een DynamoDB-tabel. Houd er rekening mee dat u uw sorteersleutelkenmerken niet meer kunt wijzigen nadat u ze hebt gemaakt. Nogmaals, het is essentieel op te merken dat DynamoDB uw tabellen en indexen alleen zal doorzoeken met behulp van een partitiesleutel en een sorteersleutel samen. U kunt niet alleen de sorteersleutels gebruiken om uw tabellen te doorzoeken. Zorg ervoor dat u eerst de partitiesleutel opgeeft.