Πώς να ρυθμίσετε τα κλειδιά διαμερίσματος DynamoDB

Pos Na Rythmisete Ta Kleidia Diamerismatos Dynamodb



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

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







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



Τι είναι ένα κλειδί διαμερίσματος DynamoDB και γιατί είναι σημαντικό;

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



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





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

Επιπλέον, το DynamoDB σάς επιτρέπει να διανείμετε τα δεδομένα σε διαμερίσματα χωρητικότητας έως και 10 GB. Κάθε πίνακας μπορεί, επομένως, να έχει μία ή περισσότερες κατατμήσεις. Μπορείτε να χρησιμοποιήσετε την τιμή ενός κλειδιού διαμερίσματος ως είσοδο στην εσωτερική συνάρτηση κατακερματισμού της βάσης δεδομένων, με την έξοδο από τη συνάρτηση κατακερματισμού που καθορίζει το διαμέρισμα στο οποίο είναι αποθηκευμένο το στοιχείο. Επιπλέον, η θέση ενός στοιχείου καθορίζει το διαμέρισμα στο οποίο είναι αποθηκευμένο.



Πώς να ρυθμίσετε τα κλειδιά διαμερίσματος DynamoDB

Η ρύθμιση των κλειδιών διαμερισμάτων μπορεί να είναι μια δύσκολη εργασία εάν δεν έχετε ακόμη κατανοήσει την έννοια. Ωστόσο, αυτή η διαδικασία μπορεί να είναι εύκολη και αποτελεσματική μόλις συγκεντρώσετε τις απαραίτητες συμβουλές και κόλπα. Ακολουθούν ορισμένες από τις βέλτιστες πρακτικές που πρέπει να ακολουθήσετε κατά τη ρύθμιση των κλειδιών διαμερισμάτων:

1. Επιλέξτε τα σωστά κλειδιά διαμερίσματος

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

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

2. Χρησιμοποιήστε τη σύμβαση ονομασίας PK

Τα κλειδιά διαμερίσματος χρησιμοποιούν συχνά τη σύμβαση ονομασίας pk. Αυτή η μέθοδος ονομασίας εγγυάται έναν ακριβή μηχανισμό ονοματοδοσίας χωρίς διακρίσεις βάσει του αντιπροσωπευόμενου τύπου ή μοντέλου αντικειμένου.

Για παράδειγμα, ενώ μπορεί να μπείτε στον πειρασμό να χρησιμοποιήσετε το postID και το userID ως κλειδιά διαμερίσματος για μοντέλα Post και User σε έναν πίνακα, το DynamoDB επιτρέπει μόνο ένα κλειδί διαμερίσματος για κάθε πίνακα. Έτσι, δεν μπορείτε να χρησιμοποιήσετε δύο σε έναν μόνο πίνακα. Σημειώστε ότι οι πίνακες χωρίς κλειδιά ταξινόμησης μπορούν να έχουν αναγνωριστικά κλειδιά διαμερίσματος.

3. Χρησιμοποιήστε Composite Attributes

Μερικοί πίνακες επωφελούνται περισσότερο από τα σύνθετα κλειδιά. Αυτό σημαίνει ότι χρειάζεστε περισσότερα από ένα χαρακτηριστικό για να σχηματίσετε τα μοναδικά κλειδιά. Για παράδειγμα, μπορείτε εύκολα να χρησιμοποιήσετε το customer_ID, country_code και product_ID για να σχηματίσετε ένα κλειδί κατάτμησης (customerid#countrycode#productid). Ταυτόχρονα, μπορείτε να χρησιμοποιήσετε το order_id ως κλειδί ταξινόμησης.

4. Προσθέστε τυχαίους αριθμούς κατάλληλα

Εάν περιμένετε τεράστιο όγκο εγγραφών για κάθε πλήκτρο, η χρήση ενός πρόσθετου προθέματος ή επιθέματος κάνει τις θήκες βαριάς χρήσης πιο αποτελεσματικές. Για παράδειγμα, μπορείτε να χρησιμοποιήσετε τον αριθμό τιμολογίου μαζί με ένα σύνολο τυχαίων αριθμών ως κλειδί διαμερίσματος. Θυμηθείτε να διαχωρίσετε τα διάφορα τμήματα του κλειδιού διαμερίσματος. Για παράδειγμα, το InvoiceNumber#125656#0 ως κλειδί διαμερίσματος είναι ιδανικό για βαριά χρήση με χιλιάδες εγγραφές ανά δευτερόλεπτο.

Δημιουργήστε ένα κλειδί διαμερίσματος DynamoDB

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

AttributeName=string,KeyType=string ...

Στη δεδομένη σύνταξη, το όνομα του χαρακτηριστικού είναι το πραγματικό όνομα του χαρακτηριστικού, ενώ ο τύπος χαρακτηριστικού μπορεί να είναι είτε συμβολοσειρά(S), αριθμός(Ν) είτε δυαδικός(Β).

Μπορείτε επίσης να επιλέξετε να χρησιμοποιήσετε μια σύνταξη JSON όπως φαίνεται στα παρακάτω:

[

{

'AttributeName': 'string',

'KeyType': 'HASH'

}

...

]

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

Τέλος, είναι επίσης δυνατό να αλλάξετε ένα κλειδί κατάτμησης χρησιμοποιώντας το ακόλουθο βοηθητικό πρόγραμμα:

DynamoDBClient.updateItem({
'TableName': 'myTable_Name',
'Κλειδί': {
'pk': {
'S': 'my_PartitionKey'
}
},
'UpdateExpression': 'SET #emailaddress = :emailaddress',
'ExpressionAttributeNames': {
'#email': 'emailaddress'
},
'ExpressionAttributeValues': {
':διεύθυνση ηλεκτρονικού ταχυδρομείου': {
'Σ': ' [email προστατεύεται] '
}
}
})

Το συγκεκριμένο βοηθητικό πρόγραμμα ενημερώνει το χαρακτηριστικό email σας ώστε να μοιάζει με αυτό που έχετε στο [email προστατεύεται] για το στοιχείο όπου το κλειδί διαμερίσματος (pk) είναι ίσο με το my_PartitionKey.

συμπέρασμα

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