Amazon Redshift: Χαμηλότερη τιμή, υψηλότερη απόδοση | Υπηρεσίες Ιστού της Amazon

Amazon Redshift: Χαμηλότερη τιμή, υψηλότερη απόδοση | Υπηρεσίες Ιστού της Amazon

Κόμβος πηγής: 2959258

Όπως σχεδόν όλοι οι πελάτες, θέλετε να ξοδεύετε όσο το δυνατόν λιγότερα, ενώ παράλληλα έχετε την καλύτερη δυνατή απόδοση. Αυτό σημαίνει ότι πρέπει να δώσετε προσοχή στην τιμή-απόδοση. Με Amazon RedShift, μπορείτε να πάρετε το κέικ σας και να το φάτε κι εσείς! Το Amazon Redshift προσφέρει έως και 4.9 φορές χαμηλότερο κόστος ανά χρήστη και έως και 7.9 φορές καλύτερη απόδοση τιμής από άλλες αποθήκες δεδομένων cloud σε πραγματικούς φόρτους εργασίας χρησιμοποιώντας προηγμένες τεχνικές όπως η κλιμάκωση ταυτόχρονης υποστήριξης για την υποστήριξη εκατοντάδων ταυτόχρονων χρηστών, βελτιωμένη κωδικοποίηση συμβολοσειρών για ταχύτερη απόδοση ερωτήματος , και Χωρίς διακομιστή Amazon Redshift βελτιώσεις απόδοσης. Διαβάστε παρακάτω για να καταλάβετε γιατί η τιμή-απόδοση έχει σημασία και πώς η τιμή-απόδοση του Amazon Redshift είναι ένα μέτρο του πόσο κοστίζει η απόκτηση ενός συγκεκριμένου επιπέδου απόδοσης φόρτου εργασίας, δηλαδή απόδοσης απόδοσης επένδυσης (ROI) (απόδοση επένδυσης).

Επειδή τόσο η τιμή όσο και η απόδοση μπαίνουν στον υπολογισμό τιμής-απόδοσης, υπάρχουν δύο τρόποι να σκεφτούμε την τιμή-απόδοση. Ο πρώτος τρόπος είναι να διατηρήσετε σταθερή την τιμή: αν έχετε 1 $ να ξοδέψετε, πόση απόδοση λαμβάνετε από την αποθήκη δεδομένων σας; Μια βάση δεδομένων με καλύτερη απόδοση τιμής θα προσφέρει καλύτερη απόδοση για κάθε 1 $ που ξοδεύεται. Επομένως, όταν η τιμή διατηρείται σταθερή όταν συγκρίνετε δύο αποθήκες δεδομένων που κοστίζουν το ίδιο, η βάση δεδομένων με καλύτερη τιμή-απόδοση θα εκτελέσει τα ερωτήματά σας πιο γρήγορα. Ο δεύτερος τρόπος για να εξετάσετε την τιμή-απόδοση είναι να διατηρήσετε σταθερή την απόδοση: αν θέλετε να ολοκληρώσετε τον φόρτο εργασίας σας σε 10 λεπτά, ποιο θα κοστίσει; Μια βάση δεδομένων με καλύτερη απόδοση τιμής θα εκτελέσει τον φόρτο εργασίας σας σε 10 λεπτά με χαμηλότερο κόστος. Επομένως, όταν η απόδοση διατηρείται σταθερή όταν συγκρίνετε δύο αποθήκες δεδομένων που έχουν μέγεθος ώστε να παρέχουν την ίδια απόδοση, η βάση δεδομένων με καλύτερη απόδοση τιμής θα κοστίσει λιγότερο και θα σας εξοικονομήσει χρήματα.

Τέλος, μια άλλη σημαντική πτυχή της τιμής-απόδοσης είναι η προβλεψιμότητα. Το να γνωρίζετε πόσο θα κοστίσει η αποθήκη δεδομένων σας καθώς αυξάνεται ο αριθμός των χρηστών της αποθήκης δεδομένων είναι ζωτικής σημασίας για τον προγραμματισμό. Δεν θα πρέπει μόνο να προσφέρει την καλύτερη απόδοση τιμής σήμερα, αλλά και να κλιμακώνεται προβλέψιμα και να προσφέρει την καλύτερη απόδοση τιμής καθώς προστίθενται περισσότεροι χρήστες και φόρτος εργασίας. Μια ιδανική αποθήκη δεδομένων πρέπει να έχει γραμμική κλίμακα— η κλιμάκωση της αποθήκης δεδομένων σας για την παροχή διπλάσιας απόδοσης ερωτημάτων θα πρέπει ιδανικά να κοστίζει διπλάσιο (ή λιγότερο).

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

Τιμή-απόδοση για πραγματικούς φόρτους εργασίας

Μπορείτε να χρησιμοποιήσετε το Amazon Redshift για να τροφοδοτήσετε μια πολύ μεγάλη ποικιλία φόρτων εργασίας, από τη μαζική επεξεργασία σύνθετων αναφορών που βασίζονται σε εξαγωγή, μετασχηματισμό και φόρτωση (ETL) και ανάλυση ροής σε πραγματικό χρόνο έως πίνακες εργαλείων επιχειρηματικής ευφυΐας (BI) με χαμηλή καθυστέρηση πρέπει να εξυπηρετεί εκατοντάδες ή ακόμα και χιλιάδες χρήστες ταυτόχρονα με χρόνους απόκρισης δευτερολέπτου, και όλα τα ενδιάμεσα. Ένας από τους τρόπους με τους οποίους βελτιώνουμε συνεχώς την απόδοση τιμής για τους πελάτες μας είναι να εξετάζουμε συνεχώς την τηλεμετρία απόδοσης λογισμικού και υλικού από τον στόλο του Redshift, αναζητώντας ευκαιρίες και περιπτώσεις χρήσης πελατών όπου μπορούμε να βελτιώσουμε περαιτέρω την απόδοση του Amazon Redshift.

Μερικά πρόσφατα παραδείγματα βελτιστοποιήσεων απόδοσης με βάση την τηλεμετρία στόλου περιλαμβάνουν:

  • Βελτιστοποιήσεις ερωτημάτων συμβολοσειράς – Αναλύοντας τον τρόπο με τον οποίο το Amazon Redshift επεξεργαζόταν διαφορετικούς τύπους δεδομένων στον στόλο του Redshift, διαπιστώσαμε ότι η βελτιστοποίηση ερωτημάτων με βαριές συμβολοσειρές θα απέφερε σημαντικά οφέλη στον φόρτο εργασίας των πελατών μας. (Το συζητάμε λεπτομερέστερα αργότερα σε αυτήν την ανάρτηση.)
  • Αυτοματοποιημένες υλοποιημένες προβολές – Διαπιστώσαμε ότι οι πελάτες του Amazon Redshift εκτελούν συχνά πολλά ερωτήματα που έχουν κοινά μοτίβα υποερωτημάτων. Για παράδειγμα, πολλά διαφορετικά ερωτήματα μπορούν να ενώσουν τους ίδιους τρεις πίνακες χρησιμοποιώντας την ίδια συνθήκη σύνδεσης. Το Amazon Redshift είναι πλέον σε θέση να δημιουργεί και να διατηρεί αυτόματα υλοποιημένες προβολές και, στη συνέχεια, να ξαναγράφει με διαφάνεια ερωτήματα για να χρησιμοποιεί τις υλοποιημένες προβολές χρησιμοποιώντας τις μηχανικές εκμάθηση αυτοματοποιημένη υλοποιημένη προβολή λειτουργία αυτόνομης στο Amazon Redshift. Όταν είναι ενεργοποιημένες, οι αυτοματοποιημένες υλοποιημένες προβολές μπορούν να αυξήσουν με διαφάνεια την απόδοση των ερωτημάτων για επαναλαμβανόμενα ερωτήματα χωρίς καμία παρέμβαση χρήστη. (Λάβετε υπόψη ότι οι αυτοματοποιημένες προβολές δεν χρησιμοποιήθηκαν σε κανένα από τα αποτελέσματα αναφοράς που συζητούνται σε αυτήν την ανάρτηση).
  • Φόρτος εργασίας υψηλού συγχρονισμού – Μια αυξανόμενη περίπτωση χρήσης που βλέπουμε είναι η χρήση του Amazon Redshift για την εξυπηρέτηση φόρτου εργασίας που μοιάζουν με ταμπλό. Αυτοί οι φόρτοι εργασίας χαρακτηρίζονται από επιθυμητούς χρόνους απόκρισης ερωτημάτων μονοψήφιων δευτερολέπτων ή λιγότερο, με δεκάδες ή εκατοντάδες ταυτόχρονους χρήστες να εκτελούν ερωτήματα ταυτόχρονα με ένα αιχμηρό και συχνά απρόβλεπτο μοτίβο χρήσης. Το πρωτότυπο παράδειγμα αυτού είναι ένας πίνακας BI που υποστηρίζεται από το Amazon Redshift και έχει μια απότομη αύξηση στην επισκεψιμότητα τα πρωινά της Δευτέρας, όταν ένας μεγάλος αριθμός χρηστών ξεκινά την εβδομάδα του.

Ιδιαίτερα οι φόρτοι εργασίας υψηλού συγχρονισμού έχουν πολύ ευρεία εφαρμογή: οι περισσότεροι φόρτοι εργασίας αποθήκης δεδομένων λειτουργούν ταυτόχρονα και δεν είναι ασυνήθιστο εκατοντάδες ή και χιλιάδες χρήστες να εκτελούν ερωτήματα στο Amazon Redshift ταυτόχρονα. Το Amazon Redshift σχεδιάστηκε για να διατηρεί τους χρόνους απόκρισης ερωτημάτων προβλέψιμους και γρήγορους. Το Redshift Serverless το κάνει αυτό αυτόματα για εσάς προσθέτοντας και αφαιρώντας υπολογισμούς όπως απαιτείται για να διατηρεί τους χρόνους απόκρισης ερωτημάτων γρήγορους και προβλέψιμους. Αυτό σημαίνει ότι ένας πίνακας εργαλείων που υποστηρίζεται από το Redshift Serverless που φορτώνεται γρήγορα όταν τον έχουν πρόσβαση ένας ή δύο χρήστες θα συνεχίσει να φορτώνει γρήγορα ακόμα και όταν πολλοί χρήστες τον φορτώνουν ταυτόχρονα.

Για την προσομοίωση αυτού του τύπου φόρτου εργασίας, χρησιμοποιήσαμε ένα σημείο αναφοράς που προέρχεται από το TPC-DS με ένα σύνολο δεδομένων 100 GB. Το TPC-DS είναι ένα βιομηχανικό πρότυπο αναφοράς που περιλαμβάνει μια ποικιλία τυπικών ερωτημάτων αποθήκης δεδομένων. Σε αυτήν τη σχετικά μικρή κλίμακα των 100 GB, τα ερωτήματα σε αυτό το σημείο αναφοράς εκτελούνται σε Redshift Serverless κατά μέσο όρο σε λίγα δευτερόλεπτα, κάτι που είναι αντιπροσωπευτικό του τι θα περίμεναν οι χρήστες που φορτώνουν έναν διαδραστικό πίνακα BI. Πραγματοποιήσαμε μεταξύ 1-200 ταυτόχρονες δοκιμές αυτού του σημείου αναφοράς, προσομοιώνοντας μεταξύ 1-200 χρηστών που προσπαθούν να φορτώσουν έναν πίνακα ελέγχου ταυτόχρονα. Επαναλάβαμε επίσης τη δοκιμή σε πολλές δημοφιλείς εναλλακτικές αποθήκες δεδομένων cloud που υποστηρίζουν επίσης την αυτόματη μείωση της κλίμακας (αν είστε εξοικειωμένοι με την ανάρτηση Η Amazon Redshift συνεχίζει την ηγετική της θέση στην τιμή-απόδοση, δεν συμπεριλάβαμε τον ανταγωνιστή Α επειδή δεν υποστηρίζει την αυτόματη κλιμάκωση). Μετρήσαμε τον μέσο χρόνο απόκρισης ερωτήματος, που σημαίνει πόσο καιρό θα περίμενε ένας χρήστης να ολοκληρωθούν τα ερωτήματά του (ή να φορτώσει ο πίνακας εργαλείων του). Τα αποτελέσματα φαίνονται στο παρακάτω διάγραμμα.

Ο ανταγωνιστής Β κλιμακώνεται καλά μέχρι περίπου 64 ταυτόχρονες ερωτήσεις, οπότε δεν είναι σε θέση να παράσχει πρόσθετους υπολογισμούς και τα ερωτήματα αρχίζουν να βρίσκονται στην ουρά, οδηγώντας σε αυξημένους χρόνους απόκρισης ερωτημάτων. Παρόλο που ο ανταγωνιστής C μπορεί να κλιμακωθεί αυτόματα, κλιμακώνεται σε χαμηλότερη απόδοση ερωτημάτων από το Amazon Redshift και τον ανταγωνιστή B και δεν είναι σε θέση να διατηρήσει χαμηλούς χρόνους εκτέλεσης ερωτημάτων. Επιπλέον, δεν υποστηρίζει ερωτήματα ουράς όταν εξαντλείται ο υπολογισμός, γεγονός που το εμποδίζει να κλιμακωθεί πέρα ​​από περίπου 128 ταυτόχρονους χρήστες. Η υποβολή επιπλέον ερωτημάτων πέραν αυτού απορρίπτεται από το σύστημα.

Εδώ, το Redshift Serverless μπορεί να διατηρήσει τον χρόνο απόκρισης ερωτήματος σχετικά συνεπή σε περίπου 5 δευτερόλεπτα, ακόμη και όταν εκατοντάδες χρήστες εκτελούν ερωτήματα ταυτόχρονα. Οι μέσοι χρόνοι απόκρισης ερωτημάτων για τους ανταγωνιστές B και C αυξάνονται σταθερά καθώς αυξάνεται το φόρτο στις αποθήκες, με αποτέλεσμα οι χρήστες να πρέπει να περιμένουν περισσότερο (έως 16 δευτερόλεπτα) για να επιστρέψουν τα ερωτήματά τους όταν η αποθήκη δεδομένων είναι απασχολημένη. Αυτό σημαίνει ότι εάν ένας χρήστης προσπαθεί να ανανεώσει έναν πίνακα εργαλείων (ο οποίος μπορεί ακόμη και να υποβάλει πολλά ταυτόχρονα ερωτήματα όταν φορτωθεί ξανά), το Amazon Redshift θα είναι σε θέση να διατηρήσει τους χρόνους φόρτωσης του πίνακα εργαλείων πολύ πιο συνεπείς, ακόμη και αν ο πίνακας εργαλείων φορτώνεται από δεκάδες ή εκατοντάδες άλλους χρήστες ταυτόχρονα.

Επειδή το Amazon Redshift είναι σε θέση να παρέχει πολύ υψηλή απόδοση ερωτημάτων για σύντομα ερωτήματα (όπως γράψαμε στο Η Amazon Redshift συνεχίζει την ηγετική της θέση στην τιμή-απόδοση), είναι επίσης σε θέση να χειριστεί αυτές τις υψηλότερες συγχρονίες όταν κλιμακώνεται πιο αποτελεσματικά και επομένως με σημαντικά χαμηλότερο κόστος. Για να το ποσοτικοποιήσουμε αυτό, εξετάζουμε την τιμή-απόδοση χρησιμοποιώντας τη δημοσιευμένη τιμολόγηση κατ' απαίτηση για καθεμία από τις αποθήκες της προηγούμενης δοκιμής, όπως φαίνεται στο παρακάτω διάγραμμα. Αξίζει να σημειωθεί ότι η χρήση Δεσμευμένες περιπτώσεις (RIs), ειδικά τα RI 3 ετών που αγοράζονται με την επιλογή προκαταβολής πληρωμής, έχουν το χαμηλότερο κόστος για την εκτέλεση του Amazon Redshift σε Provisioned cluster, με αποτέλεσμα την καλύτερη σχετική τιμή-απόδοση σε σύγκριση με τις επιλογές RI κατά παραγγελία ή άλλες επιλογές RI.

Έτσι, όχι μόνο το Amazon Redshift μπορεί να προσφέρει καλύτερες επιδόσεις σε υψηλότερες ταυτότητες, αλλά είναι σε θέση να το κάνει με σημαντικά χαμηλότερο κόστος. Κάθε σημείο δεδομένων στο γράφημα τιμής-απόδοσης ισοδυναμεί με το κόστος εκτέλεσης του δείκτη αναφοράς στον καθορισμένο ταυτόχρονο. Επειδή η τιμή-απόδοση είναι γραμμική, μπορούμε να διαιρέσουμε το κόστος εκτέλεσης του σημείου αναφοράς σε οποιαδήποτε ταυτόχρονη χρονική στιγμή με τον ταυτόχρονο (αριθμός Ταυτόχρονων χρηστών σε αυτό το γράφημα) για να μας πούμε πόσο κοστίζει η προσθήκη κάθε νέου χρήστη για αυτό το συγκεκριμένο σημείο αναφοράς.

Τα προηγούμενα αποτελέσματα είναι εύκολο να αναπαραχθούν. Όλα τα ερωτήματα που χρησιμοποιούνται στο σημείο αναφοράς είναι διαθέσιμα στο δικό μας Αποθετήριο GitHub και η απόδοση μετριέται με την εκκίνηση μιας αποθήκης δεδομένων, την ενεργοποίηση της κλιμάκωσης ταυτόχρονης κλίμακας στο Amazon Redshift (ή την αντίστοιχη λειτουργία αυτόματης κλιμάκωσης σε άλλες αποθήκες), τη φόρτωση των δεδομένων εκτός συσκευασίας (χωρίς χειροκίνητο συντονισμό ή ρύθμιση συγκεκριμένης βάσης δεδομένων) και στη συνέχεια εκτελώντας ένα Ταυτόχρονη ροή ερωτημάτων σε ταυτόχρονα από 1–200 σε βήματα των 32 σε κάθε αποθήκη δεδομένων. Το ίδιο αποθετήριο GitHub παραπέμπει σε προδημιουργημένα (και μη τροποποιημένα) δεδομένα TPC-DS στο Απλή υπηρεσία αποθήκευσης Amazon (Amazon S3) σε διάφορες κλίμακες χρησιμοποιώντας το επίσημο κιτ παραγωγής δεδομένων TPC-DS.

Βελτιστοποίηση βαρύ φόρτου εργασίας

Όπως αναφέρθηκε προηγουμένως, η ομάδα του Amazon Redshift αναζητά συνεχώς νέες ευκαιρίες για να προσφέρει ακόμα καλύτερη τιμή-απόδοση για τους πελάτες μας. Μια βελτίωση που παρουσιάσαμε πρόσφατα ότι η σημαντικά βελτιωμένη απόδοση είναι μια βελτιστοποίηση που επιταχύνει την απόδοση των ερωτημάτων σε δεδομένα συμβολοσειράς. Για παράδειγμα, μπορεί να θέλετε να βρείτε τα συνολικά έσοδα που δημιουργούνται από καταστήματα λιανικής που βρίσκονται στη Νέα Υόρκη με ένα ερώτημα όπως SELECT sum(price) FROM sales WHERE city = ‘New York’. Αυτό το ερώτημα εφαρμόζει ένα κατηγόρημα σε δεδομένα συμβολοσειράς (city = ‘New York’). Όπως μπορείτε να φανταστείτε, η επεξεργασία δεδομένων συμβολοσειράς είναι πανταχού παρούσα σε εφαρμογές αποθήκης δεδομένων.

Για να ποσοτικοποιήσουμε πόσο συχνά ο φόρτος εργασίας των πελατών έχει πρόσβαση σε συμβολοσειρές, πραγματοποιήσαμε μια λεπτομερή ανάλυση της χρήσης τύπων δεδομένων συμβολοσειρών χρησιμοποιώντας τηλεμετρία στόλου δεκάδων χιλιάδων συμπλεγμάτων πελατών που διαχειρίζεται το Amazon Redshift. Η ανάλυσή μας δείχνει ότι στο 90% των συμπλεγμάτων, οι στήλες συμβολοσειρών αποτελούν τουλάχιστον το 30% όλων των στηλών και στο 50% των συμπλεγμάτων, οι στήλες συμβολοσειρών αποτελούν τουλάχιστον το 50% όλων των στηλών. Επιπλέον, η πλειονότητα όλων των ερωτημάτων εκτελούνται στην πλατφόρμα αποθήκευσης δεδομένων cloud του Amazon Redshift, έχουν πρόσβαση σε τουλάχιστον μία στήλη συμβολοσειράς. Ένας άλλος σημαντικός παράγοντας είναι ότι τα δεδομένα συμβολοσειράς έχουν πολύ συχνά χαμηλή καρδινάτητα, που σημαίνει ότι οι στήλες περιέχουν ένα σχετικά μικρό σύνολο μοναδικών τιμών. Για παράδειγμα, αν και ένα orders Ο πίνακας που αντιπροσωπεύει τα δεδομένα πωλήσεων μπορεί να περιέχει δισεκατομμύρια σειρές, an order_status στήλη σε αυτόν τον πίνακα μπορεί να περιέχει μόνο μερικές μοναδικές τιμές σε αυτές τις δισεκατομμύρια σειρές, όπως π.χ pending, in process, να completed.

Από τη στιγμή που γράφεται αυτό το άρθρο, οι περισσότερες στήλες συμβολοσειρών στο Amazon Redshift συμπιέζονται με LZO or ZSTD αλγόριθμους. Αυτοί είναι καλοί αλγόριθμοι συμπίεσης γενικής χρήσης, αλλά δεν έχουν σχεδιαστεί για να εκμεταλλεύονται τα δεδομένα συμβολοσειρών χαμηλής καρδιναικότητας. Συγκεκριμένα, απαιτούν την αποσυμπίεση των δεδομένων πριν από τη λειτουργία τους και είναι λιγότερο αποτελεσματικά στη χρήση του εύρους ζώνης μνήμης υλικού. Για δεδομένα χαμηλής καρδιναικότητας, υπάρχει ένας άλλος τύπος κωδικοποίησης που μπορεί να είναι πιο βέλτιστος: BYTEDICT. Αυτή η κωδικοποίηση χρησιμοποιεί ένα σχήμα κωδικοποίησης λεξικού που επιτρέπει στη μηχανή βάσης δεδομένων να λειτουργεί απευθείας πάνω από συμπιεσμένα δεδομένα χωρίς να χρειάζεται πρώτα να τα αποσυμπιέσει.

Για περαιτέρω βελτίωση της τιμής-απόδοσης για βαρύ φόρτο εργασίας συμβολοσειρών, το Amazon Redshift εισάγει τώρα πρόσθετες βελτιώσεις απόδοσης που επιταχύνουν τις σαρώσεις και τις αξιολογήσεις κατηγοριών, σε στήλες συμβολοσειρών χαμηλής καρδιναικότητας που κωδικοποιούνται ως BYTEDICT, μεταξύ 5-63 φορές πιο γρήγορα (βλ. αποτελέσματα σε την επόμενη ενότητα) σε σύγκριση με εναλλακτικές κωδικοποιήσεις συμπίεσης όπως LZO ή ZSTD. Το Amazon Redshift επιτυγχάνει αυτή τη βελτίωση της απόδοσης διανυσματοποιώντας σαρώσεις σε ελαφριές, αποδοτικές σε CPU, κωδικοποιημένες σε BYTEDICT, στήλες συμβολοσειρών χαμηλής καρδιναικότητας. Αυτές οι βελτιστοποιήσεις επεξεργασίας συμβολοσειρών κάνουν αποτελεσματική χρήση του εύρους ζώνης μνήμης που παρέχεται από το σύγχρονο υλικό, επιτρέποντας αναλύσεις σε πραγματικό χρόνο σε δεδομένα συμβολοσειρών. Αυτές οι νέες δυνατότητες απόδοσης που εισήχθησαν είναι βέλτιστες για στήλες συμβολοσειρών χαμηλής καρδιναικότητας (έως μερικές εκατοντάδες μοναδικές τιμές συμβολοσειρών).

Μπορείτε να επωφεληθείτε αυτόματα από αυτήν τη νέα βελτίωση συμβολοσειράς υψηλής απόδοσης ενεργοποιώντας αυτόματη βελτιστοποίηση πίνακα στην αποθήκη δεδομένων του Amazon Redshift. Εάν δεν έχετε ενεργοποιημένη την αυτόματη βελτιστοποίηση πινάκων στους πίνακές σας, μπορείτε να λάβετε προτάσεις από το Amazon Redshift Advisor στην κονσόλα Amazon Redshift στην καταλληλότητα μιας στήλης συμβολοσειρών για κωδικοποίηση BYTEDICT. Μπορείτε επίσης να ορίσετε νέους πίνακες που έχουν στήλες συμβολοσειρών χαμηλής καρδιναικότητας με κωδικοποίηση BYTEDICT. Οι βελτιώσεις συμβολοσειρών στο Amazon Redshift είναι πλέον διαθέσιμες σε όλες τις περιοχές AWS όπου Το Amazon Redshift είναι διαθέσιμο.

Αποτελέσματα απόδοσης

Για να μετρήσουμε τον αντίκτυπο στην απόδοση των βελτιώσεων συμβολοσειράς μας, δημιουργήσαμε ένα σύνολο δεδομένων 10 TB (Tera Byte) που αποτελούνταν από δεδομένα συμβολοσειρών χαμηλής καρδιναικότητας. Δημιουργήσαμε τρεις εκδόσεις των δεδομένων χρησιμοποιώντας μικρές, μεσαίες και μακριές χορδές, που αντιστοιχούν στο 25ο, 50ο και 75ο εκατοστημόριο των μηκών χορδών από την τηλεμετρία του στόλου Amazon Redshift. Φορτώσαμε αυτά τα δεδομένα στο Amazon Redshift δύο φορές, κωδικοποιώντας τα σε μια περίπτωση χρησιμοποιώντας συμπίεση LZO και σε άλλη χρησιμοποιώντας συμπίεση BYTEDICT. Τέλος, μετρήσαμε την απόδοση ερωτημάτων βαριάς σάρωσης που επιστρέφουν πολλές σειρές (90% του πίνακα), έναν μεσαίο αριθμό σειρών (50% του πίνακα) και μερικές σειρές (1% του πίνακα) σε αυτές τις χαμηλές -σύνολα δεδομένων συμβολοσειρών καρδιναλικότητας. Τα αποτελέσματα απόδοσης συνοψίζονται στο παρακάτω διάγραμμα.

Τα ερωτήματα με κατηγορήματα που αντιστοιχούν σε υψηλό ποσοστό σειρών είδαν βελτιώσεις 5-30 φορές με τη νέα διανυσματική κωδικοποίηση BYTEDICT σε σύγκριση με το LZO, ενώ τα ερωτήματα με κατηγορήματα που αντιστοιχούν σε χαμηλό ποσοστό σειρών είδαν βελτιώσεις 10-63 φορές σε αυτό το εσωτερικό σημείο αναφοράς.

Τιμή-απόδοση χωρίς διακομιστή Redshift

Εκτός από τα αποτελέσματα απόδοσης υψηλής ταυτόχρονης παρουσίασης σε αυτήν την ανάρτηση, χρησιμοποιήσαμε επίσης το σημείο αναφοράς Cloud Data Warehouse που προέρχεται από το TPC-DS για να συγκρίνουμε την τιμή-απόδοση του Redshift Serverless με άλλες αποθήκες δεδομένων που χρησιμοποιούν ένα μεγαλύτερο σύνολο δεδομένων 3 TB. Επιλέξαμε αποθήκες δεδομένων που είχαν παρόμοια τιμή, σε αυτήν την περίπτωση εντός 10% των 32 $ ανά ώρα, χρησιμοποιώντας δημόσια διαθέσιμη τιμολόγηση κατ' απαίτηση. Αυτά τα αποτελέσματα δείχνουν ότι, όπως και οι περιπτώσεις Amazon Redshift RA3, το Redshift Serverless προσφέρει καλύτερη απόδοση τιμής σε σύγκριση με άλλες κορυφαίες αποθήκες δεδομένων cloud. Όπως πάντα, αυτά τα αποτελέσματα μπορούν να αναπαραχθούν χρησιμοποιώντας τα σενάρια SQL στο δικό μας Αποθετήριο GitHub.

Σας ενθαρρύνουμε να δοκιμάσετε το Amazon Redshift χρησιμοποιώντας το δικό σας απόδειξη της έννοιας φόρτους εργασίας ως ο καλύτερος τρόπος για να δείτε πώς το Amazon Redshift μπορεί να καλύψει τις ανάγκες σας σε αναλυτικά στοιχεία δεδομένων.

Βρείτε την καλύτερη τιμή-απόδοση για τον φόρτο εργασίας σας

Τα σημεία αναφοράς που χρησιμοποιούνται σε αυτήν την ανάρτηση προέρχονται από το βιομηχανικό πρότυπο TPC-DS και έχουν τα ακόλουθα χαρακτηριστικά:

  • Το σχήμα και τα δεδομένα χρησιμοποιούνται χωρίς τροποποίηση από το TPC-DS.
  • Τα ερωτήματα δημιουργούνται χρησιμοποιώντας το επίσημο κιτ TPC-DS με τις παραμέτρους ερωτημάτων που δημιουργούνται χρησιμοποιώντας την προεπιλεγμένη τυχαία αρχή του κιτ TPC-DS. Οι παραλλαγές ερωτήματος που έχουν εγκριθεί από το TPC χρησιμοποιούνται για μια αποθήκη, εάν η αποθήκη δεν υποστηρίζει τη διάλεκτο SQL του προεπιλεγμένου ερωτήματος TPC-DS.
  • Η δοκιμή περιλαμβάνει τα 99 ερωτήματα TPC-DS SELECT. Δεν περιλαμβάνει βήματα συντήρησης και απόδοσης.
  • Για τη δοκιμή ταυτόχρονης μονής 3 TB, εκτελέστηκαν τρεις εκτελέσεις ισχύος και η καλύτερη εκτέλεση λαμβάνεται για κάθε αποθήκη δεδομένων.
  • Η τιμή-απόδοση για τα ερωτήματα TPC-DS υπολογίζεται ως το κόστος ανά ώρα (USD) επί το χρόνο εκτέλεσης του σημείου αναφοράς σε ώρες, το οποίο είναι ισοδύναμο με το κόστος εκτέλεσης του δείκτη αναφοράς. Η πιο πρόσφατη δημοσιευμένη τιμολόγηση κατ' απαίτηση χρησιμοποιείται για όλες τις αποθήκες δεδομένων και όχι για τις δεσμευμένες τιμές, όπως σημειώθηκε νωρίτερα.

Ονομάζουμε αυτό το σημείο αναφοράς του Cloud Data Warehouse και μπορείτε εύκολα να αναπαράγετε τα προηγούμενα αποτελέσματα συγκριτικής αξιολόγησης χρησιμοποιώντας τα σενάρια, τα ερωτήματα και τα δεδομένα που είναι διαθέσιμα στο Αποθετήριο GitHub. Προέρχεται από τους δείκτες αναφοράς TPC-DS όπως περιγράφονται σε αυτήν την ανάρτηση και ως εκ τούτου δεν είναι συγκρίσιμος με τα δημοσιευμένα αποτελέσματα TPC-DS, επειδή τα αποτελέσματα των δοκιμών μας δεν συμμορφώνονται με τις επίσημες προδιαγραφές.

Συμπέρασμα

Το Amazon Redshift δεσμεύεται να προσφέρει την καλύτερη απόδοση τιμής του κλάδου για τη μεγαλύτερη ποικιλία φόρτου εργασίας. Το Redshift Serverless κλιμακώνεται γραμμικά με την καλύτερη (χαμηλότερη) απόδοση τιμής, υποστηρίζοντας εκατοντάδες ταυτόχρονους χρήστες, διατηρώντας παράλληλα σταθερούς χρόνους απόκρισης ερωτημάτων. Με βάση τα αποτελέσματα των δοκιμών που συζητήθηκαν σε αυτήν την ανάρτηση, το Amazon Redshift έχει έως και 2.6 φορές καλύτερη απόδοση τιμής στο ίδιο επίπεδο συγχρονισμού σε σύγκριση με τον πλησιέστερο ανταγωνιστή (ανταγωνιστή Β). Όπως αναφέρθηκε προηγουμένως, η χρήση Reserved Instances με την επιλογή all upfront 3 ετών σάς δίνει το χαμηλότερο κόστος για να εκτελέσετε το Amazon Redshift, με αποτέλεσμα ακόμη καλύτερη σχετική τιμή-απόδοση σε σύγκριση με την τιμολόγηση κατά παραγγελία που χρησιμοποιήσαμε σε αυτήν την ανάρτηση. Η προσέγγισή μας στη συνεχή βελτίωση της απόδοσης περιλαμβάνει έναν μοναδικό συνδυασμό εμμονής των πελατών για την κατανόηση των περιπτώσεων χρήσης πελατών και των σχετικών σημείων συμφόρησης επεκτασιμότητας σε συνδυασμό με συνεχή ανάλυση δεδομένων στόλου για τον εντοπισμό ευκαιριών για σημαντικές βελτιστοποιήσεις απόδοσης.

Κάθε φόρτος εργασίας έχει μοναδικά χαρακτηριστικά, οπότε αν μόλις ξεκινάτε, α απόδειξη της έννοιας είναι ο καλύτερος τρόπος για να κατανοήσετε πώς το Amazon Redshift μπορεί να μειώσει το κόστος σας, ενώ προσφέρει καλύτερη απόδοση. Όταν εκτελείτε το δικό σας proof of concept, είναι σημαντικό να εστιάσετε στις σωστές μετρήσεις — απόδοση ερωτήματος (αριθμός ερωτημάτων ανά ώρα), χρόνος απόκρισης και τιμή-απόδοση. Μπορείτε να πάρετε μια απόφαση βάσει δεδομένων εκτελώντας μια απόδειξη ιδέας μόνοι σας ή με βοήθεια από AWS ή α εταίρος ολοκλήρωσης συστήματος και συμβουλευτικής.

Για να μείνετε ενημερωμένοι με τις τελευταίες εξελίξεις στο Amazon Redshift, ακολουθήστε το Τι νέο υπάρχει στο Amazon Redshift ζωοτροφές.


Σχετικά με τους συγγραφείς

Στέφαν Γκρόμολ είναι Senior Performance Engineer με την ομάδα του Amazon Redshift όπου είναι υπεύθυνος για τη μέτρηση και τη βελτίωση της απόδοσης Redshift. Στον ελεύθερο χρόνο του, του αρέσει να μαγειρεύει, να παίζει με τα τρία του αγόρια και να κόβει καυσόξυλα.

Ravi Animi είναι ηγέτης της Ανώτερης Διαχείρισης Προϊόντων στην ομάδα του Amazon Redshift και διαχειρίζεται πολλούς λειτουργικούς τομείς της υπηρεσίας αποθήκευσης δεδομένων cloud του Amazon Redshift, συμπεριλαμβανομένων των στρατηγικών απόδοσης, χωρικών αναλύσεων, απορρόφησης ροής και στρατηγικών μετεγκατάστασης. Έχει εμπειρία με σχεσιακές βάσεις δεδομένων, πολυδιάστατες βάσεις δεδομένων, τεχνολογίες IoT, υπηρεσίες υποδομής αποθήκευσης και υπολογιστών και πιο πρόσφατα ως ιδρυτής startup που χρησιμοποιεί AI/deep learning, όραση υπολογιστών και ρομποτική.

Άμερ Σαχ είναι Ανώτερος Μηχανικός στην ομάδα του Amazon Redshift Service.

Sanket Hase είναι Διευθυντής Ανάπτυξης Λογισμικού στην ομάδα του Amazon Redshift Service.

Ορέστης Πολυχρονίου είναι Κύριος Μηχανικός στην ομάδα του Amazon Redshift Service.

Σφραγίδα ώρας:

Περισσότερα από Μεγάλα δεδομένα AWS