ఏదైనా డేటాబేస్ యొక్క ఉత్పాదకత డేటా యాక్సెసిబిలిటీపై ఆధారపడి ఉంటుంది, ఎందుకంటే అనేక వస్తువుల నుండి ఒక వస్తువు కోసం శోధించడం చాలా తీవ్రంగా ఉంటుంది. తరచుగా, మీరు డేటాబేస్ను ఎలా ప్రశ్నిస్తారు అనేది ఎల్లప్పుడూ తీవ్రంగా పరిగణించబడుతుంది. మీరు అత్యంత సమర్థవంతమైన ప్రశ్నలను చేయాలనుకున్నప్పుడు విభజన కీలు DynamoDBలో మీ ప్రాథమిక ఎంట్రీ పాయింట్లు.
సాధారణంగా, పట్టికల అంతటా విభజన కీలు ప్రత్యేకంగా ఉంటాయి. ఈ విధంగా, ఒక పట్టికలో ఒకే విభజన కీతో రెండు లేదా అంతకంటే ఎక్కువ అంశాలను కలిగి ఉండటం అసాధ్యం, కానీ సూచికలలో ఉపయోగించినప్పుడు రివర్స్ జరగవచ్చు. అంతేకాకుండా, విభజన కీలు మార్పులేనివి కనుక మీరు పట్టికను సృష్టించిన తర్వాత వాటిని మార్చడం అసాధ్యం.
ఈ వ్యాసం విభజన కీల గురించి చర్చిస్తుంది. మీకు విభజన కీలు ఎందుకు అవసరం మరియు వాటిని సెట్ చేసేటప్పుడు అనుసరించాల్సిన ఉత్తమ పద్ధతులపై మేము దృష్టి పెడతాము. చివరగా, DynamoDB విభజన కీలు ఎలా అవసరమో మనం పరిశీలిస్తాము.
DynamoDB విభజన కీ అంటే ఏమిటి మరియు ఇది ఎందుకు ముఖ్యమైనది?
విభజన కీ అనేది DynamoDBలో సాధారణ ప్రాథమిక కీ, తరచుగా ఒకే లక్షణాన్ని కలిగి ఉంటుంది. DynamoDB పట్టికలోని ప్రతి అంశం వేగవంతమైన మరియు సమర్థవంతమైన ప్రశ్న ప్రక్రియలను ప్రారంభించడానికి ప్రత్యేకమైన విభజన కీని కలిగి ఉంటుంది.
మీరు రెండు లక్షణాలను కలిగి ఉన్న మిశ్రమ ప్రాథమిక కీని చేయడానికి క్రమబద్ధీకరణ కీతో ప్రాథమిక కీని జత చేయవచ్చు. కలిసి ఉపయోగించినప్పుడు, మీరు క్రమబద్ధీకరణ కీ విలువను ఉపయోగించి విభజన కీ క్రింద మొత్తం డేటాను నిర్వహించవచ్చు.
DynamoDB డేటాను ఐటెమ్లుగా పిలిచే లక్షణాల కన్సార్టియం వలె రిజర్వ్ చేస్తుంది కాబట్టి, సులభ ప్రాప్యత కోసం అట్రిబ్యూట్లు ప్రత్యేకమైన ప్రాథమిక విలువ కీలను కలిగి ఉంటాయి. ముఖ్యంగా, DynamoDBలోని అంశాలు చాలా డేటాబేస్ సిస్టమ్లలోని రికార్డ్లు, ఫీల్డ్లు, నిలువు వరుసలు లేదా అడ్డు వరుసల మాదిరిగానే ఉంటాయి.
ఇంకా, DynamoDB డేటాను 10 GB వరకు స్టోరేజ్ యూనిట్ల విభజనలలో పంపిణీ చేయడానికి మిమ్మల్ని అనుమతిస్తుంది. ప్రతి పట్టిక, కాబట్టి, ఒకటి లేదా అంతకంటే ఎక్కువ విభజనలను కలిగి ఉంటుంది. మీరు డేటాబేస్ యొక్క అంతర్గత హాష్ ఫంక్షన్కు ఇన్పుట్గా విభజన కీ విలువను ఉపయోగించవచ్చు, అంశం నిల్వ చేయబడే విభజనను నిర్ణయించే హాష్ ఫంక్షన్ నుండి అవుట్పుట్తో. అంతేకాకుండా, ఒక వస్తువు యొక్క స్థానం అది నిల్వ చేయబడే విభజనను నిర్ణయిస్తుంది.
DynamoDB విభజన కీలను ఎలా సెట్ చేయాలి
మీరు కాన్సెప్ట్ను ఇంకా అర్థం చేసుకోలేకపోతే విభజన కీలను సెట్ చేయడం ఒక ఎత్తైన పని. అయితే, మీరు అవసరమైన చిట్కాలు మరియు ఉపాయాలను సేకరించిన తర్వాత ఈ ప్రక్రియ సులభంగా మరియు సమర్థవంతంగా ఉంటుంది. విభజన కీలను సెటప్ చేసేటప్పుడు అనుసరించాల్సిన కొన్ని ఉత్తమ పద్ధతులు క్రిందివి:
1. కుడి విభజన కీలను ఎంచుకోండి
విభజన కీల రకం మీ డేటాను ప్రశ్నించే సౌలభ్యం మరియు సామర్థ్యాన్ని నిర్ణయిస్తుంది. మీ డేటాను ప్రశ్నించడానికి అవి ప్రాథమిక ఎంట్రీ పాయింట్లు మరియు ప్రతి అప్లికేషన్ యొక్క యాక్సెస్ నమూనాలను నిర్వచించడం చాలా కీలకం.
మీ DynamoDB విభజన కీలను సెటప్ చేసేటప్పుడు హై-కార్డినాలిటీ అట్రిబ్యూట్లను ఉపయోగించడం మంచిది. అధిక-కార్డినాలిటీ గుణాలు ప్రతి అంశానికి ప్రత్యేక విలువలను కలిగి ఉంటాయి మరియు ఉద్యోగి_ఐడి, ఉద్యోగి_నో, ఆర్డర్_ఐడి, ఇమెయిల్యిడ్, కస్టమర్డ్ లేదా ఆర్డర్డ్ని కలిగి ఉండవచ్చు.
2. PK నామకరణ సమావేశాన్ని ఉపయోగించండి
విభజన కీలు తరచుగా pk నామకరణ సమావేశాన్ని ఉపయోగిస్తాయి. ఈ నామకరణ పద్ధతి ప్రాతినిధ్యం వహించిన అంశం రకం లేదా మోడల్ ఆధారంగా వివక్ష చూపకుండా ఖచ్చితమైన నామకరణ యంత్రాంగానికి హామీ ఇస్తుంది.
ఉదాహరణకు, మీరు ఒక పట్టికలో పోస్ట్ మరియు వినియోగదారు నమూనాల కోసం postID మరియు userIDని విభజన కీలుగా ఉపయోగించడానికి టెంప్ట్ చేయబడవచ్చు, DynamoDB ప్రతి పట్టికకు ఒక విభజన కీని మాత్రమే అనుమతిస్తుంది. అందువల్ల, మీరు ఒకే పట్టికలో రెండింటిని ఉపయోగించలేరు. క్రమబద్ధీకరణ కీలు లేని పట్టికలు ID విభజన కీలను కలిగి ఉండవచ్చని గమనించండి.
3. మిశ్రమ లక్షణాలను ఉపయోగించండి
కొన్ని పట్టికలు మిశ్రమ కీల నుండి ఎక్కువ ప్రయోజనం పొందుతాయి. ప్రత్యేకమైన కీలను రూపొందించడానికి మీకు ఒకే లక్షణం కంటే ఎక్కువ అవసరం అని చెప్పవచ్చు. ఉదాహరణకు, మీరు ఒక విభజన కీని (కస్టమెరిడ్#కంట్రికోడ్#ప్రొడక్టిడ్) రూపొందించడానికి కస్టమర్_ఐడి, కంట్రీ_కోడ్ మరియు ప్రోడక్ట్_ఐడిని సౌకర్యవంతంగా ఉపయోగించవచ్చు. అదే సమయంలో, మీరు ఆర్డర్_ఐడిని మీ క్రమబద్ధీకరణ కీగా ఉపయోగించవచ్చు.
4. యాదృచ్ఛిక సంఖ్యలను తగిన విధంగా జోడించండి
మీరు ప్రతి కీ కోసం అపారమైన వ్రాతలను ఆశించినట్లయితే, అదనపు ఉపసర్గ లేదా ప్రత్యయం ఉపయోగించి భారీ-వినియోగ కేసులను మరింత సమర్థవంతంగా చేస్తుంది. ఉదాహరణకు, మీరు మీ విభజన కీ వలె యాదృచ్ఛిక సంఖ్యల సెట్తో పాటు ఇన్వాయిస్ నంబర్ను ఉపయోగించవచ్చు. మీ విభజన కీలోని వివిధ విభాగాలను వేరు చేయడం గుర్తుంచుకోండి. ఉదాహరణకు, ఇన్వాయిస్ నంబర్#125656#0 విభజన కీగా సెకనుకు వేల సంఖ్యలో వ్రాతలతో భారీ ఉపయోగం కోసం అనువైనది.
DynamoDB విభజన కీని సృష్టించండి
క్రమబద్ధీకరణ కీల వలె, DynamoDBలో విభజన కీని సృష్టించడం అనేది మీ పట్టిక కోసం కీ స్కీమాను సృష్టించడం. వాస్తవానికి, మీరు పట్టికను సృష్టించినప్పుడు ఇది జరుగుతుంది. ఇది తరచుగా అట్రిబ్యూట్ రకంతో పాటు లక్షణ పేరును ఉపయోగించి మీ లక్షణాన్ని వివరించడాన్ని కలిగి ఉంటుంది. కింది వాక్యనిర్మాణం సహాయం చేస్తుంది:
లక్షణం పేరు = స్ట్రింగ్, కీటైప్ = స్ట్రింగ్ ...ఇచ్చిన సింటాక్స్లో, లక్షణం పేరు లక్షణం యొక్క అసలు పేరు అయితే లక్షణం రకం స్ట్రింగ్(S), సంఖ్య(N) లేదా బైనరీ(B) కావచ్చు.
కింది వాటిలో చూపిన విధంగా మీరు JSON సింటాక్స్ని ఉపయోగించడానికి కూడా ఎంచుకోవచ్చు:
[{
'AtributeName': 'string',
'కీటైప్': 'హాష్'
}
...
]
మీరు ఏ సింటాక్స్ని ఎంచుకున్నా, మేము విభజన కీని సృష్టిస్తున్నందున లక్షణం యొక్క పాత్ర HASH ఫంక్షన్ని ఊహిస్తుంది. దీనికి విరుద్ధంగా, క్రమబద్ధీకరణ కీలను సృష్టించేటప్పుడు కీ రకం RANGE ఫంక్షన్ని ఊహిస్తుంది.
చివరగా, కింది యుటిలిటీని ఉపయోగించి విభజన కీని మార్చడం కూడా సాధ్యమే:
DynamoDBClient.updateItem({'టేబుల్ పేరు': 'myTable_Name',
'కీ': {
'pk': {
'S': 'my_PartitionKey'
}
},
'UpdateExpression': 'SET #emailaddress = :emailaddress',
'ExpressionAttributeNames': {
'#ఇమెయిల్': 'ఇమెయిల్ చిరునామా'
},
'ExpressionAttributeValues': {
':ఇమెయిల్ చిరునామా': {
'S': ' [ఇమెయిల్ రక్షితం] '
}
}
})
అందించిన యుటిలిటీ మీ ఇమెయిల్ అట్రిబ్యూట్లో మీరు కలిగి ఉన్నట్లుగా కనిపించేలా అప్డేట్ చేస్తుంది [ఇమెయిల్ రక్షితం] విభజన కీ (pk) my_PartitionKeyకి సమానంగా ఉన్న అంశం కోసం.
ముగింపు
DynamoDB విభజన కీలను సెటప్ చేస్తున్నప్పుడు, ఒకే సార్వత్రిక పద్ధతి లేదు. విభజన కీలను సృష్టించడం మరియు ఉపయోగించడం అనేది వినియోగ కేసుపై ఆధారపడి ఉంటుంది. అంతేకాకుండా, మీరు అందుబాటులో ఉన్న వివిధ విధానాలను పరిశీలించి, మీ దరఖాస్తుకు అత్యంత సముచితమైనదాన్ని కనుగొనవచ్చు. మీరు ఇచ్చిన మార్గదర్శకాలకు కట్టుబడి ఉన్నారని నిర్ధారించుకోండి.