DynamoDB استفسار کی مثالیں۔

Dynamodb Astfsar Ky Mthaly



ڈیٹا بیس ڈیٹا کا مجموعہ ہے — DynamoDB کوئی استثنا نہیں ہے۔ ڈیٹا بیس میں بہت سارے ڈیٹا ہوتے ہیں جو پہلے سے طے شدہ میکانزم کے بغیر بازیافت کرنا مشکل ہو سکتا ہے۔ یہ وہ جگہ ہے جہاں استفسار کمانڈ ایک اہم کردار ادا کرتا ہے۔

کسی بھی ڈیٹا بیس مینجمنٹ سسٹم کی طرح، DynamoDB سوالات کے مختلف طریقے پیش کرتا ہے جن کے ذریعے آپ اپنے ڈیٹا تک رسائی اور اس میں ہیرا پھیری کے لیے سسٹم کے ساتھ بات چیت کر سکتے ہیں۔ DynamoDB میں استفسار کرنا ایک بہت ہی طاقتور ٹول ہے جو آپ کو سوال کمانڈ سے متعلق کسی آئٹم یا آئٹمز کے گروپ کو بازیافت کرنے کی اجازت دیتا ہے۔

یہ مضمون DynamoDB Query آپریشنز کی اہم مثالوں کا خاکہ پیش کرتا ہے۔







عام DynamoDB استفسار کی مثالیں۔

DynamoDB میں استفسار کے آپریشن کے لیے پہلے سے طے شدہ رویہ استفسار کے آئٹمز سے وابستہ تمام آئٹمز کو واپس کرنا ہے۔ دلچسپ بات یہ ہے کہ DynamoDB میں استفسار کمانڈ ٹیبل یا سیکنڈری انڈیکس کے ساتھ قابل استعمال ہے۔



جو بھی معاملہ ہو، ہمیشہ اس بات کو یقینی بنائیں کہ آپ اپنی پارٹیشن کلید کی قدر کے لیے مساوات کی شرط بتاتے ہیں۔ ایک بار پھر، اگر آپ کمانڈ میں ایک استعمال کرتے ہیں تو آپ کو ترتیب کی کلید کے لیے ایک مختلف شرط فراہم کرنے کی ضرورت پڑ سکتی ہے۔



دیگر پیرامیٹرز جن کا آپ کو DynamoDB سے استفسار کرتے وقت سامنا ہوگا ان میں KeyConditionExpression اور FilterExpression بھی شامل ہیں۔ KeyConditionExpression ان کلیدی اقدار کی وضاحت کرتا ہے جن سے آپ استفسار کرنا چاہتے ہیں۔ دوسری طرف، FilterExpression آپ کو جواب ملنے سے پہلے سوال کے نتائج سے آئٹمز کو ہٹا دیتا ہے۔ آپ ExpressionAttributeValues ​​کو بطور پلیس ہولڈرز استعمال کریں گے جس کا اظہار اظہار کے پیرامیٹرز کا ذکر کیا گیا ہے۔





DynamoDB استفسار کی مثالوں میں شامل ہیں:

پرائمری کیز پر مبنی ٹیبل سے ایک آئٹم تلاش کرنا

آپ DynmoDB میں Query یوٹیلیٹی استعمال کر سکتے ہیں تاکہ آئٹم کی پارٹیشن کلید اور ترتیب کلیدی اقدار کے امتزاج پر انحصار کر کے ایک آئٹم کو تلاش کر سکیں۔ اس طرح کے آپریشن کے لئے نحو مندرجہ ذیل ہے:



aws dynamodb استفسار \

--table-name MyTableName \

--key-condition-expression 'PartitionKey = :pk اور SortKey = :sk' \

--expression-انتساب-اقدار '{':pk':{'S':'a123b'},':sk':{'S':'def456b'}}'

مندرجہ بالا استفسار کی افادیت کا مقصد پارٹیشن کلید کی قدر a1234b اور MyTableName ٹیبل سے ایک ترتیب کلیدی قدر odef456b کے ساتھ ایک آئٹم کو بازیافت کرنا ہے۔ مثال کے طور پر، ہم اپنے 'آرڈرز' ٹیبل میں کسی آئٹم کو تلاش کرنے کے لیے مندرجہ بالا یوٹیلیٹی استعمال کر سکتے ہیں۔ آئٹم کی پارٹیشن کلیدی قدر ہو سکتی ہے۔ wr546gg Customer_ID کی نمائندگی کرتا ہے، جبکہ اس کی ترتیب کی کلیدی قدر ہو سکتی ہے۔ 24536433 آرڈر نمبر کی نمائندگی کرتا ہے۔

نتیجہ مندرجہ ذیل ہو سکتا ہے:

مندرجہ بالا نتیجہ چھٹیوں کی کتابوں کو واحد آئٹم کے طور پر واپس لاتا ہے جس میں wr546gg کی پارٹیشن کلید ویلیو اور 24536433 کی ایک ترتیب کلیدی قدر ہے۔ ہماری مثال میں، یہ انوائس نمبر اور ادا کی گئی رقم واپس لاتا ہے۔

خاص طور پر، استفسار کمانڈ ایک خالی فہرست واپس لائے گا اگر کوئی آئٹم مخصوص بنیادی کلیدی اقدار سے میل نہیں کھاتا ہے۔

بازیافت DynamoDB ٹیبل سے تمام آئٹمز مخصوص انتساب اقدار سے مماثل ہیں۔

تمام آئٹمز کو بازیافت کرنے کے لیے ایک فلٹر ایکسپریشن کا استعمال کریں جن کی ایک مخصوص DynamoDB ٹیبل میں ایک جیسی انتساب قدر ہے۔

اس استفسار کے آپریشن کے لیے کمانڈ ذیل میں دکھایا گیا ہے۔

aws dynamodb استفسار \

--table-name MyTableName \

--فلٹر اظہار 'OtherAttribute1 = :val' \

--expression-انتساب-اقدار '{':val':{'S':'value1'}}'

مثال کے طور پر، ہم اپنے میوزک ٹیبل میں 5 منٹ سے زیادہ کے گانوں کو دوبارہ حاصل کرنے کے لیے مذکورہ سوال کمانڈ کا استعمال کر سکتے ہیں۔ اس کو حاصل کرنے کے لیے، ہم اپنی OtherAttribute1 ویلیو کو 5.00 اور MyTableName کو میوزک پر سیٹ کریں گے۔

نتیجہ ذیل میں دکھایا جا سکتا ہے:

اختصار کے لیے فہرست کو چھوٹا کرنا ضروری ہے۔ لیکن نتائج سے، ہماری استفسار کمانڈ نے ہمارے DynamoDB میوزک ٹیبل سے 5.00 کی فلٹر ایکسپریشن ویلیو کے ساتھ 11 آئٹمز کو بازیافت کیا۔

انتساب کی قدروں کی مخصوص رینج کے ساتھ تمام آئٹمز کو بازیافت کرنا

کسی خاص ٹیبل کے اندر اشیاء کو بازیافت کرتے وقت نیچے دی گئی کمانڈ کام آتی ہے۔

aws dynamodb استفسار \

--table-name \

--key-condition-expression 'انتساب_نام :val1 اور :val2 کے درمیان' \

--expression-انتساب-اقدار '{':val1':{'N':''},':val2':{'N':''}}'

بلاشبہ، آپ کو اپنی مرضی کے مطابق اسناد کے ساتھ تمام صفات کو تبدیل کرنے کی ضرورت ہوگی جیسے آپ کو کسی دوسری کمانڈ لائن کے ساتھ کرنا چاہئے۔ مثال کے طور پر، ہم اپنے ایمپلائی ٹیبل کو ایک رینج کلیدی وصف کے ساتھ استعمال کریں گے جسے 'عمر' کا نام دیا گیا ہے۔ ہمارا مقصد 30 اور 42 سال کے درمیان کے آجروں کو بازیافت کرنا ہے۔

ہماری نئی کمانڈ لائن اس طرح ہوگی:

aws dynamodb استفسار \

--ٹیبل نام کے صارفین \

--key-condition-expression 'عمر کے درمیان :val1 اور :val2' \

--expression-انتساب-اقدار '{':val1':{'N':'30'},':val2':{'N':'42'}}'

مندرجہ بالا افادیت کو چلانے سے نیچے دیے گئے اعداد و شمار کی طرح کا جواب آئے گا۔

مندرجہ بالا مثال سے پتہ چلتا ہے کہ استفسار 6 آئٹمز کو واپس لایا ہے، جو ہر سوال کے لیے انتساب کی قدر کو ظاہر کرتا ہے۔ اسکینڈ کاؤنٹ ٹیبل میں اسکین کی گئی اشیاء کی تعداد ہے جبکہ CapacityUnits آپریشن کے دوران استعمال ہونے والی اکائیوں کی مقدار ہے۔

نتیجہ

چونکہ DynamoDB ایک NoSQL ڈیٹا بیس ہے، اس لیے اس کا استفسار آپریشن آپ کے عام AQL ڈیٹا بیس کی طرح برتاؤ نہیں کرتا ہے۔ لیکن ایک بار جب آپ ایسا کرتے ہیں، تو آپ کو پتہ چل جائے گا کہ آپریشن کافی طاقتور ہے اور ڈیٹا بیس کے ساتھ آپ کی بات چیت کو تیز کر دے گا۔