DynamoDB-lajitteluavaimen asettaminen

Dynamodb Lajitteluavaimen Asettaminen



DynamoDB:n suosio kasvaa edelleen kyvystään järjestää tiedot taulukoihin. Taulukoiden lisäksi DynamoDB:ssä on ensisijaiset avaimet, jotka auttavat tietokannan käytettävyyttä ja mukavuutta, joka liittyy kyselyjen ja taulukon tai tietokannan skannausten käsittelyyn.

DynamoDB-lajitteluavainten asettamisen ymmärtäminen taulukoita luotaessa auttaa sinua järjestämään tietojasi. Vielä enemmän se tehostaa tietojen hakemista aina, kun tarvitset jotain.

Tämä artikkeli keskittyy DynamoDB-lajitteluavaimiin. Sen lisäksi, että keskustelemme siitä, mitä DynamoDB-lajitteluavaimet ovat, keskustelemme myös niiden asettamisesta ja käytöstä.







Mitä ovat DynamoDB-lajitteluavaimet ja milloin niitä voidaan soveltaa?

Lajitteluavaimet ovat attribuutteja, joita käytetään DynamoDB:ssä osion kohteiden järjestämiseen. Yleensä useilla kohteilla voi olla samanlaiset osioavainarvot, mutta niillä on erilaiset lajitteluavaimen arvot. Tietysti DynamoDB tukee vain osioavainten käyttöä ja sekä osioavainten että lajitteluavainten yhdistämistä yhteen taulukkoon.



Tällaisissa tapauksissa ensisijainen avain koostuu osioavaimesta ja lajitteluavaimesta, joiden arvot ovat vastaavasti productID ja productType. Tämä yhdistelmäavaimena tunnettu attribuuttiyhdistelmä tekee kohteiden hakemisesta helpompaa ja tehokkaampaa. Lisäksi osioavain käyttää sisäistä HASH-toimintoa, kun taas lajitteluavain käyttää RANGE-toimintoa.



Vaiheittainen opas lajitteluavaimen määrittämiseen Dynamo DB -taulukoissa

Kuten osioavainten kanssa, DynamoDB-lajitteluavainten luominen tapahtuu DynamoDB-taulukon määrittämisen yhteydessä. Molemmissa tapauksissa luodaan ensin avainskeema. Koska lajitteluavaimet eivät ole itsenäisiä ja toimivat yhdessä osioavainten kanssa ensisijaisessa yhdistelmäavaimessa tai hajautusalueen näppäinyhdistelmässä, aloitat luomalla osioavaimen taulukkollesi.





Vaihe 1: Luo osioavain taulukollesi

Lajitteluavaimet ovat suorassa yhteydessä osioavaimiin. Ja koska osioavain on hallitsevin DynamoDB-järjestelyssä, aloita luomalla osioavain taulukon nimen syöttämisen jälkeen. Voit käyttää seuraavaa lyhennettyä syntaksia:

AttributeName=merkkijono,KeyType=merkkijono...

Attribuuttityyppi lyhennetyssä syntaksissa voi olla joko a Merkkijono(S), Numero(N) tai Binääri(B). Mutta jos osioavaimen asettaminen on lyhennetyn syntaksin mielestä hankalaa, voit käyttää seuraavaa JSON-syntaksia:



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

Vaihe 2: Lisää lajitteluavain

Jatka lajitteluavaimen lisäämistä käyttämällä seuraavaa JSON-syntaksia. Lajitteluavaimen ei tulisi olla tunnus. Käytä sen sijaan attribuuttityyppiä.

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

Huomaa, että käytimme HASH-funktiota luodessasi DynamoDB-osioavainta. Nyt käytämme RANGE-toimintoa DynamoDB-lajitteluavaimen määrittämisessä.

AWS-hallintakonsolissa voit lisätä lajitteluavaimen, merkitä sen kuvatulla tavalla ja lisätä avaimesi. Meillä voi olla esimerkiksi asiakastunnus tai tilaustunnus osioavaimena ja laskun_numero lajitteluavaimena Uusien tilausten taulukossa.

Katso seuraavaa kuvaa:

On tärkeää huomata, että sekä osioavain että lajitteluavaimen attribuutit voivat olla merkkijono(S), numero(N) tai binaari(B) muodossa.

Javassa musiikkitaulukon, jossa on sekä osio- että lajitteluavainmerkinnät, pitäisi näyttää tältä:

paketti com.dynamoDbDemo.entity;
tuonti com.amazonaws.services.dynamodbv2.datamodeling.*;

@DynamoDBTable(tableName = 'Musiikki')
julkinen luokka Musiikki {
yksityinen String Artist;
yksityinen String kappaleen otsikko;

@DynamoDBHashKey(attribute)
}

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

@DynamoDBRangeKey(attribute) // lajitteluavain

public String getSongTitle() {
palauta kappaleen otsikko;
}

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

Edellisillä komentoriveillä DynamoDBTable on Java-merkintä, jota käytetään ominaisuuden yhdistämiseen taulukkomääritteeseen, kun taas DynamoDBHashKey-merkintä määrittää osioavaimen. Samoin DynamoDBRangeKey-merkintä omistaa kohteen lajitteluavainattribuutille. Voit jatkaa muiden ei-ensisijaisten attribuuttien lisäämistä taulukkoosi.

Johtopäätös

Tässä oppaassa käsitellään lajitteluavaimen määrittämistä DynamoDB-taulukossa. Huomaa, että et voi muuttaa lajitteluavaimen määritteitä, kun olet luonut ne. Jälleen on tärkeää huomata, että DynamoDB tekee kyselyitä taulukoistasi ja indekseistäsi vain käyttämällä osioavainta ja lajitteluavainta yhdessä. Et voi käyttää lajittelunäppäimiä yksin taulukoidesi kyselyyn. Varmista, että määrität ensin osioavaimen.