Amazon Redshift Parallel Scaling Guide and Test Results

Amazon Redshift Parallel Scaling Guide and Test Results

Στο Skyeng χρησιμοποιούμε το Amazon Redshift, συμπεριλαμβανομένης της παράλληλης κλιμάκωσης, οπότε βρήκαμε ενδιαφέρον αυτό το άρθρο του Stefan Gromoll, ιδρυτή του dotgo.com, για το intermix.io. Μετά τη μετάφραση, λίγη από την εμπειρία μας από τον μηχανικό δεδομένων Daniyar Belkhodzhaev.

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

Η παράλληλη κλιμάκωση του Amazon Redshift δίνει στα συμπλέγματα Redshift πρόσθετη χωρητικότητα για τη διαχείριση όγκων αιχμής αιτημάτων. Λειτουργεί μεταφέροντας αιτήματα σε νέα «παράλληλα» συμπλέγματα στο παρασκήνιο. Τα αιτήματα δρομολογούνται με βάση τη διαμόρφωση και τους κανόνες του WLM.

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

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

Απαιτήσεις συμπλέγματος

Για να χρησιμοποιήσετε την παράλληλη κλιμάκωση, το σύμπλεγμα Amazon Redshift πρέπει να πληροί τις ακόλουθες απαιτήσεις:

- πλατφόρμα: EC2-VPC;
— τύπος κόμβου: dc2.8xlarge, ds2.8xlarge, dc2.large ή ds2.xlarge;
— αριθμός κόμβων: από 2 έως 32 (τα συμπλέγματα μεμονωμένων κόμβων δεν υποστηρίζονται).

Αποδεκτοί τύποι αιτημάτων

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

— Τα ερωτήματα SELECT είναι μόνο για ανάγνωση (αν και έχουν προγραμματιστεί περισσότεροι τύποι).
— το ερώτημα δεν αναφέρεται σε πίνακα με το στυλ ταξινόμησης INTERLEAVED.
- Το ερώτημα δεν χρησιμοποιεί το Amazon Redshift Spectrum για αναφορά σε εξωτερικούς πίνακες.

Για να δρομολογηθεί στο σύμπλεγμα παράλληλης κλίμακας, το αίτημα πρέπει να βρίσκεται στην ουρά. Επιπλέον, ερωτήματα κατάλληλα για την ουρά SQA (Επιτάχυνση σύντομου ερωτήματος), δεν θα εκτελείται σε συστάδες παράλληλης κλίμακας.

Οι ουρές και το SQA απαιτούν σωστή διαμόρφωση Διαχείριση φόρτου εργασίας Redshift (WLM). Συνιστούμε να βελτιστοποιήσετε πρώτα το WLM σας - αυτό θα μειώσει την ανάγκη για παράλληλη κλιμάκωση. Και αυτό είναι σημαντικό γιατί η παράλληλη κλιμάκωση είναι δωρεάν μόνο για συγκεκριμένο αριθμό ωρών. Η AWS ισχυρίζεται ότι η παράλληλη κλιμάκωση θα είναι δωρεάν για το 97% των πελατών, γεγονός που μας φέρνει στο θέμα της τιμολόγησης.

Κόστος παράλληλης κλιμάκωσης

Το AWS προσφέρει ένα πιστωτικό μοντέλο για παράλληλη κλιμάκωση. Κάθε ενεργό σύμπλεγμα Amazon RedShift Συσσωρεύει πιστώσεις ανά ώρα, έως και μία ώρα δωρεάν μονάδων παράλληλης κλιμάκωσης ανά ημέρα.

Πληρώνετε μόνο όταν η χρήση των συμπλεγμάτων παράλληλης κλιμάκωσης υπερβαίνει το ποσό των πιστώσεων που έχετε λάβει.

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

Εκκίνηση παράλληλης κλιμάκωσης

Ενεργοποιείται η παράλληλη κλιμάκωση για κάθε ουρά WLM. Μεταβείτε στην κονσόλα AWS Redshift και επιλέξτε Διαχείριση φόρτου εργασίας από το αριστερό μενού πλοήγησης. Επιλέξτε την ομάδα παραμέτρων WLM του συμπλέγματός σας από το παρακάτω αναπτυσσόμενο μενού.

Θα δείτε μια νέα στήλη που ονομάζεται "Λειτουργία κλιμάκωσης συγχρονισμού" δίπλα σε κάθε ουρά. Η προεπιλογή είναι "Απενεργοποιημένη". Κάντε κλικ στο "Επεξεργασία" και μπορείτε να αλλάξετε τις ρυθμίσεις για κάθε ουρά.

Amazon Redshift Parallel Scaling Guide and Test Results

Διαμόρφωση

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

Ο προεπιλεγμένος αριθμός συμπλεγμάτων που χρησιμοποιούνται για παράλληλη κλιμάκωση είναι ένα (1), με δυνατότητα διαμόρφωσης έως δέκα (10) συστάδων συνολικά.
Ο συνολικός αριθμός συμπλεγμάτων για παράλληλη κλιμάκωση μπορεί να οριστεί από την παράμετρο max_concurrency_scaling_clusters. Η αύξηση της τιμής αυτής της παραμέτρου παρέχει πρόσθετα περιττά συμπλέγματα.

Amazon Redshift Parallel Scaling Guide and Test Results

Παρακολούθηση

Υπάρχουν πολλά επιπλέον γραφήματα διαθέσιμα στην κονσόλα AWS Redshift. Το γράφημα Max Concurrency Scaling Clusters εμφανίζει την τιμή των max_concurrency_scaling_clusters με την πάροδο του χρόνου.

Amazon Redshift Parallel Scaling Guide and Test Results

Ο αριθμός των ενεργών συμπλεγμάτων κλιμάκωσης εμφανίζεται στη διεπαφή χρήστη στην ενότητα "Δραστηριότητα κλιμάκωσης συγχρονισμού":

Amazon Redshift Parallel Scaling Guide and Test Results

Στην καρτέλα Ερωτήματα, υπάρχει μια στήλη που υποδεικνύει εάν το ερώτημα εκτελέστηκε στο κύριο σύμπλεγμα ή στο σύμπλεγμα παράλληλης κλίμακας:

Amazon Redshift Parallel Scaling Guide and Test Results

Ανεξάρτητα από το εάν ένα συγκεκριμένο ερώτημα εκτελέστηκε στο κύριο σύμπλεγμα ή μέσω ενός συμπλέγματος παράλληλης κλίμακας, αποθηκεύεται στο stl_query.concurrency_scaling_status.

Amazon Redshift Parallel Scaling Guide and Test Results

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

Παράδειγμα:

Amazon Redshift Parallel Scaling Guide and Test Results

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

Ευρήματα

Οι συγγραφείς ξεκίνησαν την παράλληλη κλιμάκωση για μία ουρά στο εσωτερικό σύμπλεγμα περίπου στις 18:30:00 GMT στις 29.03.2019/3/20. Άλλαξαν την παράμετρο max_concurrency_scaling_clusters σε 30 περίπου στις 00:29.03.2019:XNUMX στις XNUMX/XNUMX/XNUMX.

Για την προσομοίωση μιας ουράς αιτήματος, μειώσαμε τον αριθμό των υποδοχών για αυτήν την ουρά από 15 σε 5.

Παρακάτω είναι ένα γράφημα του πίνακα εργαλείων intermix.io που δείχνει τον αριθμό των αιτημάτων που εκτελούνται και βρίσκονται σε ουρά μετά τη μείωση του αριθμού των υποδοχών.

Amazon Redshift Parallel Scaling Guide and Test Results

Βλέπουμε ότι ο χρόνος αναμονής για αιτήματα στην ουρά έχει αυξηθεί, με τον μέγιστο χρόνο να ξεπερνά τα 5 λεπτά.

Amazon Redshift Parallel Scaling Guide and Test Results

Ακολουθούν οι σχετικές πληροφορίες από την κονσόλα AWS σχετικά με το τι συνέβη αυτό το διάστημα:

Amazon Redshift Parallel Scaling Guide and Test Results

Το Redshift κυκλοφόρησε τρία (3) συμπλέγματα παράλληλης κλίμακας όπως έχουν διαμορφωθεί. Φαίνεται ότι αυτά τα συμπλέγματα δεν χρησιμοποιήθηκαν ανεπαρκώς, παρόλο που πολλά αιτήματα στο σύμπλεγμα μας ήταν σε ουρά.

Το γράφημα χρήσης συσχετίζεται με το γράφημα δραστηριότητας κλιμάκωσης:

Amazon Redshift Parallel Scaling Guide and Test Results

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

Amazon Redshift Parallel Scaling Guide and Test Results

Ευρήματα

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

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

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

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

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

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

Σχόλιο από τον Daniyar Belkhodzhaev, Skyeng Data Engineer

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

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

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

Οι παρατηρήσεις μας συμπίπτουν σε μεγάλο βαθμό με τις εντυπώσεις των παιδιών από το intermix.io.

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

Έχοντας απαλλαγεί από τα μη φυσιολογικά φορτία τον Απρίλιο, όπως αναμενόταν η AWS, μπήκαμε στη λειτουργία περιστασιακής χρήσης - εντός του δωρεάν κανόνα.
Μπορείτε να παρακολουθείτε το κόστος παράλληλης κλιμάκωσης στο AWS Cost Explorer. Πρέπει να επιλέξετε Service - Redshift, Usage Type - CS, για παράδειγμα USW2-CS:dc2.large.

Μπορείτε να διαβάσετε περισσότερα για τις τιμές στα ρωσικά εδώ.

Πηγή: www.habr.com

Προσθέστε ένα σχόλιο