Cum să setați cheile de partiție DynamoDB

Cum Sa Setati Cheile De Partitie Dynamodb



Productivitatea oricărei baze de date se bazează pe accesibilitatea datelor, deoarece căutarea unui articol din mai multe obiecte se poate dovedi agitată. De multe ori, modul în care interogați baza de date este întotdeauna o considerație serioasă. Cheile de partiție sunt punctele dvs. principale de intrare în DynamoDB ori de câte ori doriți să faceți interogări foarte eficiente.

De obicei, cheile de partiție din tabele sunt unice. Astfel, este imposibil să aveți două sau mai multe articole cu aceeași cheie de partiție într-un singur tabel, dar invers se poate întâmpla atunci când sunt utilizate în indecși. În plus, cheile de partiție sunt imposibil de schimbat odată ce creați un tabel, deoarece sunt imuabile.







Acest articol discută despre cheile de partiție. Ne vom concentra pe motivul pentru care aveți nevoie de cheile de partiție și pe cele mai bune practici de urmat atunci când le setați. În cele din urmă, vom analiza modul în care cheile de partiție DynamoDB sunt esențiale.



Ce este o cheie de partiție DynamoDB și de ce este importantă?

O cheie de partiție este o cheie primară simplă în DynamoDB, constând adesea dintr-un singur atribut. Fiecare element dintr-un tabel DynamoDB are o cheie de partiție unică pentru a activa procesele de interogare rapide și eficiente.



Puteți asocia o cheie primară cu o cheie de sortare pentru a crea o cheie primară compusă care să conțină două atribute. Când sunt utilizate împreună, puteți organiza toate datele sub o cheie de partiție folosind valoarea cheii de sortare.





Deoarece DynamoDB rezervă datele ca un consorțiu de atribute numite articole, atributele au chei unice de valoare primară pentru o accesibilitate ușoară. În special, elementele din DynamoDB sunt similare cu înregistrările, câmpurile, coloanele sau rândurile din majoritatea sistemelor de baze de date.

În plus, DynamoDB vă permite să distribuiți datele în partiții de până la 10 GB de unități de stocare. Prin urmare, fiecare tabel poate avea una sau mai multe partiții. Puteți utiliza valoarea unei chei de partiție ca intrare în funcția de hash internă a bazei de date, cu ieșirea din funcția de hash care determină partiția în care este stocat elementul. În plus, locația unui articol determină partiția în care este stocat.



Cum să setați cheile de partiție DynamoDB

Setarea cheilor de partiție poate fi o sarcină dificilă dacă încă nu înțelegeți conceptul. Cu toate acestea, acest proces poate fi ușor și eficient odată ce ați adunat sfaturile și trucurile necesare. Următoarele sunt câteva dintre cele mai bune practici de urmat atunci când configurați cheile de partiție:

1. Alegeți cheile de partiție potrivite

Tipul de chei de partiție determină comoditatea și eficiența interogării datelor dvs. Acestea sunt punctele principale de intrare pentru interogarea datelor dvs., iar definirea tiparelor de acces ale fiecărei aplicații este esențială.

Este recomandabil să utilizați atributele de cardinalitate ridicată atunci când configurați cheile de partiție DynamoDB. Atributele cu cardinalitate ridicată prezintă valori distincte pentru fiecare articol și pot include employee_id, employee_no, order_id, emailid, customerid sau orderid.

2. Utilizați convenția de denumire PK

Cheile de partiție folosesc adesea convenția de denumire pk. Această metodă de denumire garantează un mecanism de denumire precis, fără discriminare în funcție de tipul sau modelul de articol reprezentat.

De exemplu, deși ați putea fi tentat să utilizați ID-ul postului și ID-ul utilizatorului ca chei de partiție pentru modelele Post și User într-un tabel, DynamoDB permite doar o cheie de partiție pentru fiecare tabel. Astfel, nu puteți folosi două într-un singur tabel. Rețineți că tabelele fără chei de sortare pot avea chei de partiție ID.

3. Utilizați atribute compuse

Unele tabele beneficiază mai mult de cheile compuse. Adică, aveți nevoie de mai mult de un singur atribut pentru a forma cheile unice. De exemplu, puteți utiliza comod client_ID, country_code și product_ID pentru a forma o cheie de partiție (customerid#countrycode#productid). În același timp, puteți utiliza order_id ca cheie de sortare.

4. Adăugați numere aleatorii în mod corespunzător

Dacă vă așteptați la un volum enorm de scrieri pentru fiecare tastă, folosirea unui prefix sau sufix suplimentar face cazurile de utilizare intensă mai eficiente. De exemplu, puteți utiliza numărul facturii alături de un set de numere aleatorii ca cheie de partiție. Nu uitați să separați diferitele secțiuni ale cheii de partiție. De exemplu, InvoiceNumber#125656#0 ca cheie de partiție este ideală pentru utilizare intensă, cu mii de scrieri pe secundă.

Creați o cheie de partiție DynamoDB

La fel ca cheile de sortare, crearea unei chei de partiție în DynamoDB implică crearea unei scheme de cheie pentru tabelul dvs. Desigur, acest lucru se întâmplă atunci când creați un tabel. Aceasta implică adesea descrierea atributului dvs. folosind numele atributului alături de tipul de atribut. Următoarea sintaxă va ajuta:

AttributeName=șir,KeyType=șir...

În sintaxa dată, numele atributului este numele real al atributului, în timp ce tipul de atribut poate fi fie un șir (S), un număr (N) sau un binar (B).

De asemenea, puteți alege să utilizați o sintaxă JSON, așa cum se arată în următoarele:

[

{

„AttributeName”: „șir”,

„KeyType”: „HASH”

}

...

]

Indiferent de sintaxa pe care o alegeți, rolul atributului își asumă funcția HASH deoarece creăm o cheie de partiție. Dimpotrivă, tipul de cheie își asumă o funcție RANGE la crearea cheilor de sortare.

În cele din urmă, este posibil să schimbați o cheie de partiție folosind următorul utilitar:

DynamoDBClient.updateItem({
„TableName”: „myTable_Name”,
„Cheie”: {
„pk”: {
'S': 'my_PartitionKey'
}
},
„UpdateExpression”: „SET #emailaddress = :emailaddress”,
„ExpressionAttributeNames”: {
'#email': 'adresă de e-mail'
},
„ExpressionAttributeValues”: {
':Adresa de e-mail': {
'S': ' [e-mail protejat] '
}
}
})

Utilitarul dat vă actualizează atributul de e-mail pentru a arăta ca ceea ce aveți în [e-mail protejat] pentru elementul în care cheia de partiție (pk) este egală cu my_PartitionKey.

Concluzie

Când configurați cheile de partiție DynamoDB, nu există o metodă universală unică. Crearea și utilizarea cheilor de partiție depind de cazul de utilizare. În plus, puteți analiza diferitele abordări disponibile și puteți găsi cea mai potrivită pentru aplicația dvs. Asigurați-vă că respectați instrucțiunile date.