Kako nastaviti particijske ključe DynamoDB

Kako Nastaviti Particijske Kljuce Dynamodb



Produktivnost katere koli zbirke podatkov je odvisna od dostopnosti podatkov, saj se lahko iskanje predmeta iz več predmetov izkaže za naporno. Pogosto je način poizvedovanja po zbirki podatkov vedno resen dejavnik. Particijski ključi so vaše primarne vstopne točke v DynamoDB, kadar koli želite narediti zelo učinkovite poizvedbe.

Običajno so particijski ključi v tabelah edinstveni. Tako je v eni tabeli nemogoče imeti dva ali več elementov z istim particijskim ključem, vendar se lahko pri uporabi v indeksih zgodi obratno. Poleg tega particijskih ključev ni mogoče spremeniti, ko ustvarite tabelo, saj so nespremenljivi.







Ta članek obravnava particijske ključe. Osredotočili se bomo na to, zakaj potrebujete particijske ključe in na najboljše prakse, ki jih morate upoštevati pri njihovem nastavljanju. Nazadnje si bomo ogledali, kako so particijski ključi DynamoDB bistveni.



Kaj je ključ particije DynamoDB in zakaj je pomemben?

Particijski ključ je preprost primarni ključ v DynamoDB, ki je pogosto sestavljen iz enega samega atributa. Vsaka postavka v tabeli DynamoDB ima edinstven particijski ključ, ki omogoča hitre in učinkovite procese poizvedb.



Primarni ključ lahko združite s ključem za razvrščanje, da ustvarite sestavljeni primarni ključ, ki vsebuje dva atributa. Če jih uporabljate skupaj, lahko organizirate vse podatke pod particijskim ključem z uporabo vrednosti ključa za razvrščanje.





Ker DynamoDB rezervira podatke kot konzorcij atributov, imenovanih postavke, imajo atributi edinstvene primarne vrednostne ključe za enostavno dostopnost. Predvsem elementi v DynamoDB so podobni zapisom, poljem, stolpcem ali vrsticam v večini sistemov baz podatkov.

Poleg tega DynamoDB omogoča distribucijo podatkov v particije do 10 GB pomnilniških enot. Vsaka tabela ima torej lahko eno ali več particij. Vrednost particijskega ključa lahko uporabite kot vhod v notranjo zgoščevalno funkcijo baze podatkov, z izhodom iz zgoščevalne funkcije, ki določa particijo, v kateri je shranjen element. Poleg tega lokacija predmeta določa particijo, v kateri je shranjen.



Kako nastaviti particijske ključe DynamoDB

Nastavitev particijskih ključev je lahko težka naloga, če še ne razumete koncepta. Vendar pa je ta postopek lahko enostaven in učinkovit, ko zberete potrebne nasvete in trike. Sledi nekaj najboljših praks, ki jih morate upoštevati pri nastavljanju particijskih ključev:

1. Izberite prave particijske ključe

Vrsta particijskih ključev določa priročnost in učinkovitost poizvedovanja po vaših podatkih. So primarne vstopne točke za poizvedovanje po vaših podatkih in definiranje vzorcev dostopa vsake aplikacije je ključnega pomena.

Pri nastavljanju particijskih ključev DynamoDB je priporočljivo uporabiti atribute visoke kardinalnosti. Atributi z visoko kardinalnostjo imajo različne vrednosti za vsako postavko in lahko vključujejo Emploee_id, Emploee_no, order_id, emailid, customerid ali orderid.

2. Uporabite konvencijo poimenovanja PK

Particijski ključi pogosto uporabljajo konvencijo poimenovanja pk. Ta metoda poimenovanja zagotavlja natančen mehanizem poimenovanja brez diskriminacije glede na predstavljeno vrsto ali model predmeta.

Čeprav vas bo na primer morda zamikalo, da bi uporabili postID in userID kot particijska ključa za modele Post in User v tabeli, DynamoDB dovoljuje samo en particijski ključ za vsako tabelo. Tako ne morete uporabiti dveh v eni tabeli. Upoštevajte, da imajo lahko tabele brez ključev za razvrščanje ID particijske ključe.

3. Uporabite sestavljene atribute

Nekatere tabele imajo več koristi od sestavljenih ključev. To pomeni, da potrebujete več kot en atribut za oblikovanje edinstvenih ključev. Na primer, lahko priročno uporabite customer_ID, country_code in product_ID za oblikovanje particijskega ključa (customerid#countrycode#productid). Istočasno lahko uporabite order_id kot ključ za razvrščanje.

4. Ustrezno dodajte naključna števila

Če pričakujete ogromno količino pisanja za vsako tipko, bo uporaba dodatne predpone ali pripone naredila primere težke uporabe učinkovitejše. Številko računa lahko na primer uporabite poleg nabora naključnih števil kot svoj particijski ključ. Ne pozabite ločiti različnih razdelkov particijskega ključa. Na primer, InvoiceNumber#125656#0 kot particijski ključ je idealen za intenzivno uporabo z več tisoč zapisi na sekundo.

Ustvarite ključ particije DynamoDB

Tako kot ključi za razvrščanje tudi ustvarjanje particijskega ključa v DynamoDB vključuje ustvarjanje sheme ključev za vašo tabelo. Seveda se to zgodi, ko ustvarite tabelo. To pogosto vključuje opis vašega atributa z uporabo imena atributa poleg vrste atributa. V pomoč bo naslednja sintaksa:

AttributeName=niz,KeyType=niz ...

V dani sintaksi je ime atributa dejansko ime atributa, medtem ko je vrsta atributa lahko niz (S), število (N) ali dvojiško (B).

Izberete lahko tudi uporabo sintakse JSON, kot je prikazano v nadaljevanju:

[

{

'AttributeName': 'niz',

'KeyType': 'HASH'

}

...

]

Ne glede na to, katero sintakso izberete, vloga atributa prevzame funkcijo HASH, ker ustvarjamo particijski ključ. Nasprotno, tip ključa prevzame funkcijo RANGE pri ustvarjanju ključev za razvrščanje.

Končno je možno tudi spremeniti particijski ključ z naslednjim pripomočkom:

DynamoDBClient.updateItem({
'TableName': 'myTable_Name',
'Ključ': {
'pk': {
'S': 'my_PartitionKey'
}
},
'UpdateExpression': 'SET #emailaddress = :emailaddress',
'ExpressionAttributeNames': {
'#email': 'e-poštni naslov'
},
'ExpressionAttributeValues': {
':email naslov': {
'S': ' [email protected] '
}
}
})

Dani pripomoček posodobi vaš e-poštni atribut, da bo videti kot tisto, kar imate v [email protected] za element, kjer je particijski ključ (pk) enak my_PartitionKey.

Zaključek

Pri nastavljanju particijskih ključev DynamoDB ni enotne univerzalne metode. Ustvarjanje in uporaba particijskih ključev sta odvisna od primera uporabe. Poleg tega si lahko ogledate različne pristope, ki so na voljo, in poiščete najprimernejšega za vašo aplikacijo. Prepričajte se, da se držite navedenih smernic.