Kuinka asettaa DynamoDB-osioavaimet

Kuinka Asettaa Dynamodb Osioavaimet



Minkä tahansa tietokannan tuottavuus riippuu tietojen saatavuudesta, koska kohteen etsiminen useista objekteista voi osoittautua hektiseksi. Usein tietokannan kyselyjen tekeminen on aina vakavasti otettava huomioon. Osioavaimet ovat ensisijaisia ​​sisääntulopisteitäsi DynamoDB:ssä aina, kun haluat tehdä erittäin tehokkaita kyselyitä.

Yleensä taulukoiden osioavaimet ovat yksilöllisiä. Näin ollen on mahdotonta sisältää kahta tai useampaa kohdetta samalla osioavaimella yhdessä taulukossa, mutta päinvastoin voi tapahtua, kun niitä käytetään indekseissä. Lisäksi osioavaimia on mahdotonta muuttaa, kun olet luonut taulukon, koska ne ovat muuttumattomia.







Tässä artikkelissa käsitellään osioavaimia. Keskitymme siihen, miksi tarvitset osioavaimia, ja parhaisiin käytäntöihin, joita sinun on noudatettava niitä asetettaessa. Lopuksi tarkastelemme, kuinka DynamoDB-osioavaimet ovat välttämättömiä.



Mikä on DynamoDB-osioavain ja miksi se on tärkeä?

Osioavain on yksinkertainen ensisijainen avain DynamoDB:ssä, joka koostuu usein yhdestä määritteestä. Jokaisella DynamoDB-taulukon kohteella on ainutlaatuinen osioavain, joka mahdollistaa nopeat ja tehokkaat kyselyprosessit.



Voit muodostaa kaksi attribuuttia sisältävän yhdistetyn ensisijaisen avaimen yhdistämällä ensisijaisen avaimen lajitteluavaimen kanssa. Kun niitä käytetään yhdessä, voit järjestää kaikki tiedot osioavaimen alle käyttämällä lajitteluavaimen arvoa.





Koska DynamoDB varaa tiedot attribuuttien ryhmittymänä, jota kutsutaan nimikkeiksi, attribuuteissa on ainutlaatuiset ensisijaiset arvoavaimet helppokäyttöisyyttä varten. Erityisesti DynamoDB:n kohteet ovat samanlaisia ​​kuin tietueet, kentät, sarakkeet tai rivit useimmissa tietokantajärjestelmissä.

Lisäksi DynamoDB mahdollistaa tietojen jakamisen jopa 10 Gt:n tallennusyksiköiden osioihin. Jokaisessa taulukossa voi siten olla yksi tai useampi osio. Voit käyttää osioavaimen arvoa syötteenä tietokannan sisäiseen hajautusfunktioon, ja hajautusfunktion tulos määrittää osion, johon kohde on tallennettu. Lisäksi kohteen sijainti määrittää osion, johon se tallennetaan.



Kuinka asettaa DynamoDB-osioavaimet

Osioavainten asettaminen voi olla ylämäkeen vaikea tehtävä, jos et ole vielä ymmärtänyt konseptia. Tämä prosessi voi kuitenkin olla helppo ja tehokas, kun olet kerännyt tarvittavat vinkit ja temput. Seuraavassa on joitain parhaita käytäntöjä osioavainten määrittämisessä:

1. Valitse oikeat osioavaimet

Osioavainten tyyppi määrittää tietojen kyselyn mukavuuden ja tehokkuuden. Ne ovat ensisijaisia ​​sisääntulokohtia tiedoissasi, ja kunkin sovelluksen käyttötapojen määrittäminen on kriittistä.

On suositeltavaa käyttää high-cardinality-attribuutteja, kun määrität DynamoDB-osioavaimia. High-cardinality-attribuutit sisältävät erilliset arvot kullekin tuotteelle, ja ne voivat sisältää työntekijän_tunnuksen, työntekijän_nro, tilaustunnus, emailid, asiakastunnus tai tilaustunnus.

2. Käytä PK:n nimeämiskäytäntöä

Osioavaimet käyttävät usein pk-nimeämiskäytäntöä. Tämä nimeämismenetelmä takaa tarkan nimeämismekanismin ilman erottelua esitetyn nimikkeen tyypin tai mallin perusteella.

Vaikka sinulla saattaa esimerkiksi olla houkutus käyttää postID- ja käyttäjätunnusta osioavaimina Post- ja User-malleille taulukossa, DynamoDB sallii vain yhden osioavaimen kullekin taulukolle. Näin ollen et voi käyttää kahta yhdessä taulukossa. Huomaa, että taulukoissa ilman lajitteluavaimia voi olla ID-osioavaimia.

3. Käytä komposiittiattribuutteja

Jotkut taulukot hyötyvät enemmän yhdistelmäavaimista. Toisin sanoen tarvitset enemmän kuin yhden määritteen ainutlaatuisten avainten muodostamiseen. Voit esimerkiksi kätevästi käyttää asiakastunnusta, maakoodia ja tuotetunnusta muodostamaan osioavaimen (asiakastunnus#maakoodi#tuotetunnus). Samanaikaisesti voit käyttää järjestystunnusta lajitteluavaimena.

4. Lisää satunnaisia ​​numeroita asianmukaisesti

Jos odotat valtavan määrän kirjoituksia jokaiselle avaimelle, lisäetuliitteellä tai -liitteellä tehostat raskaan käytön tapauksia. Voit esimerkiksi käyttää laskun numeroa satunnaislukujoukon rinnalla osioavaimena. Muista erottaa osioavaimen eri osat. Esimerkiksi InvoiceNumber#125656#0 osioavaimena on ihanteellinen kovaan käyttöön tuhansien kirjoitusten sekunnissa.

Luo DynamoDB-osioavain

Kuten lajitteluavaimet, osioavaimen luominen DynamoDB:ssä edellyttää avainskeeman luomista taulukkollesi. Tietenkin tämä tapahtuu, kun luot taulukon. Tämä edellyttää usein attribuutin kuvaamista käyttämällä määritteen nimeä attribuutin tyypin rinnalla. Seuraava syntaksi auttaa:

AttributeName=merkkijono,KeyType=merkkijono...

Annetussa syntaksissa attribuutin nimi on attribuutin todellinen nimi, kun taas attribuuttityyppi voi olla joko merkkijono (S), numero (N) tai binääri (B).

Voit myös käyttää JSON-syntaksia seuraavassa kuvatulla tavalla:

[

{

'AttributeName': 'string',

'KeyType': 'HASH'

}

...

]

Riippumatta siitä, minkä syntaksin valitset, attribuutin rooli saa HASH-funktion, koska olemme luomassa osioavainta. Päinvastoin, avaintyyppi olettaa RANGE-toiminnon luotaessa lajitteluavaimia.

Lopuksi on myös mahdollista vaihtaa osioavainta käyttämällä seuraavaa apuohjelmaa:

DynamoDBClient.updateItem({
'TableName': 'my Table_Name',
'Avain': {
'pk': {
'S': 'my_PartitionKey'
}
},
'UpdateExpression': 'SET #emailaddress = :sähköpostiosoite',
'ExpressionAttributeNames': {
'#email': 'sähköpostiosoite'
},
'ExpressionAttributeValues': {
':sähköpostiosoite': {
'S': ' [sähköposti suojattu] '
}
}
})

Annettu apuohjelma päivittää sähköpostimääritteesi näyttämään siltä, ​​mitä sinulla on [sähköposti suojattu] kohteelle, jossa osioavain (pk) on sama kuin my_PartitionKey.

Johtopäätös

DynamoDB-osioavaimia määritettäessä ei ole olemassa yhtä yleistä menetelmää. Osioavainten luominen ja käyttö riippuvat käyttötapauksesta. Lisäksi voit tutkia erilaisia ​​käytettävissä olevia lähestymistapoja ja löytää sopivimman sovellukseesi. Varmista, että noudatat annettuja ohjeita.