DynamoDB ప్రశ్న ఉదాహరణలు

Dynamodb Prasna Udaharanalu



డేటాబేస్ అనేది డేటా యొక్క సేకరణ - DynamoDB మినహాయింపు కాదు. డేటాబేస్‌లు చాలా డేటాను కలిగి ఉంటాయి, అవి ముందుగా నిర్వచించబడిన మెకానిజం లేకుండా తిరిగి పొందడం కష్టం. ఇక్కడే క్వెరీ కమాండ్ ముఖ్యమైన పాత్ర పోషిస్తుంది.

ఏదైనా డేటాబేస్ మేనేజ్‌మెంట్ సిస్టమ్ వలె, DynamoDB మీ డేటాను యాక్సెస్ చేయడానికి మరియు మానిప్యులేట్ చేయడానికి సిస్టమ్‌తో ఇంటరాక్ట్ అయ్యే వివిధ ప్రశ్న పద్ధతులను అందిస్తుంది. DynamoDBలో క్వెరీ చేయడం అనేది చాలా శక్తివంతమైన సాధనం, ఇది క్వెరీ కమాండ్‌కు సంబంధించిన అంశం లేదా ఐటెమ్‌ల సమూహాన్ని తిరిగి పొందడానికి మిమ్మల్ని అనుమతిస్తుంది.

ఈ కథనం DynamoDB క్వెరీ ఆపరేషన్స్ యొక్క ప్రధాన ఉదాహరణలను వివరిస్తుంది.







సాధారణ DynamoDB ప్రశ్న ఉదాహరణలు

DynamoDBలో క్వెరీ ఆపరేషన్ కోసం డిఫాల్ట్ ప్రవర్తన ప్రశ్న ఐటెమ్‌లతో అనుబంధించబడిన అన్ని ఐటెమ్‌లను తిరిగి ఇవ్వడం. ఆసక్తికరంగా, DynamoDBలోని క్వెరీ కమాండ్ టేబుల్‌లు లేదా సెకండరీ ఇండెక్స్‌లతో ఉపయోగపడుతుంది.



ఏది ఏమైనప్పటికీ, మీరు మీ విభజన కీ విలువ కోసం సమానత్వ స్థితిని పేర్కొనాలని ఎల్లప్పుడూ నిర్ధారించుకోండి. మళ్ళీ, మీరు కమాండ్‌లో ఒకదాన్ని ఉపయోగిస్తే క్రమబద్ధీకరణ కీ కోసం మీరు వేరే షరతును అందించాల్సి రావచ్చు.



DynamoDBని ప్రశ్నించేటప్పుడు మీరు ఎదుర్కొనే ఇతర పారామీటర్లలో KeyConditionExpression మరియు FilterExpression కూడా ఉన్నాయి. KeyConditionExpression మీరు ప్రశ్నించాలనుకుంటున్న కీలక విలువలను నిర్దేశిస్తుంది. మరోవైపు, మీరు ప్రతిస్పందనను పొందే ముందు FilterExpression ప్రశ్న ఫలితాల నుండి అంశాలను తీసివేస్తుంది. మీరు పేర్కొన్న ఎక్స్‌ప్రెషన్ పారామీటర్‌ల కోసం ఎక్స్‌ప్రెషన్‌అట్రిబ్యూట్‌వాల్యూలను ప్లేస్‌హోల్డర్‌లుగా ఉపయోగిస్తారు.





DynamoDB ప్రశ్న ఉదాహరణలు:

ప్రాథమిక కీల ఆధారంగా పట్టిక నుండి ఒకే అంశాన్ని కనుగొనడం

మీరు అంశం విభజన కీ మరియు క్రమబద్ధీకరణ కీ విలువల కలయికపై ఆధారపడటం ద్వారా ఒకే అంశాన్ని కనుగొనడానికి DynmoDBలోని క్వెరీ యుటిలిటీని ఉపయోగించవచ్చు. అటువంటి ఆపరేషన్ కోసం వాక్యనిర్మాణం క్రింది విధంగా ఉంటుంది:



aws డైనమోడ్బి ప్రశ్న \

--టేబుల్-పేరు MyTableName \

--కీ-కండీషన్-వ్యక్తీకరణ 'పార్టిషన్‌కీ = :pk మరియు SortKey = :sk' \

--వ్యక్తీకరణ-లక్షణం-విలువలు '{':pk':{'S':'a123b'},':sk':{'S':'def456b'}}'

ఎగువ ప్రశ్న ప్రయోజనం, MyTableName పట్టిక నుండి విభజన కీ విలువ a1234b మరియు క్రమబద్ధీకరణ కీ విలువ odef456bతో అంశాన్ని తిరిగి పొందడం లక్ష్యంగా పెట్టుకుంది. ఉదాహరణకు, మన ‘ఆర్డర్‌లు’ పట్టికలో ఒక అంశాన్ని కనుగొనడానికి పై ప్రయోజనాన్ని ఉపయోగించవచ్చు. అంశం విభజన కీ విలువ కావచ్చు wr546gg Customer_IDని సూచిస్తుంది, అయితే దాని క్రమబద్ధీకరణ కీ విలువ ఉండవచ్చు 24536433 ఆర్డర్ సంఖ్యను సూచిస్తుంది.

ఫలితం క్రింది విధంగా ఉండవచ్చు:

పైన పేర్కొన్న ఫలితం wr546gg విభజన కీ విలువ మరియు 24536433 క్రమబద్ధీకరణ కీ విలువ కలిగిన ఏకైక అంశంగా హాలిడే పుస్తకాలను తిరిగి అందిస్తుంది. ఇది అంశంతో అనుబంధించబడిన అన్ని ఇతర అదనపు లక్షణాలను కూడా మీకు అందిస్తుంది. మా ఉదాహరణలో, ఇది ఇన్‌వాయిస్ నంబర్ మరియు చెల్లించిన మొత్తాన్ని తిరిగి తెస్తుంది.

ముఖ్యంగా, పేర్కొన్న ప్రాథమిక కీ విలువలకు సరిపోలే అంశం లేకుంటే ప్రశ్న కమాండ్ ఖాళీ జాబితాను తిరిగి తెస్తుంది.

తిరిగి పొందండి DynamoDB పట్టిక నుండి అన్ని అంశాలు నిర్దిష్ట లక్షణ విలువలతో సరిపోలుతున్నాయి

నిర్దిష్ట DynamoDB పట్టికలో ఒకే విధమైన లక్షణ విలువను కలిగి ఉన్న అన్ని అంశాలను తిరిగి పొందడానికి ఫిల్టర్ వ్యక్తీకరణను ఉపయోగించండి.

ఈ ప్రశ్న ఆపరేషన్ కోసం కమాండ్ క్రింద చూపిన విధంగా ఉంటుంది.

aws డైనమోడ్బి ప్రశ్న \

--టేబుల్-పేరు MyTableName \

--వడపోత-వ్యక్తీకరణ 'OtherAtribute1 = :val' \

--వ్యక్తీకరణ-లక్షణం-విలువలు '{':val':{'S':'value1'}}'

ఉదాహరణకు, మా మ్యూజిక్ టేబుల్‌లో 5 నిమిషాలకు పైగా ఉండే మరిన్ని పాటలను తిరిగి పొందడానికి పై ప్రశ్న ఆదేశాన్ని ఉపయోగించవచ్చు. దీన్ని సాధించడానికి, మేము మా OtherAtribute1 విలువను 5.00కి మరియు MyTableNameని సంగీతానికి సెట్ చేస్తాము.

క్రింద చూపిన విధంగా ఫలితం ఉంటుంది:

సంక్షిప్తత కోసం జాబితాను కత్తిరించడం అవసరం. కానీ ఫలితాల నుండి, మా క్వెరీ కమాండ్ మా DynamoDB మ్యూజిక్ టేబుల్ నుండి 5.00 ఫిల్టర్ ఎక్స్‌ప్రెషన్ విలువతో 11 అంశాలను తిరిగి పొందింది.

అట్రిబ్యూట్ విలువల ప్రత్యేక పరిధితో అన్ని అంశాలను తిరిగి పొందడం

నిర్దిష్ట పట్టికలోని అంశాలను తిరిగి పొందేటప్పుడు క్రింది ఆదేశం ఉపయోగపడుతుంది:

aws డైనమోడ్బి ప్రశ్న \

--టేబుల్-పేరు <టేబుల్ పేరు> \

--కీ-కండీషన్-వ్యక్తీకరణ 'attribute_name BETWEEN :val1 మరియు :val2' \

--వ్యక్తీకరణ-లక్షణం-విలువలు '{':val1':{'N':''},':val2':{'N':''}}'

వాస్తవానికి, మీరు ఏదైనా ఇతర కమాండ్ లైన్‌తో మీ అనుకూలీకరించిన ఆధారాలతో అన్ని లక్షణాలను భర్తీ చేయాలి. ఉదాహరణకు, మేము 'వయస్సు' అని నామకరణం చేయబడిన శ్రేణి కీ లక్షణంతో మా ఉద్యోగుల పట్టికను ఉపయోగిస్తాము. మేము 30 మరియు 42 మధ్య వయస్సు గల యజమానులను తిరిగి పొందాలని లక్ష్యంగా పెట్టుకున్నాము.

మా కొత్త కమాండ్ లైన్ క్రింది విధంగా ఉంటుంది:

aws డైనమోడ్బి ప్రశ్న \

--టేబుల్-పేరు వినియోగదారులు \

--కీ-కండీషన్-వ్యక్తీకరణ 'వయస్సు:val1 మరియు :val2 మధ్య' \

--వ్యక్తీకరణ-లక్షణం-విలువలు '{':val1':{'N':'30'},':val2':{'N':'42'}}'

పై యుటిలిటీని అమలు చేయడం వలన దిగువ చిత్రంలో ఉన్న ప్రతిస్పందనకు సమానమైన ప్రతిస్పందన వస్తుంది;

ప్రతి ప్రశ్నకు అట్రిబ్యూట్ విలువను సూచిస్తూ, ప్రశ్న 6 ఐటెమ్‌లను తిరిగి తీసుకొచ్చిందని పై ఉదాహరణ చూపిస్తుంది. స్కాన్డ్‌కౌంట్ అనేది టేబుల్‌లో స్కాన్ చేయబడిన ఐటెమ్‌ల సంఖ్య అయితే కెపాసిటీయూనిట్‌లు అనేది ఆపరేషన్ సమయంలో వినియోగించే యూనిట్ల మొత్తం.

ముగింపు

DynamoDB ఒక NoSQL డేటాబేస్ కాబట్టి, దాని క్వెరీ ఆపరేషన్ మీ సాధారణ AQL డేటాబేస్ లాగా ప్రవర్తించదు. కానీ మీరు చేసిన తర్వాత, ఆపరేషన్ చాలా శక్తివంతమైనదని మరియు డేటాబేస్‌తో మీ పరస్పర చర్యను తగ్గించగలదని మీరు కనుగొంటారు.