DynamoDB क्वेरी उदाहरण

Dynamodb Kveri Udaharana



एक डेटाबेस डेटा का एक संग्रह है - डायनेमोडीबी कोई अपवाद नहीं है। डेटाबेस में बहुत सारा डेटा होता है जिसे पूर्व-निर्धारित तंत्र के बिना पुनर्प्राप्त करना मुश्किल हो सकता है। यहीं पर query कमांड महत्वपूर्ण भूमिका निभाता है।

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

यह लेख DynamoDB क्वेरी ऑपरेशंस के मुख्य उदाहरणों की रूपरेखा देता है।







सामान्य DynamoDB क्वेरी उदाहरण

डायनेमो डीबी में क्वेरी ऑपरेशन के लिए डिफ़ॉल्ट व्यवहार क्वेरी आइटम से जुड़े सभी आइटम वापस करना है। दिलचस्प बात यह है कि DynamoDB में query कमांड टेबल या सेकेंडरी इंडेक्स के साथ प्रयोग करने योग्य है।



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



DynamoDB को क्वेरी करते समय आपके सामने आने वाले अन्य पैरामीटर में KeyConditionExpression और FilterExpression भी शामिल हैं। KeyConditionExpression उन प्रमुख मानों को निर्दिष्ट करता है जिन्हें आप क्वेरी करना चाहते हैं। दूसरी ओर, प्रतिक्रिया मिलने से पहले फ़िल्टरएक्सप्रेशन क्वेरी परिणामों से आइटम हटा देता है। आप एक्सप्रेशनएट्रिब्यूटवैल्यूज़ का उपयोग उल्लिखित एक्सप्रेशन पैरामीटर्स के लिए प्लेसहोल्डर्स के रूप में करेंगे।





DynamoDB क्वेरी उदाहरणों में शामिल हैं:

प्राथमिक कुंजी के आधार पर तालिका से एकल आइटम ढूँढना

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



एडब्ल्यूएस डायनेमोडब क्वेरी \

--तालिका-नाम MyTableName \

--कुंजी-स्थिति-अभिव्यक्ति 'पार्टीशनकी = :pk और सॉर्टकी = :sk' \

--अभिव्यक्ति-विशेषता-मान '{':pk':{'S':'a123b'},':sk':{'S':'def456b'}}'

उपरोक्त क्वेरी उपयोगिता का उद्देश्य MyTableName तालिका से विभाजन कुंजी मान a1234b और सॉर्ट कुंजी मान odef456b वाले आइटम को पुनर्प्राप्त करना है। उदाहरण के लिए, हम अपनी 'ऑर्डर' तालिका में किसी आइटम को खोजने के लिए उपरोक्त उपयोगिता का उपयोग कर सकते हैं। आइटम का विभाजन कुंजी मान हो सकता है wr546gg Customer_ID का प्रतिनिधित्व करते हुए, जबकि इसका सॉर्ट कुंजी मान हो सकता है 24536433 आदेश संख्या का प्रतिनिधित्व।

परिणाम इस प्रकार हो सकता है:

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

विशेष रूप से, यदि निर्दिष्ट प्राथमिक कुंजी मानों से मेल खाने वाला कोई आइटम नहीं है, तो क्वेरी कमांड एक रिक्त सूची वापस लाएगा।

पुनः प्राप्त करना डायनेमोडीबी तालिका से सभी आइटम विशिष्ट विशेषता मानों से मेल खाते हैं

विशिष्ट DynamoDB तालिका में समान विशेषता मान वाले सभी आइटम पुनर्प्राप्त करने के लिए फ़िल्टर व्यंजक का उपयोग करें।

इस क्वेरी ऑपरेशन का कमांड नीचे दिखाया गया है।

एडब्ल्यूएस डायनेमोडब क्वेरी \

--तालिका-नाम MyTableName \

--फ़िल्टर-अभिव्यक्ति 'अन्य विशेषता 1 = : वैल' \

--अभिव्यक्ति-विशेषता-मान '{':val':{'S':'value1'}}'

उदाहरण के लिए, हम अपनी संगीत तालिका में 5 मिनट से अधिक समय तक चलने वाले गीतों को पुनः प्राप्त करने के लिए उपरोक्त क्वेरी कमांड का उपयोग कर सकते हैं। इसे प्राप्त करने के लिए, हम अपने OtherAttribute1 मान को 5.00 और MyTableName को संगीत पर सेट करेंगे।

परिणाम नीचे दिखाया जा सकता है:

संक्षिप्तता के लिए सूची को छोटा करना आवश्यक है। लेकिन परिणामों से, हमारे क्वेरी कमांड ने हमारे DynamoDB Music तालिका से 5.00 के फ़िल्टरएक्सप्रेशन मान के साथ 11 आइटम पुनर्प्राप्त किए।

विशेषता मूल्यों की एक विशेष श्रेणी के साथ सभी वस्तुओं को पुनः प्राप्त करना

किसी विशेष तालिका के भीतर आइटम पुनर्प्राप्त करते समय नीचे दी गई कमांड काम आती है:

एडब्ल्यूएस डायनेमोडब क्वेरी \

--तालिका-नाम <तालिका का नाम> \

--कुंजी-स्थिति-अभिव्यक्ति 'विशेषता_नाम के बीच: वैल 1 और: वैल 2' \

--अभिव्यक्ति-विशेषता-मान '{':val1':{'N':''},':val2':{'N':''}}'

बेशक, आपको सभी विशेषताओं को अपने अनुकूलित प्रमाण-पत्रों के साथ बदलने की आवश्यकता होगी जैसे आपको किसी अन्य कमांड लाइन के साथ होना चाहिए। उदाहरण के लिए, हम अपनी कर्मचारी तालिका का उपयोग 'आयु' नाम की एक श्रेणी कुंजी विशेषता के साथ करेंगे। हम 30 से 42 वर्ष की आयु के नियोक्ताओं को पुनः प्राप्त करने का लक्ष्य रखेंगे।

हमारी नई कमांड लाइन इस प्रकार होगी:

एडब्ल्यूएस डायनेमोडब क्वेरी \

--तालिका-नाम उपयोगकर्ता \

--कुंजी-स्थिति-अभिव्यक्ति 'के बीच आयु :val1 और :val2' \

--अभिव्यक्ति-विशेषता-मान '{':val1':{'N':'30'},':val2':{'N':'42'}}'

उपरोक्त यूटिलिटी को चलाने से नीचे दिए गए चित्र के समान प्रतिक्रिया आएगी;

ऊपर दिए गए उदाहरण से पता चलता है कि क्वेरी 6 आइटम वापस लाती है, जो प्रत्येक क्वेरी के लिए विशेषता मान दर्शाती है। स्कैनडकाउंट तालिका में स्कैन की गई वस्तुओं की संख्या है, जबकि कैपेसिटीयूनिट ऑपरेशन के दौरान खपत की गई इकाइयों की मात्रा है।

निष्कर्ष

चूँकि DynamoDB एक NoSQL डेटाबेस है, इसका क्वेरी ऑपरेशन आपके सामान्य AQL डेटाबेस की तरह व्यवहार नहीं करता है। लेकिन एक बार जब आप ऐसा कर लेते हैं, तो आप पाएंगे कि ऑपरेशन काफी शक्तिशाली है और डेटाबेस के साथ आपकी बातचीत को संक्षिप्त बना देगा।