DynamoDB विभाजन कुंजियाँ कैसे सेट करें

Dynamodb Vibhajana Kunjiyam Kaise Seta Karem



किसी भी डेटाबेस की उत्पादकता डेटा एक्सेसिबिलिटी पर निर्भर करती है क्योंकि कई वस्तुओं से किसी आइटम की खोज करना व्यस्त साबित हो सकता है। अक्सर बार, आप डेटाबेस को कैसे क्वेरी करते हैं, यह हमेशा एक गंभीर विचार होता है। जब भी आप अत्यधिक कुशल प्रश्न बनाना चाहते हैं तो डायनेमोडीबी में विभाजन कुंजियाँ आपके प्राथमिक प्रवेश बिंदु हैं।

आमतौर पर, तालिकाओं में विभाजन कुंजियाँ अद्वितीय होती हैं। इस प्रकार, एक तालिका में एक ही विभाजन कुंजी के साथ दो या दो से अधिक आइटम होना असंभव है, लेकिन अनुक्रमित में उपयोग किए जाने पर विपरीत हो सकता है। इसके अलावा, तालिका बनाने के बाद विभाजन कुंजियाँ बदलना असंभव है क्योंकि वे अपरिवर्तनीय हैं।







यह आलेख विभाजन कुंजियों के बारे में चर्चा करता है। हम इस बात पर ध्यान केंद्रित करेंगे कि आपको विभाजन कुंजियों की आवश्यकता क्यों है और उन्हें सेट करते समय सर्वोत्तम अभ्यासों का पालन करना चाहिए। अंत में, हम देखेंगे कि कैसे DynamoDB विभाजन कुंजियाँ आवश्यक हैं।



DynamoDB विभाजन कुंजी क्या है और यह महत्वपूर्ण क्यों है?

DynamoDB में एक विभाजन कुंजी एक साधारण प्राथमिक कुंजी है, जिसमें अक्सर एक ही विशेषता होती है। DynamoDB तालिका में प्रत्येक आइटम में तेज़ और कुशल क्वेरी प्रक्रियाओं को सक्षम करने के लिए एक अद्वितीय विभाजन कुंजी होती है।



आप दो विशेषताओं वाली समग्र प्राथमिक कुंजी बनाने के लिए प्राथमिक कुंजी को सॉर्ट कुंजी के साथ जोड़ सकते हैं। जब एक साथ उपयोग किया जाता है, तो आप सॉर्ट कुंजी मान का उपयोग करके विभाजन कुंजी के अंतर्गत सभी डेटा व्यवस्थित कर सकते हैं।





चूंकि DynamoDB डेटा को आइटम नामक विशेषताओं के संघ के रूप में सुरक्षित रखता है, इसलिए विशेषताओं में आसान पहुंच के लिए अद्वितीय प्राथमिक मान कुंजियाँ होती हैं। विशेष रूप से, डायनेमोडीबी में आइटम अधिकांश डेटाबेस सिस्टम में रिकॉर्ड, फ़ील्ड, कॉलम या पंक्तियों के समान हैं।

इसके अलावा, डायनेमोडीबी आपको डेटा को 10 जीबी स्टोरेज यूनिट तक के विभाजन में वितरित करने की अनुमति देता है। इसलिए, प्रत्येक तालिका में एक या अधिक विभाजन हो सकते हैं। आप डेटाबेस के आंतरिक हैश फ़ंक्शन के इनपुट के रूप में विभाजन कुंजी के मान का उपयोग कर सकते हैं, हैश फ़ंक्शन से आउटपुट के साथ जो उस विभाजन को निर्धारित करता है जिसमें आइटम संग्रहीत है। इसके अलावा, किसी आइटम का स्थान उस विभाजन को निर्धारित करता है जिसमें इसे संग्रहीत किया जाता है।



DynamoDB विभाजन कुंजियाँ कैसे सेट करें

यदि आप अभी तक अवधारणा को समझ नहीं पाए हैं तो विभाजन कुंजियाँ सेट करना एक कठिन कार्य हो सकता है। हालाँकि, यह प्रक्रिया आसान और कुशल हो सकती है जब आप आवश्यक टिप्स और ट्रिक्स जुटा लेते हैं। विभाजन कुंजियों को सेट अप करते समय पालन करने के लिए कुछ सर्वोत्तम अभ्यास निम्नलिखित हैं:

1. सही विभाजन कुंजी चुनें

विभाजन कुंजियों का प्रकार आपके डेटा को क्वेरी करने की सुविधा और दक्षता निर्धारित करता है। वे आपके डेटा की पूछताछ के लिए प्राथमिक प्रवेश बिंदु हैं, और प्रत्येक एप्लिकेशन के एक्सेस पैटर्न को परिभाषित करना महत्वपूर्ण है।

अपने डायनेमोडीबी विभाजन कुंजियों को सेट करते समय उच्च-कार्डिनैलिटी विशेषताओं का उपयोग करने की सलाह दी जाती है। हाई-कार्डिनैलिटी विशेषताओं में प्रत्येक आइटम के लिए अलग-अलग मान होते हैं और इसमें कर्मचारी_आईडी, कर्मचारी_नहीं, ऑर्डर_आईडी, ईमेल आईडी, ग्राहक आईडी या ऑर्डर आईडी शामिल हो सकते हैं।

2. पीके नामकरण सम्मेलन का प्रयोग करें

विभाजन कुंजियाँ अक्सर pk नामकरण परिपाटी का उपयोग करती हैं। यह नामकरण विधि प्रतिनिधित्व किए गए आइटम प्रकार या मॉडल के आधार पर भेदभाव किए बिना एक सटीक नामकरण तंत्र की गारंटी देती है।

उदाहरण के लिए, जब आप एक तालिका में पोस्ट और उपयोगकर्ता मॉडल के लिए विभाजन कुंजी के रूप में पोस्टआईडी और यूजरआईडी का उपयोग करने के लिए ललचा सकते हैं, तो डायनेमोडीबी प्रत्येक तालिका के लिए केवल एक विभाजन कुंजी की अनुमति देता है। इस प्रकार, आप एक ही तालिका में दो का उपयोग नहीं कर सकते। ध्यान दें कि सॉर्ट कुंजियों के बिना तालिकाओं में आईडी विभाजन कुंजियाँ हो सकती हैं।

3. समग्र गुणों का प्रयोग करें

कुछ तालिकाओं को समग्र कुंजियों से अधिक लाभ होता है। कहने का तात्पर्य यह है कि अद्वितीय कुंजियाँ बनाने के लिए आपको एक से अधिक विशेषताओं की आवश्यकता होती है। उदाहरण के लिए, आप विभाजन कुंजी (ग्राहक आईडी # देश कोड # उत्पाद आईडी) बनाने के लिए आसानी से ग्राहक_आईडी, देश_कोड और उत्पाद_आईडी का उपयोग कर सकते हैं। उसी समय, आप अपनी सॉर्ट कुंजी के रूप में order_id का उपयोग कर सकते हैं।

4. यादृच्छिक संख्याएँ उचित रूप से जोड़ें

यदि आप प्रत्येक कुंजी के लिए भारी मात्रा में लिखने की अपेक्षा करते हैं, तो एक अतिरिक्त उपसर्ग या प्रत्यय का उपयोग करने से भारी-उपयोग के मामले अधिक कुशल हो जाते हैं। उदाहरण के लिए, आप अपनी विभाजन कुंजी के रूप में यादृच्छिक संख्याओं के सेट के साथ चालान संख्या का उपयोग कर सकते हैं। अपनी विभाजन कुंजी के विभिन्न अनुभागों को अलग करना याद रखें। उदाहरण के लिए, InvoiceNumber#125656#0 विभाजन कुंजी के रूप में प्रति सेकंड हजारों राइट्स के साथ भारी उपयोग के लिए आदर्श है।

DynamoDB विभाजन कुंजी बनाएँ

सॉर्ट कुंजियों की तरह, डायनेमोडीबी में विभाजन कुंजी बनाने में आपकी तालिका के लिए एक कुंजी स्कीमा बनाना शामिल है। बेशक, यह तब होता है जब आप टेबल बनाते हैं। इसमें अक्सर विशेषता प्रकार के साथ विशेषता नाम का उपयोग करके अपनी विशेषता का वर्णन करना शामिल होता है। निम्नलिखित सिंटैक्स मदद करेगा:

विशेषता नाम = स्ट्रिंग, की टाइप = स्ट्रिंग ...

दिए गए सिंटैक्स में, विशेषता नाम विशेषता का वास्तविक नाम है, जबकि विशेषता प्रकार या तो एक स्ट्रिंग (एस), संख्या (एन), या एक बाइनरी (बी) हो सकता है।

आप निम्न में दिखाए गए अनुसार JSON सिंटैक्स का उपयोग करना भी चुन सकते हैं:

[

{

'विशेषता नाम': 'स्ट्रिंग',

'कीटाइप': 'हैश'

}

...

]

आप जो भी सिंटैक्स चुनते हैं, विशेषता की भूमिका HASH फ़ंक्शन को मानती है क्योंकि हम एक विभाजन कुंजी बना रहे हैं। इसके विपरीत, सॉर्ट कुंजियाँ बनाते समय कुंजी प्रकार एक RANGE फ़ंक्शन मानता है।

अंत में, निम्न उपयोगिता का उपयोग करके विभाजन कुंजी को बदलना भी संभव है:

DynamoDBClient.updateItem({
'तालिका का नाम': 'myTable_Name',
'चाभी': {
'पीके': {
'एस': 'my_PartitionKey'
}
},
'अपडेटएक्सप्रेशन': 'सेट #emailaddress =: ईमेल पता',
'अभिव्यक्ति एट्रिब्यूटनाम': {
'#ईमेल': 'ईमेल पता'
},
'एक्सप्रेशनएट्रिब्यूटवैल्यूज़': {
':ईमेल पता': {
'एस': ' [ईमेल संरक्षित] '
}
}
})

दी गई यूटिलिटी आपके ईमेल एट्रीब्यूट को इस तरह अपडेट करती है कि आपके पास क्या है [ईमेल संरक्षित] उस आइटम के लिए जहां विभाजन कुंजी (pk) my_PartitionKey के बराबर है।

निष्कर्ष

DynamoDB विभाजन कुंजियाँ सेट करते समय, कोई एकल सार्वभौमिक विधि नहीं होती है। विभाजन कुंजी बनाना और उपयोग करना उपयोग के मामले पर निर्भर करता है। इसके अलावा, आप उपलब्ध विभिन्न दृष्टिकोणों पर गौर कर सकते हैं और अपने आवेदन के लिए सबसे उपयुक्त खोज सकते हैं। दिए गए दिशा-निर्देशों का पालन करना सुनिश्चित करें।