Kako postaviti ključeve particije DynamoDB

Kako Postaviti Kljuceve Particije Dynamodb



Produktivnost bilo koje baze podataka ovisi o dostupnosti podataka budući da se traženje stavke iz nekoliko objekata može pokazati užurbanim. Često se ozbiljno razmatra kako postavljate upite bazi podataka. Ključevi particije su vaše primarne ulazne točke u DynamoDB kad god želite napraviti vrlo učinkovite upite.

Obično su ključevi particije u tablicama jedinstveni. Dakle, nemoguće je imati dvije ili više stavki s istim particijskim ključem u jednoj tablici, ali obrnuto se može dogoditi kada se koristi u indeksima. Osim toga, ključeve particije nemoguće je promijeniti nakon što kreirate tablicu jer su nepromjenjivi.







Ovaj članak govori o ključevima particije. Usredotočit ćemo se na to zašto su vam potrebni particijski ključevi i najbolje prakse kojih se trebate pridržavati prilikom njihovog postavljanja. Konačno, pogledat ćemo koliko su ključevi particije DynamoDB bitni.



Što je ključ particije DynamoDB i zašto je važan?

Ključ particije je jednostavan primarni ključ u DynamoDB-u, koji se često sastoji od jednog atributa. Svaka stavka u DynamoDB tablici ima jedinstveni particijski ključ koji omogućuje brze i učinkovite procese upita.



Možete upariti primarni ključ s ključem za sortiranje kako biste napravili kompozitni primarni ključ koji sadrži dva atributa. Kada se koriste zajedno, možete organizirati sve podatke pod particijskim ključem pomoću vrijednosti ključa sortiranja.





Budući da DynamoDB rezervira podatke kao konzorcij atributa koji se nazivaju stavke, atributi imaju jedinstvene ključeve primarne vrijednosti za laku dostupnost. Naime, stavke u DynamoDB-u slične su zapisima, poljima, stupcima ili redovima u većini sustava baza podataka.

Nadalje, DynamoDB vam omogućuje distribuciju podataka u particije do 10 GB jedinica za pohranu. Svaka tablica stoga može imati jednu ili više particija. Možete koristiti vrijednost particijskog ključa kao ulaz u internu hash funkciju baze podataka, s izlazom iz hash funkcije koja određuje particiju u kojoj je stavka pohranjena. Osim toga, mjesto stavke određuje particiju u kojoj je pohranjena.



Kako postaviti ključeve particije DynamoDB

Postavljanje ključeva particije može biti težak zadatak ako tek trebate razumjeti koncept. Međutim, ovaj proces može biti jednostavan i učinkovit nakon što prikupite potrebne savjete i trikove. Slijede neki od najboljih postupaka kojih se trebate pridržavati prilikom postavljanja ključeva particije:

1. Odaberite prave ključeve particije

Vrsta particijskog ključa određuje pogodnost i učinkovitost postavljanja upita vašim podacima. Oni su primarne ulazne točke za upite vaših podataka, a definiranje obrazaca pristupa svake aplikacije je ključno.

Preporučljivo je koristiti atribute visoke kardinalnosti prilikom postavljanja ključeva particije DynamoDB. Atributi visoke kardinalnosti imaju različite vrijednosti za svaku stavku i mogu uključivati ​​employee_id, Emploee_no, order_id, emailid, customerid ili orderid.

2. Koristite PK konvenciju o imenovanju

Ključevi particije često koriste konvenciju imenovanja pk. Ova metoda imenovanja jamči precizan mehanizam imenovanja bez diskriminacije na temelju vrste ili modela predstavljene stavke.

Na primjer, dok biste mogli biti u iskušenju da koristite postID i userID kao particijske ključeve za modele Post i User u tablici, DynamoDB dopušta samo jedan particijski ključ za svaku tablicu. Stoga ne možete koristiti dva u jednoj tablici. Imajte na umu da tablice bez ključeva sortiranja mogu imati ID particijske ključeve.

3. Koristite složene atribute

Neke tablice imaju više koristi od složenih ključeva. To znači da vam je potrebno više od jednog atributa za formiranje jedinstvenih ključeva. Na primjer, možete jednostavno koristiti customer_ID, country_code i product_ID za formiranje particijskog ključa (customerid#countrycode#productid). Istodobno, možete koristiti order_id kao ključ sortiranja.

4. Dodajte nasumične brojeve na odgovarajući način

Ako očekujete ogromnu količinu pisanja za svaki ključ, upotreba dodatnog prefiksa ili sufiksa učinit će slučajeve teške upotrebe učinkovitijima. Na primjer, možete koristiti broj fakture zajedno sa skupom nasumičnih brojeva kao svoj particijski ključ. Ne zaboravite odvojiti različite odjeljke particijskog ključa. Na primjer, InvoiceNumber#125656#0 kao particijski ključ idealan je za intenzivnu upotrebu s tisućama pisanja u sekundi.

Stvorite ključ particije DynamoDB

Poput ključeva za sortiranje, stvaranje particijskog ključa u DynamoDB-u uključuje stvaranje sheme ključeva za vašu tablicu. Naravno, to se događa kada kreirate tablicu. To često uključuje opisivanje vašeg atributa pomoću naziva atributa uz vrstu atributa. Sljedeća sintaksa će pomoći:

AttributeName=niz,KeyType=niz ...

U zadanoj sintaksi naziv atributa je stvarni naziv atributa dok tip atributa može biti Niz(S), Broj(N) ili Binarni(B).

Također možete odabrati korištenje JSON sintakse kao što je prikazano u nastavku:

[

{

'Naziv atributa': 'niz',

'KeyType': 'HASH'

}

...

]

Koju god sintaksu odabrali, uloga atributa preuzima funkciju HASH jer stvaramo particijski ključ. Naprotiv, tip ključa pretpostavlja funkciju RANGE prilikom kreiranja ključeva sortiranja.

Konačno, također je moguće promijeniti ključ particije pomoću sljedećeg uslužnog programa:

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

Navedeni uslužni program ažurira vaš atribut e-pošte da izgleda kao ono što imate u [email protected] za stavku gdje je particijski ključ (pk) jednak my_PartitionKey.

Zaključak

Prilikom postavljanja ključeva particije DynamoDB ne postoji jedinstvena univerzalna metoda. Stvaranje i korištenje particijskih ključeva ovisi o slučaju upotrebe. Osim toga, možete pogledati različite dostupne pristupe i pronaći najprikladniji za svoju primjenu. Pobrinite se da se pridržavate danih smjernica.