Προγραμματισμός

Πώς να αξιοποιήσετε στο έπακρο το δωρεάν επίπεδο Azure Cosmos DB

Το Azure’s Cosmos DB είναι ένα από τα καλύτερα χαρακτηριστικά του. Μια πολυδιάστατη κατανεμημένη βάση δεδομένων, σας δίνει τη βάση για τη δημιουργία πραγματικά εγγενών εφαρμογών cloud με μια σειρά μοντέλων συνέπειας που μπορούν να αντιστοιχιστούν στον τρόπο λειτουργίας της εφαρμογής σας. Όμως δεν είναι εύκολο να ξεκινήσετε και μια εφαρμογή με άσχημα διαμορφωμένη ή σχεδιασμένη εφαρμογή μπορεί να γίνει γρήγορα ακριβή.

Είναι καλό να βλέπουμε ότι το Cosmos DB διαθέτει τώρα ένα δωρεάν επίπεδο που μπορεί να σας βοηθήσει να ξεκινήσετε την ανάπτυξη εφαρμογών εκτός ενός περιορισμένου περιβάλλοντος ανάπτυξης. Το νέο επίπεδο δεν είναι μεγάλο: βασίζεται στην ελάχιστη διαμόρφωση για το Cosmos DB και προσφέρει 400 RU / s (μονάδες αιτήματος ανά δευτερόλεπτο) και 5 GB αποθήκευσης, με έως και 25 κοντέινερ σε μια κοινόχρηστη βάση δεδομένων. Αυτό είναι περισσότερο από αρκετό για μια μικρή εφαρμογή που προσφέρει περισσότερες αναγνώσεις από ό, τι γράφει, για παράδειγμα, και δεν εξαρτάται από μοντέλα ισχυρής συνοχής.

Πρέπει να γνωρίζετε ότι παρόλο που το Cosmos DB είναι multiregion, μπορείτε να εκτελέσετε μόνο μία βάση δεδομένων 400 RU / s στο δωρεάν επίπεδο. Στην πράξη, που σας περιορίζει σε μία μόνο περιοχή, καθώς οι πρόσθετες περιοχές θα χρειάζονται η καθεμία τη δική τους παρουσία 400 RU / s και αυτές θα χρεώνονται με κανονικές τιμές για αυτές τις περιοχές, ανά ώρα.

Ξεκινώντας με το δωρεάν Cosmos DB

Θα χρειαστεί να δημιουργήσετε έναν νέο λογαριασμό για να επωφεληθείτε από το δωρεάν επίπεδο. δεν είναι διαθέσιμο ως επιλογή χρέωσης σε υπάρχουσες εφαρμογές. Τα 400 RU / s του δωρεάν επιπέδου είναι το μικρότερο ποσό που μπορεί να παρασχεθεί σε μια βάση δεδομένων Cosmos DB. Αυτό σας δίνει περίπου 1 δισεκατομμύριο διαβάσεις το μήνα, κάτι που θα πρέπει να είναι αρκετό για να ξεκινήσει η εφαρμογή σας ή να σας επιτρέψει να αναπτύξετε και να εκτελέσετε μια εσωτερική κατανεμημένη βάση δεδομένων ως μέρος ενός πιλοτικού έργου. Μόλις φτάσετε στην άκρη του δωρεάν επιδόματος RU / s, μπορείτε να προσθέσετε περισσότερη χωρητικότητα σε μπλοκ των 100 RU / s, με χρέωση ανά ώρα.

Αξίζει να καταλάβετε τι είναι μια RU βάσης δεδομένων Cosmos. Η RU είναι μια μονάδα αιτήματος και οι χρεωστικές RU / s είναι ένα μέτρο της παρεχόμενης απόδοσης της βάσης δεδομένων σας, καλύπτοντας όλες τις λειτουργίες της. Αυτό περιλαμβάνει διαβάσεις, εγγραφές, ενημερώσεις, διαγραφές και άλλα. Η Microsoft προτείνει ότι 1 RU / s είναι ισοδύναμο με ένα που τελικά είναι συνεπές (το πιο αργό και λιγότερο απαιτητικό επίπεδο συνέπειας που διατίθεται στο Cosmos DB) ανά δευτερόλεπτο ενός στοιχείου 1KB. Για να γράψετε το ίδιο αντικείμενο 1KB ανά δευτερόλεπτο είναι 5 RU / s. Όσο πιο περίπλοκη είναι η λειτουργία, τόσο περισσότερες RU / s καταναλώνει.

Κατανόηση της κατανάλωσης των μονάδων αιτήματος

Είναι δύσκολο να πούμε ακριβώς πόσες RU / s θα καταναλώσει μια εφαρμογή. Ωστόσο, μπορείτε να σκεφτείτε τους περιορισμούς του Cosmos DB που μπορούν να επηρεάσουν τις RU / s που χρησιμοποιούνται από τη βάση δεδομένων σας. Πρώτον, πρέπει να λάβετε υπόψη το μέγεθος των αντικειμένων σας. Όσο μεγαλύτερο είναι το αντικείμενο, τόσο περισσότερες RU / s χρησιμοποιεί για ανάγνωση ή εγγραφή. Ομοίως, η ευρετηρίαση καταναλώνει RU / s και αν χρησιμοποιείτε το προεπιλεγμένο μοντέλο ευρετηρίασης, οι πόροι που απαιτούνται για τη σύνταξη στοιχείων θα αυξηθούν καθώς προσθέτετε περισσότερα στη βάση δεδομένων σας. Στη συνέχεια, υπάρχει η επιλογή σας για μοντέλα συνέπειας, με τόσο ισχυρή όσο και οριοθετημένη αδράνεια που χρειάζεται περίπου διπλάσια RU / s για ανάγνωση από τα άλλα, λιγότερο αυστηρά μοντέλα της Cosmos DB.

Με περιορισμένο αριθμό RU / s διαθέσιμων στο δωρεάν επίπεδο, ίσως θελήσετε να επιλύσετε αυτούς τους περιορισμούς για να περιορίσετε την κατανάλωση στο ελάχιστο. Μια επιλογή είναι να απενεργοποιήσετε όλη τη δημιουργία ευρετηρίου για τη βάση δεδομένων σας, αν και στην πράξη ίσως προτιμάτε να περιορίσετε την ευρετηρίαση σε συγκεκριμένες ιδιότητες σε κάθε αποθηκευμένο έγγραφο JSON. Ταυτόχρονα, πρέπει να σκεφτείτε πώς λειτουργεί η εφαρμογή σας και αν είναι καλύτερο να χρησιμοποιήσετε κάτι σαν τη συνοχή της περιόδου λειτουργίας για να βελτιώσετε τις αντιλήψεις των χρηστών για την απόδοση, μειώνοντας παράλληλα τις χρησιμοποιούμενες RU / s

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

Η ρύθμιση της βάσης δεδομένων σας είναι αρκετά εύκολη. Στο Azure Portal δημιουργήστε έναν νέο λογαριασμό Cosmos DB και από τον Azure Data Explorer δημιουργήστε μια νέα βάση δεδομένων. Ξεκινήστε δίνοντάς του ένα αναγνωριστικό και, στη συνέχεια, παρέχετε την απόδοση. Ρυθμίστε το σε 400 RU / s. Τα υψηλότερα ποσά θα εμφανίζουν εκτιμήσεις κόστους, αλλά καθώς δημιουργείτε μια δωρεάν παρουσία, δεν χρειάζεται να το δοκιμάσετε. Δεν περιορίζεστε στην πύλη. μπορείτε να χρησιμοποιήσετε το Azure CLI, το PowerShell ή ακόμα και μέσω προγραμματισμού από το εσωτερικό του SDM Cosmos DB.

Δημιουργία εφαρμογών στο δωρεάν επίπεδο Cosmos DB

Στο Cosmos DB μια βάση δεδομένων είναι ένα σύνολο κοντέινερ, τα οποία χρησιμοποιούνται για τον χειρισμό διαμερισμάτων σε μια περιοχή Azure και διανομή σε όλες τις περιοχές στις οποίες χρησιμοποιείτε τη βάση δεδομένων σας. Κάθε βάση δεδομένων μπορεί να διαμορφωθεί ώστε να είναι ένα συγκεκριμένο μοντέλο: NoSQL (τόσο MongoDB όσο και Cassandra), SQL, Gremlin και πίνακες. Οι περισσότερες εφαρμογές θα λειτουργήσουν ως βάση δεδομένων εγγράφων NoSQL που θα αποθηκεύει δεδομένα JSON.

Μόλις δημιουργήσετε μια βάση δεδομένων και επιλέξετε ένα μοντέλο, μπορείτε να σκεφτείτε ένα κοντέινερ Cosmos DB ως τον τρόπο κλιμάκωσης της βάσης δεδομένων. Εκτός του δωρεάν επιπέδου, μπορείτε να ορίσετε την απόδοση σε RU / s σε βάση κοντέινερ. στο δωρεάν επίπεδο μοιράζεστε αυτήν την απόδοση σε όλα τα κοντέινερ στη βάση δεδομένων σας, επομένως δεν μπορείτε να προβλέψετε την απόδοση για οποιοδήποτε συγκεκριμένο κοντέινερ. Οι παρουσίες επί πληρωμή έχουν ένα συσχετισμένο SLA, γι 'αυτό σας επιτρέπουν να ορίσετε απόδοση σε βάση ανά κοντέινερ.

Η εργασία σε κοντέινερ με αυτόν τον τρόπο ισοδυναμεί με τη χρήση ενός συμπλέγματος σε μια βάση δεδομένων NoSQL και λειτουργεί καλά για αυτόν τον τύπο φόρτου εργασίας. Χρησιμοποιώντας το ίδιο κλειδί διαμέρισης σε όλα τα κοντέινερ σας, το Cosmos DB θα μοιράζεται αυτόματα την απόδοση μεταξύ τους. Μπορείτε να χρησιμοποιήσετε αυτήν την προσέγγιση με τα 25 κοντέινερ της δωρεάν βαθμίδας για να μειώσετε τα σημεία συμφόρησης για τους χρήστες της εφαρμογής σας. Εάν το αντιμετωπίζετε ως μια θραυσμένη, συγκεντρωτική βάση δεδομένων NoSQL, θα πρέπει να το βρείτε σχετικά εύκολο να το συμπεριλάβετε στις εφαρμογές σας, χρησιμοποιώντας το για να φιλοξενεί δείκτες σε άλλο περιεχόμενο και όχι το ίδιο το περιεχόμενο.

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

Είναι σημαντικό να σκεφτείτε πώς να εκμεταλλευτείτε μια κατανεμημένη βάση δεδομένων, όπως το Cosmos DB, αντί να μεταφέρετε απλώς τους υπάρχοντες φόρτους εργασίας σας - είναι απίθανο να ταιριάξει. Αντ 'αυτού, σκεφτείτε το ως την ευκαιρία σας να δημιουργήσετε μια πραγματικά κατανεμημένη εφαρμογή cloud. Σε αυτήν την περίπτωση, 400 RU / s είναι περισσότερο από αρκετά για να εκκινήσετε μια νέα εφαρμογή και να την λειτουργήσετε με έναν λογικό αριθμό χρηστών.

$config[zx-auto] not found$config[zx-overlay] not found