Paano Itakda ang DynamoDB Partition Keys

Paano Itakda Ang Dynamodb Partition Keys



Ang pagiging produktibo ng anumang database ay umaasa sa data accessibility dahil ang paghahanap ng isang item mula sa ilang mga bagay ay maaaring maging abala. Kadalasan, kung paano mo itatanong ang database ay palaging isang seryosong pagsasaalang-alang. Ang mga partition key ay ang iyong pangunahing mga entry point sa DynamoDB sa tuwing gusto mong gumawa ng mga query na napakahusay.

Karaniwan, ang mga partition key sa mga talahanayan ay natatangi. Kaya, imposibleng magkaroon ng dalawa o higit pang mga item na may parehong partition key sa isang table, ngunit ang kabaligtaran ay maaaring mangyari kapag ginamit sa mga index. Bukod pa rito, imposibleng mabago ang mga partition key kapag gumawa ka ng table dahil hindi nababago ang mga ito.







Tinatalakay ng artikulong ito ang tungkol sa mga partition key. Tutuon kami sa kung bakit kailangan mo ang mga partition key at ang pinakamahuhusay na kagawiang dapat sundin kapag itinatakda ang mga ito. Sa wakas, titingnan natin kung paano mahalaga ang mga key ng partition ng DynamoDB.



Ano ang DynamoDB Partition Key at Bakit Ito Mahalaga?

Ang partition key ay isang simpleng primary key sa DynamoDB, kadalasang binubuo ng isang katangian. Ang bawat item sa isang talahanayan ng DynamoDB ay may natatanging partition key upang paganahin ang mabilis at mahusay na mga proseso ng query.



Maaari mong ipares ang primary key sa sort key para makagawa ng composite primary key na naglalaman ng dalawang attribute. Kapag ginamit nang magkasama, maaari mong ayusin ang lahat ng data sa ilalim ng partition key gamit ang sort key value.





Dahil inilalaan ng DynamoDB ang data bilang isang consortium ng mga katangian na tinatawag na mga item, ang mga katangian ay may natatanging pangunahing halaga ng mga key para sa madaling accessibility. Kapansin-pansin, ang mga item sa DynamoDB ay katulad ng mga record, field, column, o row sa karamihan ng mga database system.

Higit pa rito, pinapayagan ka ng DynamoDB na ipamahagi ang data sa mga partisyon ng hanggang 10 GB na mga unit ng imbakan. Ang bawat talahanayan, samakatuwid, ay maaaring magkaroon ng isa o higit pang mga partisyon. Maaari mong gamitin ang halaga ng isang partition key bilang input sa internal hash function ng database, na may output mula sa hash function na tumutukoy sa partition kung saan nakaimbak ang item. Bukod dito, tinutukoy ng lokasyon ng isang item ang partisyon kung saan ito nakaimbak.



Paano Itakda ang DynamoDB Partition Keys

Ang pagtatakda ng mga partition key ay maaaring maging isang pataas na gawain kung hindi mo pa naiintindihan ang konsepto. Gayunpaman, ang prosesong ito ay maaaring maging madali at mahusay kapag nakuha mo ang mga kinakailangang tip at trick. Ang mga sumusunod ay ilan sa mga pinakamahusay na kagawian na dapat sundin kapag nagse-set up ng mga partition key:

1. Piliin ang Tamang Partition Keys

Tinutukoy ng uri ng mga partition key ang kaginhawahan at kahusayan ng pag-query sa iyong data. Sila ang mga pangunahing entry point para sa pag-query ng iyong data, at ang pagtukoy sa mga pattern ng pag-access ng bawat application ay kritikal.

Maipapayo na gamitin ang mga high-cardinality na katangian kapag nagse-set up ng iyong DynamoDB partition key. Itinatampok ng mga high-cardinality na katangian ang mga natatanging halaga para sa bawat item at maaaring kasama ang employee_id, employee_no, order_id, emailid, customerid, o orderid.

2. Gamitin ang PK Naming Convention

Ang mga partition key ay kadalasang gumagamit ng pk na kombensyon sa pagbibigay ng pangalan. Ginagarantiyahan ng pamamaraang ito ng pagbibigay ng pangalan ang isang tumpak na mekanismo ng pagbibigay ng pangalan nang walang diskriminasyon batay sa kinakatawan na uri o modelo ng item.

Halimbawa, bagama't maaari kang matukso na gamitin ang postID at userID bilang mga partition key para sa mga modelo ng Post at User sa isang talahanayan, pinapayagan lamang ng DynamoDB ang isang partition key para sa bawat talahanayan. Kaya, hindi ka maaaring gumamit ng dalawa sa isang talahanayan. Tandaan na ang mga talahanayan na walang mga sort key ay maaaring magkaroon ng mga ID partition key.

3. Gumamit ng Composite Attributes

Ang ilang mga talahanayan ay higit na nakikinabang mula sa mga composite key. Iyon ay upang sabihin na kailangan mo ng higit sa isang solong katangian upang mabuo ang mga natatanging key. Halimbawa, maaari mong madaling gamitin ang customer_ID, country_code, at product_ID upang bumuo ng partition key (customerid#countrycode#productid). Kasabay nito, maaari mong gamitin ang order_id bilang iyong sort key.

4. Magdagdag ng Mga Random na Numero nang Naaayon

Kung inaasahan mo ang napakalaking dami ng mga pagsusulat para sa bawat key, ang paggamit ng karagdagang prefix o suffix ay ginagawang mas mahusay ang mga heavy-use cases. Halimbawa, maaari mong gamitin ang numero ng invoice sa tabi ng isang hanay ng mga random na numero bilang iyong partition key. Tandaan na paghiwalayin ang iba't ibang mga seksyon ng iyong partition key. Halimbawa, ang InvoiceNumber#125656#0 bilang partition key ay mainam para sa mabigat na paggamit sa libu-libong pagsusulat sa bawat segundo.

Lumikha ng DynamoDB Partition Key

Tulad ng mga sort key, ang paggawa ng partition key sa DynamoDB ay kinabibilangan ng paggawa ng key schema para sa iyong table. Siyempre, nangyayari ito kapag lumikha ka ng isang talahanayan. Madalas itong nagsasangkot ng paglalarawan sa iyong katangian gamit ang pangalan ng katangian kasama ng uri ng katangian. Makakatulong ang sumusunod na syntax:

AttributeName=string, KeyType=string ...

Sa ibinigay na syntax, ang pangalan ng katangian ay ang aktwal na pangalan ng katangian habang ang uri ng katangian ay maaaring maging isang String(S), Numero(N), o isang Binary(B).

Maaari mo ring piliing gumamit ng JSON syntax tulad ng ipinapakita sa sumusunod:

[

{

'AttributeName': 'string',

'KeyType': 'HASH'

}

...

]

Alinmang syntax ang pipiliin mo, ang tungkulin ng attribute ay ipapalagay ang HASH function dahil gumagawa kami ng partition key. Sa kabaligtaran, ang uri ng key ay nagpapalagay ng RANGE function kapag gumagawa ng mga sort key.

Sa wakas, posible ring baguhin ang isang partition key gamit ang sumusunod na utility:

DynamoDBClient.updateItem({
'TableName': 'myTable_Name',
'Susi': {
'pk': {
'S': 'my_PartitionKey'
}
},
'UpdateExpression': 'SET #emailaddress = :emailaddress',
'ExpressionAttributeNames': {
'#email': 'emaildress'
},
'ExpressionAttributeValues': {
':emaildress': {
'S': ' [email protektado] '
}
}
})

Ina-update ng ibinigay na utility ang iyong katangian ng email upang magmukhang kung ano ang mayroon ka sa [email protektado] para sa item kung saan ang partition key (pk) ay katumbas ng my_PartitionKey.

Konklusyon

Kapag nagse-set up ng mga key ng partition ng DynamoDB, walang iisang unibersal na paraan. Ang paggawa at paggamit ng mga partition key ay nakadepende sa use case. Bukod, maaari mong tingnan ang iba't ibang mga diskarte na magagamit at hanapin ang pinakaangkop para sa iyong aplikasyon. Tiyaking sumunod ka sa ibinigay na mga alituntunin.