Απορρόφηση δεδομένων με χρήση Snowpipe και AWS Glue

3
Απορρόφηση δεδομένων με χρήση Snowpipe και AWS Glue
11:47 22 Νοεμβρίου
στο Blog

Εισαγωγή

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

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

Το Snowflake είναι χτισμένο πάνω από τις Υπηρεσίες Web της Amazon, το Microsoft Azure και την υποδομή cloud της Google. Δεν υπάρχει υλικό ή λογισμικό για επιλογή, εγκατάσταση, διαμόρφωση ή διαχείριση, και αυτό το καθιστά ιδανικό για οργανισμούς που δεν θέλουν να αφιερώσουν πόρους για εγκατάσταση, συντήρηση και υποστήριξη εσωτερικών διακομιστών.

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

Χρήση Snowpipe για απορρόφηση δεδομένων στο AWS

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

Το Snowflake παρέχει μερικούς τρόπους φόρτωσης δεδομένων. Η πρώτη, η μαζική φόρτωση, φορτώνει δεδομένα από αρχεία σε αποθήκευση cloud ή σε τοπικό μηχάνημα. Στη συνέχεια, τα τοποθετεί σε μια θέση αποθήκευσης στο σύννεφο Snowflake. Μόλις σταδωθούν τα αρχεία, η εντολή “COPY” φορτώνει τα δεδομένα σε έναν καθορισμένο πίνακα. Η μαζική φόρτωση βασίζεται σε εικονικές αποθήκες που καθορίζονται από τον χρήστη, οι οποίες πρέπει να έχουν το κατάλληλο μέγεθος για να ανταποκρίνονται στο αναμενόμενο φορτίο.
Η δεύτερη μέθοδος για τη φόρτωση μιας αποθήκης Snowflake χρησιμοποιεί το Snowpipe. Το Snowpipe φορτώνει συνεχώς μικρές παρτίδες δεδομένων και τα καθιστά σταδιακά διαθέσιμα για ανάλυση δεδομένων. Το Snowpipe φορτώνει δεδομένα μέσα σε λίγα λεπτά από την κατάποσή του και τη διαθεσιμότητά του στην περιοχή σταδιοποίησης. Αυτό παρέχει στον χρήστη τα πιο πρόσφατα αποτελέσματα μόλις τα δεδομένα είναι διαθέσιμα.

Περιορισμοί στη χρήση του Snowpipe

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

Καθυστερήσεις εισαγωγής

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

Εξατομίκευση σε πραγματικό χρόνο

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

Λειτουργικό Analytics

Εφαρμογές όπως το ηλεκτρονικό εμπόριο, τα παιχνίδια και το Διαδίκτυο των πραγμάτων (IoT) απαιτούν συνήθως προβολές σε πραγματικό χρόνο για το τι συμβαίνει. Αυτό επιτρέπει στο επιχειρησιακό προσωπικό να αντιδρά γρήγορα σε καταστάσεις που εκτυλίσσονται σε πραγματικό χρόνο. Η έλλειψη δεδομένων σε πραγματικό χρόνο χρησιμοποιώντας το Snowpipe θα επηρεάσει αυτό.

Ασφάλεια

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

Περιορισμοί απόδοσης

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

Οι λύσεις αποδεικνύονται ακριβές

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

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

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

AWS Κόλλα για κατάποση νιφάδας χιονιού

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

Ωστόσο, με το AWS Glue, οι πελάτες του Snowflake έχουν τώρα μια απλή επιλογή να διαχειρίζονται τις διαδικασίες ενοποίησης δεδομένων μέσω προγραμματισμού χωρίς να ανησυχούν για διακομιστές, συμπλέγματα Spark ή τη συνεχή συντήρηση που παραδοσιακά σχετίζεται με αυτά τα συστήματα.

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

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

Με το AWS Glue και το Snowflake, οι πελάτες απολαμβάνουν το πρόσθετο πλεονέκτημα του pushdown ερωτημάτων του Snowflake, το οποίο ωθεί αυτόματα τους φόρτους εργασίας του Spark, μεταφρασμένους σε SQL, σε Snowflake. Οι πελάτες μπορούν να επικεντρωθούν στη σύνταξη του κώδικά τους και στην οργάνωση των αγωγών τους χωρίς να χρειάζεται να ανησυχούν για τη βελτιστοποίηση της απόδοσης του Spark. Με το AWS Glue και το Snowflake, οι πελάτες μπορούν να αποκομίσουν τα οφέλη της βελτιστοποιημένης επεξεργασίας ELT που είναι χαμηλού κόστους και εύκολη στη χρήση και τη συντήρηση.

συμπέρασμα

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

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

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

Bir cevap yazın