Λογότυπο Zephyrnet

Amazon OpenSearch Service Under the Hood : OpenSearch Optimized Instances(OR1) | Υπηρεσίες Ιστού της Amazon

Ημερομηνία:

Amazon OpenSearch Service παρουσίασε πρόσφατα την οικογένεια OpenSearch Optimized Instance (OR1), η οποία προσφέρει έως και 30% βελτίωση της τιμής-απόδοσης σε σχέση με τις υπάρχουσες βελτιστοποιημένες περιπτώσεις μνήμης σε εσωτερικά σημεία αναφοράς και χρήσεις Απλή υπηρεσία αποθήκευσης Amazon (Amazon S3) για να παρέχει 11 9s αντοχής. Με αυτήν τη νέα οικογένεια παρουσιών, η Υπηρεσία OpenSearch χρησιμοποιεί την καινοτομία OpenSearch και τις τεχνολογίες AWS για να ξανασκεφτεί τον τρόπο με τον οποίο τα δεδομένα ευρετηριάζονται και αποθηκεύονται στο cloud.

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

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

Σχεδιασμός για υψηλή απόδοση με 11 9s αντοχής

Η Υπηρεσία OpenSearch διαχειρίζεται δεκάδες χιλιάδες συμπλέγματα OpenSearch. Αποκτήσαμε πληροφορίες σχετικά με τις τυπικές διαμορφώσεις συμπλέγματος που χρησιμοποιούν οι πελάτες για να επιτύχουν στόχους υψηλής απόδοσης και ανθεκτικότητας. Για να επιτύχουν υψηλότερη απόδοση, οι πελάτες συχνά επιλέγουν να αποθέσουν αντίγραφα για να εξοικονομήσουν τον λανθάνοντα χρόνο αναπαραγωγής. Ωστόσο, αυτή η διαμόρφωση έχει ως αποτέλεσμα τη θυσία της διαθεσιμότητας και της ανθεκτικότητας. Άλλοι πελάτες απαιτούν υψηλή ανθεκτικότητα και ως εκ τούτου πρέπει να διατηρούν πολλαπλά αντίγραφα, με αποτέλεσμα υψηλότερο κόστος λειτουργίας για αυτούς.

Η οικογένεια OpenSearch Optimized Instance παρέχει πρόσθετη ανθεκτικότητα, ενώ παράλληλα διατηρεί το κόστος χαμηλότερο, αποθηκεύοντας ένα αντίγραφο των δεδομένων στο Amazon S3. Με τις παρουσίες OR1, μπορείτε να διαμορφώσετε πολλαπλά αντίγραφα για υψηλή διαθεσιμότητα ανάγνωσης, διατηρώντας παράλληλα την απόδοση ευρετηρίασης.
Το παρακάτω διάγραμμα απεικονίζει μια ροή ευρετηρίου που περιλαμβάνει μια ενημέρωση μεταδεδομένων στο OR1

Ευρετηρίαση ροής αιτήματος στο OR1

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

Ροή αντιγραφής στο OR1

Περιοδικά, καθώς δημιουργούνται νέα αρχεία τμημάτων, το OR1 αντιγράφει αυτά τα τμήματα στο Amazon S3. Όταν ολοκληρωθεί η μεταφορά, το πρωτεύον δημοσιεύει νέα σημεία ελέγχου σε όλα τα αντίγραφα, ειδοποιώντας τους ότι ένα νέο τμήμα είναι διαθέσιμο για λήψη. Τα αντίγραφα στη συνέχεια κατεβάζουν νεότερα τμήματα και τα καθιστούν με δυνατότητα αναζήτησης. Αυτό το μοντέλο αποσυνδέει τη ροή δεδομένων που συμβαίνει χρησιμοποιώντας το Amazon S3 και τη ροή ελέγχου (δημοσίευση σημείου ελέγχου και επικύρωση όρου) που συμβαίνει μέσω της επικοινωνίας μεταφοράς μεταξύ κόμβων.

Το παρακάτω διάγραμμα απεικονίζει τη ροή ανάκτησης σε περιπτώσεις OR1

Ροή ανάκτησης στο OR1

Οι παρουσίες OR1 επιμένουν όχι μόνο στα δεδομένα, αλλά και στα μεταδεδομένα συμπλέγματος, όπως αντιστοιχίσεις ευρετηρίου, πρότυπα και ρυθμίσεις στο Amazon S3. Αυτό διασφαλίζει ότι σε περίπτωση απώλειας απαρτίας διαχείρισης συμπλέγματος, που είναι μια συνηθισμένη λειτουργία αποτυχίας σε μη αποκλειστικές ρυθμίσεις διαχείρισης συμπλεγμάτων, το OpenSearch μπορεί να ανακτήσει αξιόπιστα τα τελευταία αναγνωρισμένα μεταδεδομένα.

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

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

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

Πώς ο επαναπροσδιορισμός της στρατηγικής αναπαραγωγής ενισχύει την απόδοση ευρετηρίασης

Το OpenSearch υποστηρίζει δύο στρατηγικές αναπαραγωγής: λογική (έγγραφο) και φυσική (τμήμα) αναπαραγωγή. Στην περίπτωση της λογικής αναπαραγωγής, τα δεδομένα καταχωρούνται σε όλα τα αντίγραφα ανεξάρτητα, οδηγώντας σε περιττούς υπολογισμούς στο σύμπλεγμα. Οι περιπτώσεις OR1 χρησιμοποιούν το νέο φυσική αντιγραφή μοντέλο, όπου τα δεδομένα καταχωρούνται στο ευρετήριο μόνο στο κύριο αντίγραφο και δημιουργούνται πρόσθετα αντίγραφα με την αντιγραφή δεδομένων από το πρωτεύον. Με μεγάλο αριθμό αντιγράφων αντιγράφων, ο κόμβος που φιλοξενεί το κύριο αντίγραφο απαιτεί σημαντικό εύρος ζώνης δικτύου, αντιγράφοντας το τμήμα σε όλα τα αντίγραφα. Οι νέες περιπτώσεις OR1 λύνουν αυτό το πρόβλημα διατηρώντας σταθερά το τμήμα στο Amazon S3, το οποίο έχει διαμορφωθεί ως απομακρυσμένη αποθήκευση επιλογή. Βοηθούν επίσης στην κλιμάκωση των αντιγράφων χωρίς συμφόρηση στο πρωτεύον.

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

Γιατί η υψηλή αντοχή είναι καλή ιδέα, αλλά δύσκολο να γίνει καλά

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

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

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

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

Επανεξέταση του τρόπου ροής δεδομένων

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

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

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

Χαρακτηριστικά

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

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

Εάν θέλετε να συνεισφέρετε στο OpenSearch, ανοίξτε ένα Πρόβλημα GitHub και πείτε μας τις σκέψεις σας. Θα θέλαμε επίσης να μάθουμε για τις ιστορίες επιτυχίας σας που επιτυγχάνουν υψηλή απόδοση και ανθεκτικότητα στην Υπηρεσία OpenSearch. Εάν έχετε άλλες ερωτήσεις, αφήστε ένα σχόλιο.


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

Μπουχτάουαρ Χαν είναι Κύριος Μηχανικός που εργάζεται στην Υπηρεσία OpenSearch της Amazon. Ενδιαφέρεται για την κατασκευή κατανεμημένων και αυτόνομων συστημάτων. Είναι συντηρητής και ενεργός συνεργάτης του OpenSearch.

Gaurav Bafna είναι Ανώτερος Μηχανικός Λογισμικού που εργάζεται στο OpenSearch στο Amazon Web Services. Γοητεύεται για την επίλυση προβλημάτων σε κατανεμημένα συστήματα. Είναι συντηρητής και ενεργός συνεργάτης του OpenSearch.

Σαχίν Καλέ είναι ανώτερος μηχανικός ανάπτυξης λογισμικού στην AWS που εργάζεται στο OpenSearch.

Ροχίν Μπαργκάβα είναι Διευθυντής Προϊόντων Sr. με την ομάδα της Amazon OpenSearch Service. Το πάθος του στην AWS είναι να βοηθά τους πελάτες να βρουν τον σωστό συνδυασμό υπηρεσιών AWS για να πετύχουν τους επιχειρηματικούς τους στόχους.

Ranjith Ramachandra είναι Ανώτερος Διευθυντής Μηχανικών που εργάζεται στην Υπηρεσία OpenSearch της Amazon. Είναι παθιασμένος με κατανεμημένα συστήματα υψηλής κλιμάκωσης, συστήματα υψηλής απόδοσης και ελαστικότητας.

spot_img

Τελευταία Νοημοσύνη

spot_img