Παραδείγματα ερωτημάτων DynamoDB

Paradeigmata Erotematon Dynamodb



Μια βάση δεδομένων είναι μια συλλογή δεδομένων — το DynamoDB δεν αποτελεί εξαίρεση. Οι βάσεις δεδομένων περιέχουν πολλά δεδομένα που μπορεί να είναι δύσκολο να ανακτηθούν χωρίς προκαθορισμένο μηχανισμό. Εδώ η εντολή query παίζει σημαντικό ρόλο.

Όπως κάθε σύστημα διαχείρισης βάσεων δεδομένων, το DynamoDB προσφέρει διάφορες μεθόδους αναζήτησης μέσω των οποίων μπορείτε να αλληλεπιδράσετε με το σύστημα για πρόσβαση και χειρισμό των δεδομένων σας. Το ερώτημα στο DynamoDB είναι ένα πολύ ισχυρό εργαλείο που σας επιτρέπει να ανακτήσετε ένα στοιχείο ή μια ομάδα στοιχείων που σχετίζονται με την εντολή ερωτήματος.

Αυτό το άρθρο περιγράφει τα κύρια παραδείγματα των λειτουργιών ερωτήματος DynamoDB.







Παραδείγματα κοινών ερωτημάτων DynamoDB

Η προεπιλεγμένη συμπεριφορά για τη λειτουργία ερωτήματος στο DynamoDB είναι η επιστροφή όλων των στοιχείων που σχετίζονται με τα στοιχεία ερωτήματος. Είναι ενδιαφέρον ότι η εντολή ερωτήματος στο DynamoDB μπορεί να χρησιμοποιηθεί με πίνακες ή δευτερεύοντες ευρετήρια.



Όποια και αν είναι η περίπτωση, βεβαιωθείτε πάντα ότι καθορίζετε την συνθήκη ισότητας για την τιμή του κλειδιού διαμερίσματός σας. Και πάλι, ίσως χρειαστεί να δώσετε μια διαφορετική συνθήκη για το κλειδί ταξινόμησης σε περίπτωση που χρησιμοποιήσετε ένα στην εντολή.



Άλλες παράμετροι που θα συναντήσετε κατά την υποβολή ερωτημάτων στο DynamoDB περιλαμβάνουν επίσης το KeyConditionExpression και το FilterExpression. Η KeyConditionExpression καθορίζει τις βασικές τιμές που σκοπεύετε να υποβάλετε ερώτημα. Από την άλλη πλευρά, το FilterExpression αφαιρεί στοιχεία από τα αποτελέσματα του ερωτήματος προτού λάβετε απάντηση. Θα χρησιμοποιήσετε το ExpressionAttributeValues ​​ως σύμβολα κράτησης θέσης για τις παραμέτρους έκφρασης που αναφέρονται.





Τα παραδείγματα ερωτημάτων DynamoDB περιλαμβάνουν:

Εύρεση ενός μεμονωμένου στοιχείου από έναν πίνακα με βάση τα κύρια κλειδιά

Μπορείτε να χρησιμοποιήσετε το βοηθητικό πρόγραμμα Query στο DynmoDB για να βρείτε ένα μεμονωμένο στοιχείο βασιζόμενοι σε έναν συνδυασμό του κλειδιού διαμερίσματος του στοιχείου και των τιμών του κλειδιού ταξινόμησης. Η σύνταξη για μια τέτοια λειτουργία είναι η εξής:



aws dynamodb ερώτημα \

--όνομα πίνακα MyTableName \

--κλειδί-κατάσταση-έκφραση 'PartitionKey = :pk ΚΑΙ SortKey = :sk' \

--έκφραση-ιδιότητα-τιμές '{':pk':{'S':'a123b'},':sk':{'S':'def456b'}}'

Το παραπάνω βοηθητικό πρόγραμμα ερωτημάτων στοχεύει στην ανάκτηση ενός στοιχείου με τιμή κλειδιού διαμερίσματος a1234b και τιμή κλειδιού ταξινόμησης odef456b από τον πίνακα MyTableName. Για παράδειγμα, μπορούμε να χρησιμοποιήσουμε το παραπάνω βοηθητικό πρόγραμμα για να βρούμε ένα στοιχείο στον πίνακα 'Παραγγελίες'. Η τιμή κλειδιού διαμερίσματος του στοιχείου μπορεί να είναι wr546gg που αντιπροσωπεύει το Customer_ID, ενώ η τιμή του κλειδιού ταξινόμησης μπορεί να είναι 24536433 που αντιπροσωπεύει τον αριθμό παραγγελίας.

Το αποτέλεσμα μπορεί να είναι το εξής:

Το παραπάνω αποτέλεσμα επαναφέρει τα Βιβλία διακοπών ως το μόνο στοιχείο που έχει τιμή κλειδιού διαμερίσματος wr546gg και τιμή κλειδιού ταξινόμησης 24536433. Σας φέρνει επίσης όλα τα άλλα πρόσθετα χαρακτηριστικά που σχετίζονται με το στοιχείο. Στην απεικόνισή μας, επαναφέρει τον αριθμό τιμολογίου και το ποσό που καταβλήθηκε.

Συγκεκριμένα, η εντολή ερωτήματος θα επαναφέρει μια κενή λίστα εάν δεν υπάρχει στοιχείο που να ταιριάζει με τις καθορισμένες τιμές του πρωτεύοντος κλειδιού.

Ανακτώ Όλα τα στοιχεία από έναν πίνακα DynamoDB που αντιστοιχούν σε συγκεκριμένες τιμές χαρακτηριστικών

Χρησιμοποιήστε μια έκφραση φίλτρου για να ανακτήσετε όλα τα στοιχεία που έχουν παρόμοια τιμή χαρακτηριστικού σε έναν συγκεκριμένο πίνακα DynamoDB.

Η εντολή για αυτήν τη λειτουργία ερωτήματος είναι όπως φαίνεται παρακάτω.

aws dynamodb ερώτημα \

--όνομα πίνακα MyTableName \

--φίλτρο-έκφραση 'OtherAttribute1 = :val' \

--έκφραση-ιδιότητα-τιμές '{':val':{'S':'value1'}}'

Για παράδειγμα, μπορούμε να χρησιμοποιήσουμε την παραπάνω εντολή ερωτήματος για να ανακτήσουμε τραγούδια με περισσότερα που διαρκούν πάνω από 5 λεπτά στον πίνακα Μουσική μας. Για να το πετύχουμε αυτό, θα ορίσουμε την τιμή OtherAttribute1 σε 5,00 και το MyTableName σε Music.

Το αποτέλεσμα μπορεί να είναι όπως φαίνεται παρακάτω:

Είναι απαραίτητο να περικόψετε τη λίστα για συντομία. Αλλά από τα αποτελέσματα, η εντολή ερωτήματός μας ανέκτησε 11 στοιχεία με τιμή έκφρασης φίλτρου 5,00 από τον πίνακα DynamoDB Music.

Ανάκτηση όλων των αντικειμένων με ένα συγκεκριμένο εύρος τιμών χαρακτηριστικών

Η παρακάτω εντολή είναι χρήσιμη κατά την ανάκτηση στοιχείων σε έναν συγκεκριμένο πίνακα:

aws dynamodb ερώτημα \

--όνομα πίνακα <όνομα πίνακα> \

--κλειδί-κατάσταση-έκφραση 'attribute_name BETWEEN :val1 AND :val2' \

--έκφραση-ιδιότητα-τιμές '{':val1':{'N':''},':val2':{'N':''}}'

Φυσικά, θα χρειαστεί να αντικαταστήσετε όλα τα χαρακτηριστικά με τα προσαρμοσμένα διαπιστευτήριά σας όπως θα έπρεπε με οποιαδήποτε άλλη γραμμή εντολών. Για παράδειγμα, θα χρησιμοποιήσουμε τον πίνακα Υπαλλήλων με ένα χαρακτηριστικό κλειδιού εύρους που βαφτίζεται 'ηλικία'. Στόχος μας είναι να ανακτήσουμε εργοδότες ηλικίας μεταξύ 30 και 42 ετών.

Η νέα μας γραμμή εντολών θα είναι η εξής:

aws dynamodb ερώτημα \

--table-name Χρήστες \

--κλειδί-κατάσταση-έκφραση 'ηλικία μεταξύ :val1 ΚΑΙ :val2' \

--έκφραση-ιδιότητα-τιμές '{':val1':{'N':'30'},':val2':{'N':'42'}}'

Η εκτέλεση του παραπάνω βοηθητικού προγράμματος θα φέρει μια απόκριση παρόμοια με αυτή στην παρακάτω εικόνα.

Η παραπάνω εικόνα δείχνει ότι το ερώτημα έφερε πίσω 6 στοιχεία, υποδεικνύοντας την τιμή του χαρακτηριστικού για κάθε ερώτημα. Το ScannedCount είναι ο αριθμός των στοιχείων που σαρώθηκαν στον πίνακα ενώ οι μονάδες χωρητικότητας είναι ο αριθμός των μονάδων που καταναλώθηκαν κατά τη διάρκεια της λειτουργίας.

συμπέρασμα

Δεδομένου ότι το DynamoDB είναι μια βάση δεδομένων NoSQL, η λειτουργία ερωτημάτων του δεν συμπεριφέρεται όπως αυτή της συνηθισμένης βάσης δεδομένων AQL. Αλλά μόλις το κάνετε, θα ανακαλύψετε ότι η λειτουργία είναι αρκετά ισχυρή και θα κάνει την αλληλεπίδρασή σας με τη βάση δεδομένων να είναι πιο γρήγορη.