Kaip nustatyti „DynamoDB“ skaidinių raktus

Kaip Nustatyti Dynamodb Skaidiniu Raktus



Bet kurios duomenų bazės produktyvumas priklauso nuo duomenų prieinamumo, nes elemento paieška iš kelių objektų gali pasirodyti įtempta. Dažnai rimtai atsižvelgiama į tai, kaip pateikti užklausą duomenų bazėje. Skirstynių raktai yra pagrindiniai įvesties taškai „DynamoDB“, kai norite pateikti labai efektyvias užklausas.

Paprastai lentelių skirsnių raktai yra unikalūs. Taigi vienoje lentelėje neįmanoma turėti dviejų ar daugiau elementų su tuo pačiu skaidinio raktu, tačiau gali nutikti atvirkščiai, kai jie naudojami indeksuose. Be to, skaidinių raktų neįmanoma pakeisti, kai sukuriate lentelę, nes jie yra nekintami.







Šiame straipsnyje aptariami skaidinių raktai. Mes sutelksime dėmesį į tai, kodėl jums reikia skaidinių raktų, ir į geriausią praktiką, kurios reikia laikytis nustatant juos. Galiausiai išnagrinėsime, kaip svarbūs „DynamoDB“ skaidinio raktai.



Kas yra „DynamoDB“ skaidinio raktas ir kodėl jis svarbus?

Skirsnio raktas yra paprastas pirminis DynamoDB raktas, dažnai susidedantis iš vieno atributo. Kiekvienas DynamoDB lentelės elementas turi unikalų skaidinio raktą, leidžiantį greitai ir efektyviai atlikti užklausų procesus.



Galite susieti pirminį raktą su rūšiavimo raktu, kad sudarytumėte sudėtinį pirminį raktą su dviem atributais. Kai naudojami kartu, visus duomenis galite tvarkyti pagal skaidinio raktą naudodami rūšiavimo rakto reikšmę.





Kadangi „DynamoDB“ rezervuoja duomenis kaip atributų, vadinamų elementais, konsorciumą, atributai turi unikalius pirminės reikšmės raktus, kad juos būtų lengva pasiekti. Pažymėtina, kad „DynamoDB“ elementai yra panašūs į daugelio duomenų bazių sistemų įrašus, laukus, stulpelius ar eilutes.

Be to, „DynamoDB“ leidžia paskirstyti duomenis į skaidinius iki 10 GB saugojimo vienetų. Todėl kiekviena lentelė gali turėti vieną ar daugiau skaidinių. Galite naudoti skaidinio rakto reikšmę kaip įvestį į duomenų bazės vidinę maišos funkciją, o maišos funkcijos išvestį, kuri nustato skaidinį, kuriame saugomas elementas. Be to, elemento vieta lemia skaidinį, kuriame jis saugomas.



Kaip nustatyti „DynamoDB“ skaidinių raktus

Jei dar nesuprantate sąvokos, skaidinių raktų nustatymas gali būti sudėtinga užduotis. Tačiau šis procesas gali būti lengvas ir efektyvus, kai tik surinksite reikiamus patarimus ir gudrybes. Toliau pateikiami keli geriausios praktikos pavyzdžiai, kurių reikia laikytis nustatant skaidinių raktus:

1. Pasirinkite tinkamus skaidinių raktus

Nuo skaidinių raktų tipo priklauso duomenų užklausų patogumas ir efektyvumas. Jie yra pagrindiniai įvesties taškai užklausai jūsų duomenims, todėl labai svarbu apibrėžti kiekvienos programos prieigos šablonus.

Patartina naudoti didelio kardinalumo atributus nustatant DynamoDB skaidinio raktus. Didelio kardinalumo atributai turi skirtingas kiekvienos prekės vertes ir gali apimti darbuotojo_id, darbuotojo_no, order_id, emailid, customerid arba orderid.

2. Naudokite PK pavadinimo konvenciją

Skirsnių raktai dažnai naudoja pk pavadinimų suteikimo tvarką. Šis pavadinimų suteikimo metodas garantuoja tikslų pavadinimo mechanizmą, nediskriminuojant pagal atstovaujamo elemento tipą ar modelį.

Pavyzdžiui, nors jums gali kilti pagunda naudoti postID ir vartotojo ID kaip skirsnių raktus, skirtus Post ir User modeliams lentelėje, DynamoDB leidžia tik vieną skaidinio raktą kiekvienai lentelei. Taigi negalite naudoti dviejų vienoje lentelėje. Atminkite, kad lentelėse be rūšiavimo raktų gali būti ID skirsnio raktai.

3. Naudokite sudėtinius atributus

Kai kurioms lentelėms sudėtiniai raktai yra naudingesni. Tai reiškia, kad norint suformuoti unikalius raktus, jums reikia daugiau nei vieno atributo. Pavyzdžiui, galite patogiai naudoti kliento_ID, šalies_kodą ir produkto_ID, kad sudarytumėte skaidinio raktą (customerid#countrycode#productid). Tuo pačiu metu order_id galite naudoti kaip rūšiavimo raktą.

4. Tinkamai pridėkite atsitiktinių skaičių

Jei tikitės, kad kiekvienam klavišui bus parašytas didžiulis kiekis, naudodami papildomą priešdėlį arba priesagą padidinkite intensyvaus naudojimo atvejų efektyvumą. Pavyzdžiui, kaip skaidinio raktą galite naudoti sąskaitos faktūros numerį kartu su atsitiktinių skaičių rinkiniu. Nepamirškite atskirti įvairių skaidinio rakto skilčių. Pavyzdžiui, InvoiceNumber#125656#0 kaip skaidinio raktas idealiai tinka intensyviam naudojimui, kai įrašoma tūkstančiai per sekundę.

Sukurkite „DynamoDB“ skaidinio raktą

Kaip ir rūšiavimo raktai, „DynamoDB“ skaidinio rakto kūrimas apima jūsų lentelės rakto schemos kūrimą. Žinoma, tai atsitinka, kai kuriate lentelę. Tai dažnai apima atributo apibūdinimą naudojant atributo pavadinimą kartu su atributo tipu. Ši sintaksė padės:

AttributeName=string,KeyType=string...

Pateiktoje sintaksėje atributo pavadinimas yra tikrasis atributo pavadinimas, o atributo tipas gali būti eilutė (S), skaičius (N) arba dvejetainis (B).

Taip pat galite pasirinkti naudoti JSON sintaksę, kaip parodyta toliau:

[

{

'AttributeName': 'string',

„KeyType“: „HASH“

}

...

]

Kad ir kurią sintaksę pasirinktumėte, atributo vaidmuo prisiima HASH funkciją, nes kuriame skaidinio raktą. Priešingai, kurdami rūšiavimo klavišus rakto tipas prisiima funkciją RANGE.

Galiausiai taip pat galima pakeisti skaidinio raktą naudojant šią priemonę:

DynamoDBClient.updateItem({
'TableName': 'myTable_Name',
'Raktas': {
'pk': {
'S': 'my_PartitionKey'
}
},
'UpdateExpression': 'SET #emailaddress = :el.pašto adresas',
'ExpressionAttributeNames': {
'#email': 'el. pašto adresas'
},
'ExpressionAttributeValues': {
':elektroninio pašto adresas': {
'S': ' [apsaugotas el. paštas] “
}
}
})

Nurodyta programa atnaujina jūsų el. pašto atributą, kad atrodytų taip, kaip turite [apsaugotas el. paštas] elementui, kurio skaidinio raktas (pk) yra lygus my_PartitionKey.

Išvada

Nustatant DynamoDB skaidinio raktus, nėra vieno universalaus metodo. Skirstinių raktų kūrimas ir naudojimas priklauso nuo naudojimo atvejo. Be to, galite susipažinti su įvairiais būdais ir rasti tinkamiausią jūsų programai. Įsitikinkite, kad laikotės pateiktų nurodymų.