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

Ανασκόπηση Snowflake: Μια αποθήκη δεδομένων βελτιώθηκε στο cloud

Οι αποθήκες δεδομένων, που ονομάζονται επίσης εταιρικές αποθήκες δεδομένων (EDW), είναι εξαιρετικά παράλληλες βάσεις δεδομένων SQL ή NoSQL που έχουν σχεδιαστεί για ανάλυση. Σας επιτρέπουν να εισάγετε δεδομένα από πολλές πηγές και να δημιουργείτε πολύπλοκες αναφορές γρήγορα από petabytes δεδομένων.

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

Εν συντομία, η νιφάδα χιονιού

Το Snowflake είναι μια πλήρως σχετική αποθήκη δεδομένων ANSI SQL που δημιουργήθηκε από το μηδέν για το σύννεφο. Η αρχιτεκτονική του διαχωρίζει τον υπολογισμό από τον αποθηκευτικό χώρο, ώστε να μπορείτε να ανεβαίνετε γρήγορα και γρήγορα, χωρίς καθυστέρηση ή διακοπή, ακόμη και όταν εκτελούνται ερωτήματα. Παίρνετε την απόδοση που χρειάζεστε ακριβώς όταν τη χρειάζεστε και πληρώνετε μόνο για τον υπολογιστή που χρησιμοποιείτε. Το Snowflake τρέχει επί του παρόντος στις Amazon Web Services και στο Microsoft Azure.

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

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

Ανταγωνιστές νιφάδας χιονιού

Οι ανταγωνιστές του Snowflake στο cloud περιλαμβάνουν το Amazon Redshift, το Google BigQuery και το Microsoft Azure SQL Data Warehouse. Άλλοι σημαντικοί ανταγωνιστές, όπως τα Teradata, Oracle Exadata, MarkLogic και SAP BW / 4HANA, ενδέχεται να είναι εγκατεστημένα στο cloud, σε εγκαταστάσεις και σε συσκευές.

Amazon Redshift

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

Αποθήκη δεδομένων Microsoft Azure SQL

Το Microsoft Azure SQL Data Warehouse είναι μια αποθήκη δεδομένων που βασίζεται σε σύννεφο και χρησιμοποιεί τον κινητήρα Microsoft SQL και το MPP (μαζική παράλληλη επεξεργασία) για γρήγορη εκτέλεση σύνθετων ερωτημάτων σε petabytes δεδομένων. Μπορείτε να χρησιμοποιήσετε το Azure SQL Data Warehouse ως βασικό συστατικό μιας μεγάλης λύσης δεδομένων εισάγοντας μεγάλα δεδομένα στην SQL Data Warehouse με απλά ερωτήματα PolyBase T-SQL και, στη συνέχεια, χρησιμοποιώντας τη δύναμη του MPP για την εκτέλεση αναλυτικών στοιχείων υψηλής απόδοσης.

Το Azure SQL Data Warehouse είναι διαθέσιμο σε 40 περιοχές Azure σε όλο τον κόσμο, αλλά ένας δεδομένος διακομιστής αποθήκης υπάρχει μόνο σε μία μόνο περιοχή. Μπορείτε να κλιμακώσετε την απόδοση της αποθήκης δεδομένων κατά παραγγελία, αλλά τυχόν ερωτήματα που εκτελούνται θα ακυρωθούν και θα επιστραφούν.

Google BigQuery

Το Google BigQuery είναι μια αποθήκη δεδομένων cloud χωρίς διακομιστές, με δυνατότητα κλιμάκωσης και οικονομικά αποδοτική με ερωτήματα GIS, ενσωματωμένο μηχάνημα BI Engine και μηχανική εκμάθηση. Το BigQuery εκτελεί γρήγορα ερωτήματα SQL σε gigabyte έως petabytes δεδομένων και το καθιστά εύκολο να συμμετάσχει στο κοινό ή εμπορικά σύνολα δεδομένων με τα δεδομένα σας.

Μπορείτε να ορίσετε τη γεωγραφική θέση ενός συνόλου δεδομένων BigQuery μόνο κατά την ώρα δημιουργίας. Όλοι οι πίνακες που αναφέρονται σε ένα ερώτημα πρέπει να αποθηκεύονται σε σύνολα δεδομένων στην ίδια θέση. Αυτό ισχύει επίσης για εξωτερικά σύνολα δεδομένων και κάδους αποθήκευσης. Υπάρχουν επιπλέον περιορισμοί στη θέση των εξωτερικών δεδομένων Google Cloud Bigtable. Από προεπιλογή, τα ερωτήματα εκτελούνται στην ίδια περιοχή με τα δεδομένα.

Οι τοποθεσίες μπορεί να είναι συγκεκριμένα μέρη, όπως η Βόρεια Βιρτζίνια ή μεγάλες γεωγραφικές περιοχές, όπως η ΕΕ ή οι ΗΠΑ. Για να μετακινήσετε ένα σύνολο δεδομένων BigQuery από μια περιοχή σε μια άλλη, πρέπει να το εξαγάγετε σε έναν κάδο Google Cloud Storage στην ίδια τοποθεσία με το σύνολο δεδομένων σας, να αντιγράψετε τον κάδο στη νέα τοποθεσία και να το φορτώσετε στο BigQuery στη νέα τοποθεσία.

Αρχιτεκτονική νιφάδας χιονιού

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

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

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

Όταν τα δεδομένα φορτώνονται στο Snowflake, το Snowflake αναδιοργανώνει αυτά τα δεδομένα στην εσωτερική του συμπιεσμένη, στήλη. Τα αντικείμενα εσωτερικών δεδομένων είναι προσβάσιμα μόνο μέσω ερωτημάτων SQL. Μπορείτε να συνδεθείτε στο Snowflake μέσω του UI ιστού του, μέσω CLI (SnowSQL), μέσω προγραμμάτων οδήγησης ODBC και JDBC από εφαρμογές όπως το Tableau, μέσω εγγενών συνδέσμων για γλώσσες προγραμματισμού και μέσω συνδέσμων τρίτων για εργαλεία BI και ETL.

Νιφάδα χιονιού

Χαρακτηριστικά νιφάδας χιονιού

Ασφάλεια και προστασία δεδομένων. Τα χαρακτηριστικά ασφαλείας που προσφέρονται στο Snowflake διαφέρουν ανάλογα με την έκδοση. Ακόμη και η τυπική έκδοση προσφέρει αυτόματη κρυπτογράφηση όλων των δεδομένων και υποστήριξη για έλεγχο ταυτότητας πολλαπλών παραγόντων και μεμονωμένη σύνδεση. Η προσθήκη Enterprise προσθέτει περιοδική επανεκκίνηση κρυπτογραφημένων δεδομένων και η έκδοση Enterprise for Sensitive Data προσθέτει υποστήριξη για HIPAA και PCI DSS. Μπορείτε να επιλέξετε πού αποθηκεύονται τα δεδομένα σας, κάτι που συμβάλλει στη συμμόρφωση με τους κανονισμούς GDPR της ΕΕ.

Τυπική και εκτεταμένη υποστήριξη SQL. Το Snowflake υποστηρίζει τα περισσότερα DDL και DML που ορίζονται στο SQL: 1999, καθώς και συναλλαγές, ορισμένες προηγμένες δυνατότητες SQL και τμήματα των αναλυτικών επεκτάσεων SQL: 2003 (λειτουργίες παραθύρου και σετ ομαδοποίησης). Υποστηρίζει επίσης πλευρικές και υλοποιημένες προβολές, συγκεντρωτικές λειτουργίες, αποθηκευμένες διαδικασίες και λειτουργίες που καθορίζονται από το χρήστη.

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

Συνδεσιμότητα Το Snowflake διαθέτει συνδέσμους ή / και προγράμματα οδήγησης για Python, Spark, Node.js, Go, .Net, JDBC, ODBC και dplyr-snowflakedb, μια επέκταση πακέτου ανοιχτού κώδικα dplyr που διατηρείται στο GitHub.

Εισαγωγή και εξαγωγή δεδομένων. Το Snowflake μπορεί να φορτώσει ένα ευρύ φάσμα δεδομένων και μορφών αρχείων. Αυτό περιλαμβάνει συμπιεσμένα αρχεία. οριοθετημένα αρχεία δεδομένων · JSON, Avro, ORC, παρκέ και XML μορφές. Πηγές δεδομένων Amazon S3; και τοπικά αρχεία. Μπορεί να κάνει μαζική φόρτωση και εκφόρτωση μέσα και έξω από πίνακες, καθώς και συνεχή μαζική φόρτωση από αρχεία.

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

Νιφάδα χιονιού

Σεμινάρια νιφάδας χιονιού

Το Snowflake προσφέρει αρκετά μαθήματα και βίντεο. Κάποιοι σας βοηθούν να ξεκινήσετε, κάποιοι να εξερευνήσετε συγκεκριμένα θέματα και κάποιοι να επιδείξουν λειτουργίες.

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

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

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

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

Δεδομένου ότι το Snowflake προσφέρει δωρεάν δοκιμαστική περίοδο 30 ημερών με πίστωση 400 $ και δεν χρειάζεται να εγκαταστήσετε τίποτα, θα πρέπει να είστε σε θέση να προσδιορίσετε εάν το Snowflake θα ταιριάζει στους σκοπούς σας χωρίς καμία δαπάνη μετρητών. Θα συνιστούσα να το κάνετε.

Κόστος: 2 $ / πίστωση συν 23 $ / TB / μήνα αποθηκευτικό χώρο, κανονικό πακέτο, προπληρωμένος χώρος αποθήκευσης. Η πίστωση ισούται με έναν κόμβο * ώρα, με χρέωση τη δεύτερη. Τα σχέδια υψηλότερου επιπέδου είναι πιο ακριβά.

Πλατφόρμες: Υπηρεσίες Web Amazon, Microsoft Azure