schema types data warehouse modeling star snowflake schema
Αυτό το σεμινάριο εξηγεί διάφορους τύπους σχήματος αποθήκης δεδομένων. Μάθετε τι είναι το σχήμα αστεριού και το σχήμα νιφάδας χιονιού και η διαφορά μεταξύ του αστεριού σχήματος έναντι του σχήματος νιφάδας χιονιού:
Σε αυτό Εκμάθηση ημερομηνίας αποθήκης για αρχάριους , είχαμε μια εις βάθος ματιά Διαστατικό μοντέλο δεδομένων στην αποθήκη δεδομένων στο προηγούμενο σεμινάριό μας.
Σε αυτό το σεμινάριο, θα μάθουμε τα πάντα για τα Σχήματα Αποθήκης Δεδομένων που χρησιμοποιούνται για τη δομή πινάκων αποθήκης δεδομένων (ή) δεδομένων.
ποιοι είναι οι κορυφαίοι πάροχοι email
Ας αρχίσουμε!!
Στοχευμένο κοινό
- Προγραμματιστές και υπεύθυνοι δοκιμών αποθήκης δεδομένων / ETL.
- Επαγγελματίες βάσης δεδομένων με βασικές γνώσεις εννοιών βάσης δεδομένων.
- Διαχειριστές βάσεων δεδομένων / μεγάλοι ειδικοί δεδομένων που θέλουν να κατανοήσουν τις περιοχές αποθήκης δεδομένων / ETL.
- Απόφοιτοι κολεγίου / Φρεσκάροντα που αναζητούν θέσεις εργασίας στην αποθήκη δεδομένων.
Τι θα μάθετε:
Σχήμα αποθήκης δεδομένων
Σε μια αποθήκη δεδομένων, χρησιμοποιείται ένα σχήμα για τον καθορισμό του τρόπου οργάνωσης του συστήματος με όλες τις οντότητες της βάσης δεδομένων (πίνακες γεγονότων, πίνακες διαστάσεων) και τη λογική τους συσχέτιση.
Εδώ είναι οι διαφορετικοί τύποι Σχημάτων στο DW:
- Πρόγραμμα αστεριών
- Σχήμα SnowFlake
- Διάγραμμα γαλαξιών
- Σχέδιο αστεριών συστάδων
# 1) Πρόγραμμα αστεριών
Αυτό είναι το απλούστερο και πιο αποτελεσματικό σχήμα σε μια αποθήκη δεδομένων. Ένας πίνακας γεγονότων στο κέντρο που περιβάλλεται από πίνακες πολλαπλών διαστάσεων μοιάζει με ένα αστέρι στο μοντέλο Star Schema.
Ο πίνακας γεγονότων διατηρεί σχέσεις μεταξύ πολλών με όλους τους πίνακες διαστάσεων. Κάθε σειρά σε έναν πίνακα γεγονότων σχετίζεται με τις σειρές του πίνακα διαστάσεων με μια αναφορά ξένου κλειδιού.
Λόγω του παραπάνω λόγου, η πλοήγηση μεταξύ των πινάκων σε αυτό το μοντέλο είναι εύκολη για την αναζήτηση συγκεντρωτικών δεδομένων. Ένας τελικός χρήστης μπορεί εύκολα να κατανοήσει αυτήν τη δομή. Ως εκ τούτου, όλα τα εργαλεία Business Intelligence (BI) υποστηρίζουν σε μεγάλο βαθμό το μοντέλο σχήματος Star.
Κατά τη σχεδίαση αστεριών, οι πίνακες διαστάσεων απενεργοποιούνται σκοπίμως. Είναι ευρεία με πολλά χαρακτηριστικά για την αποθήκευση των δεδομένων με βάση τα συμφραζόμενα για καλύτερη ανάλυση και αναφορά.
Οφέλη του αστεριού σχήματος
- Τα ερωτήματα χρησιμοποιούν πολύ απλές συνδέσεις ενώ ανακτούν τα δεδομένα και έτσι αυξάνεται η απόδοση του ερωτήματος.
- Είναι απλό να ανακτήσετε δεδομένα για αναφορά, ανά πάσα στιγμή για οποιαδήποτε περίοδο.
Μειονεκτήματα του αστεριού σχήματος
- Εάν υπάρχουν πολλές αλλαγές στις απαιτήσεις, το υπάρχον σχήμα αστεριού δεν συνιστάται να τροποποιήσετε και να επαναχρησιμοποιήσετε μακροπρόθεσμα.
- Ο πλεονασμός δεδομένων είναι περισσότερο καθώς οι πίνακες δεν χωρίζονται ιεραρχικά.
Παρακάτω δίνεται ένα παράδειγμα ενός αστεριού σχήματος.
Ερώτηση ενός σχήματος αστεριών
Ένας τελικός χρήστης μπορεί να ζητήσει μια αναφορά χρησιμοποιώντας εργαλεία Business Intelligence. Όλα αυτά τα αιτήματα θα υποβληθούν σε επεξεργασία δημιουργώντας μια αλυσίδα 'ΕΠΙΛΟΓΩΝ ερωτημάτων' εσωτερικά. Η απόδοση αυτών των ερωτημάτων θα επηρεάσει τον χρόνο εκτέλεσης της αναφοράς.
Από το παραπάνω παράδειγμα σχήματος αστεριών, εάν ένας χρήστης επιχείρησης θέλει να μάθει πόσα μυθιστορήματα και DVD έχουν πωληθεί στην πολιτεία της Κεράλα τον Ιανουάριο του 2018, τότε μπορείτε να εφαρμόσετε το ερώτημα ως εξής στους πίνακες σχήματος αστεριών:
SELECT pdim.Name Product_Name, Sum (sfact.sales_units) Quanity_Sold FROM Product pdim, Sales sfact, Store sdim, Date ddim WHERE sfact.product_id = pdim.product_id AND sfact.store_id = sdim.store_id AND sfact.date_id = ddim.date_id AND sdim.state = 'Kerala' AND ddim.month = 1 AND ddim.year = 2018 AND pdim.Name in (‘Novels’, ‘DVDs’) GROUP BY pdim.Name
Αποτελέσματα:
Ονομασία προϊόντος | Ποσότητα_Πώληση | |
---|---|---|
7 | Ο καθένας μπορεί εύκολα να κατανοήσει και να σχεδιάσει το σχήμα. | Είναι δύσκολο να κατανοήσετε και να σχεδιάσετε το σχήμα. |
Μυθιστορήματα | 12,702 | |
DVD | 32,919 |
Ελπίζω να καταλάβατε πόσο εύκολο είναι να ζητήσετε ένα Star Schema.
# 2) Σχέδιο SnowFlake
Το σχήμα αστεριών λειτουργεί ως είσοδος για το σχεδιασμό ενός σχήματος SnowFlake. Το νιφάδες χιονιού είναι μια διαδικασία που ομαλοποιεί πλήρως όλους τους πίνακες διαστάσεων από ένα σχήμα αστεριών.
Η διάταξη ενός πίνακα γεγονότων στο κέντρο που περιβάλλεται από πολλές ιεραρχίες πινάκων διαστάσεων μοιάζει με SnowFlake στο μοντέλο σχήματος SnowFlake. Κάθε σειρά πίνακα γεγονότων σχετίζεται με τις σειρές πίνακα διαστάσεων με μια αναφορά ξένου κλειδιού.
Ενώ σχεδιάζουμε σχήματα SnowFlake, οι πίνακες διαστάσεων κανονικοποιούνται σκόπιμα. Τα ξένα κλειδιά θα προστεθούν σε κάθε επίπεδο των πινάκων διαστάσεων για σύνδεση με το γονικό χαρακτηριστικό του. Η πολυπλοκότητα του σχήματος SnowFlake είναι άμεσα ανάλογη με τα επίπεδα ιεραρχίας των πινάκων διαστάσεων.
Οφέλη του SnowFlake Schema:
- Ο πλεονασμός δεδομένων καταργείται εντελώς δημιουργώντας νέους πίνακες διαστάσεων.
- Σε σύγκριση με το σχήμα αστεριών, χρησιμοποιείται λιγότερος αποθηκευτικός χώρος από τους πίνακες διαστάσεων Snow Flaking.
- Είναι εύκολο να ενημερώσετε (ή) να διατηρήσετε τους πίνακες Snow Flaking.
Μειονεκτήματα του σχήματος SnowFlake:
- Λόγω των κανονικοποιημένων πινάκων διαστάσεων, το σύστημα ETL πρέπει να φορτώσει τον αριθμό των πινάκων.
- Ίσως χρειαστείτε σύνθετες συνδέσεις για να εκτελέσετε ένα ερώτημα λόγω του αριθμού των πινάκων που προστέθηκαν. Ως εκ τούτου, η απόδοση του ερωτήματος θα υποβαθμιστεί.
Παρακάτω δίνεται ένα παράδειγμα ενός σχήματος SnowFlake.
Οι πίνακες διαστάσεων στο παραπάνω διάγραμμα SnowFlake ομαλοποιούνται όπως εξηγείται παρακάτω:
- Η ιδιότητα ημερομηνίας ομαλοποιείται σε πίνακες τριμηνιαίων, μηνιαίων και εβδομαδιαίων, αφήνοντας ταυτότητες ξένου κλειδιού στον πίνακα ημερομηνίας.
- Η διάσταση του καταστήματος είναι κανονικοποιημένη ώστε να περιλαμβάνει τον πίνακα για την πολιτεία.
- Η διάσταση του προϊόντος κανονικοποιείται σε επωνυμία.
- Στην ιδιότητα Πελάτης, τα χαρακτηριστικά που συνδέονται με την πόλη μεταφέρονται στον νέο πίνακα Πόλης αφήνοντας ένα αναγνωριστικό ξένου κλειδιού στον πίνακα Πελάτης.
Με τον ίδιο τρόπο, μια μεμονωμένη διάσταση μπορεί να διατηρήσει πολλαπλά επίπεδα ιεραρχίας.
Διαφορετικά επίπεδα ιεραρχιών από το παραπάνω διάγραμμα μπορούν να αναφέρονται ως εξής:
- Το τριμηνιαίο αναγνωριστικό, το μηνιαίο αναγνωριστικό και τα εβδομαδιαία αναγνωριστικά είναι τα νέα υποκατάστατα κλειδιά που δημιουργούνται για ιεραρχίες ιδιοτήτων ημερομηνίας και αυτά έχουν προστεθεί ως ξένα κλειδιά στον πίνακα ιδιότητας ημερομηνίας.
- Το αναγνωριστικό κατάστασης είναι το νέο υποκατάστατο κλειδί που δημιουργήθηκε για την ιεραρχία ιδιοτήτων καταστήματος και έχει προστεθεί ως ξένο κλειδί στον πίνακα ιδιοτήτων καταστήματος.
- Το αναγνωριστικό επωνυμίας είναι το νέο υποκατάστατο κλειδί που δημιουργήθηκε για την ιεραρχία ιδιοτήτων προϊόντος και έχει προστεθεί ως ξένο κλειδί στον πίνακα ιδιοτήτων προϊόντος.
- Το αναγνωριστικό πόλης είναι το νέο υποκατάστατο κλειδί που δημιουργήθηκε για την ιεραρχία ιδιοτήτων πελατών και έχει προστεθεί ως ξένο κλειδί στον πίνακα ιδιοτήτων πελατών.
Ερώτηση ενός σχήματος νιφάδας χιονιού
Μπορούμε να δημιουργήσουμε το ίδιο είδος αναφορών για τους τελικούς χρήστες με αυτό των δομών σχήματος αστεριών με τα σχήματα SnowFlake επίσης. Αλλά τα ερωτήματα είναι λίγο περίπλοκα εδώ.
Από το παραπάνω παράδειγμα σχήματος SnowFlake, πρόκειται να δημιουργήσουμε το ίδιο ερώτημα που έχουμε σχεδιάσει κατά το παράδειγμα ερωτήματος σχήματος Star.
Αυτό συμβαίνει εάν ένας χρήστης επιχείρησης θέλει να μάθει πόσα μυθιστορήματα και DVD έχουν πουληθεί στην πολιτεία της Κεράλα τον Ιανουάριο του 2018, μπορείτε να εφαρμόσετε το ερώτημα ως εξής στους πίνακες σχήματος SnowFlake.
SELECT pdim.Name Product_Name, Sum (sfact.sales_units) Quanity_Sold FROM Sales sfact INNER JOIN Product pdim ON sfact.product_id = pdim.product_id INNER JOIN Store sdim ON sfact.store_id = sdim.store_id INNER JOIN State stdim ON sdim.state_id = stdim.state_id INNER JOIN Date ddim ON sfact.date_id = ddim.date_id INNER JOIN Month mdim ON ddim.month_id = mdim.month_id WHERE stdim.state = 'Kerala' AND mdim.month = 1 AND ddim.year = 2018 AND pdim.Name in (‘Novels’, ‘DVDs’) GROUP BY pdim.Name
Αποτελέσματα:
Ονομασία προϊόντος | Ποσότητα_Πώληση |
---|---|
Μυθιστορήματα | 12,702 |
DVD | 32,919 |
Σημεία που πρέπει να θυμάστε κατά την ερώτηση των αστεριών (ή) SnowFlake Schema Tables
Κάθε ερώτημα μπορεί να σχεδιαστεί με την παρακάτω δομή:
SELECT ρήτρα:
- Τα χαρακτηριστικά που καθορίζονται στην ενότητα επιλογής εμφανίζονται στα αποτελέσματα του ερωτήματος.
- Η δήλωση Select χρησιμοποιεί επίσης ομάδες για να βρει τις συγκεντρωτικές τιμές και ως εκ τούτου πρέπει να χρησιμοποιήσουμε την ομάδα κατά ρήτρα στην κατάσταση όπου.
ΑΠΟ Ρήτρα:
- Όλοι οι βασικοί πίνακες γεγονότων και οι πίνακες διαστάσεων πρέπει να επιλέγονται σύμφωνα με το περιβάλλον.
ΟΤΙ Ρήτρα:
- Τα κατάλληλα χαρακτηριστικά ιδιότητας αναφέρονται στην ενότητα όπου συνδέονται με τα χαρακτηριστικά πίνακα γεγονότων. Τα πλήκτρα εναλλαγής από τους πίνακες ιδιοτήτων ενώνονται με τα αντίστοιχα ξένα κλειδιά από τους πίνακες γεγονότων για να καθορίσουν το εύρος των δεδομένων που θα ερωτηθούν. Ανατρέξτε στο παραπάνω γραμμένο παράδειγμα ερωτήματος σχήματος αστεριών για να το κατανοήσετε. Μπορείτε επίσης να φιλτράρετε δεδομένα από την ίδια τη ρήτρα εάν σε περίπτωση που χρησιμοποιείτε εσωτερικές / εξωτερικές συνδέσεις εκεί, όπως γράφεται στο παράδειγμα σχήματος SnowFlake.
- Τα χαρακτηριστικά ιδιότητας αναφέρονται επίσης ως περιορισμοί στα δεδομένα στην ενότητα όπου.
- Με φιλτράρισμα των δεδομένων με όλα τα παραπάνω βήματα, τα κατάλληλα δεδομένα επιστρέφονται για τις αναφορές.
Σύμφωνα με τις ανάγκες της επιχείρησης, μπορείτε να προσθέσετε (ή) να καταργήσετε τα γεγονότα, τις διαστάσεις, τα χαρακτηριστικά και τους περιορισμούς σε ένα σχήμα αστεριού (ή) το ερώτημα σχήματος SnowFlake ακολουθώντας την παραπάνω δομή. Μπορείτε επίσης να προσθέσετε υπο-ερωτήματα (ή) να συγχωνεύσετε διαφορετικά αποτελέσματα ερωτημάτων για να δημιουργήσετε δεδομένα για τυχόν σύνθετες αναφορές.
# 3) Διάγραμμα γαλαξιών
Ένα γαλαξιακό σχήμα είναι επίσης γνωστό ως Fact Constellation Schema. Σε αυτό το σχήμα, πολλοί πίνακες γεγονότων μοιράζονται τους ίδιους πίνακες διαστάσεων. Η διάταξη των πινάκων γεγονότων και των πινάκων διαστάσεων μοιάζει με μια συλλογή αστεριών στο μοντέλο σχήματος Galaxy.
Οι κοινόχρηστες διαστάσεις σε αυτό το μοντέλο είναι γνωστές ως διαμορφωμένες διαστάσεις.
Αυτός ο τύπος σχήματος χρησιμοποιείται για εξελιγμένες απαιτήσεις και για συγκεντρωτικούς πίνακες γεγονότων που είναι πιο σύνθετοι για να υποστηρίζονται από το σχήμα Star (ή) SnowFlake σχήμα. Αυτό το σχήμα είναι δύσκολο να διατηρηθεί λόγω της πολυπλοκότητάς του.
Ένα παράδειγμα του Galaxy Schema δίνεται παρακάτω.
# 4) Σχέδιο αστεριών συστάδων
Ένα σχήμα SnowFlake με πολλούς πίνακες διαστάσεων μπορεί να χρειαστεί πιο σύνθετες συνδέσεις κατά την αναζήτηση. Ένα σχήμα αστεριού με λιγότερους πίνακες διαστάσεων μπορεί να έχει περισσότερη πλεονασμό. Ως εκ τούτου, ένα σχήμα αστεριού συμπλέγματος ήρθε στην εικόνα συνδυάζοντας τα χαρακτηριστικά των δύο παραπάνω σχημάτων.
Το σχήμα αστεριών είναι η βάση για το σχεδιασμό ενός σχήματος αστεριών και λίγα βασικά πίνακες διαστάσεων από το σχήμα αστεριού είναι χιονισμένα και αυτό, με τη σειρά του, σχηματίζει μια πιο σταθερή δομή σχήματος.
Ακολουθεί ένα παράδειγμα ενός σχήματος αστεριών συμπλέγματος.
Ποιο είναι καλύτερο σχήμα νιφάδας χιονιού ή σχήμα αστεριού;
Η πλατφόρμα αποθήκης δεδομένων και τα εργαλεία BI που χρησιμοποιούνται στο σύστημα DW θα διαδραματίσουν ζωτικό ρόλο στην επιλογή του κατάλληλου σχήματος που θα σχεδιαστεί. Το Star and SnowFlake είναι τα πιο συχνά χρησιμοποιούμενα σχήματα στο DW.
Το σχήμα αστεριού προτιμάται εάν τα εργαλεία BI επιτρέπουν στους επιχειρηματικούς χρήστες να αλληλεπιδρούν εύκολα με τις δομές του πίνακα με απλά ερωτήματα. Το σχήμα SnowFlake προτιμάται εάν τα εργαλεία BI είναι πιο περίπλοκα για τους επιχειρηματικούς χρήστες να αλληλεπιδρούν απευθείας με τις δομές του πίνακα λόγω περισσότερων συνδέσεων και σύνθετων ερωτημάτων.
Μπορείτε να προχωρήσετε με το σχήμα SnowFlake είτε εάν θέλετε να εξοικονομήσετε χώρο αποθήκευσης είτε εάν το σύστημα DW έχει βελτιστοποιημένα εργαλεία για το σχεδιασμό αυτού του σχήματος.
Σχέδιο αστεριών εναντίον Snowflake Schema
Παρακάτω δίνονται οι βασικές διαφορές μεταξύ του σχήματος Star και του σχήματος SnowFlake.
ΝΟ | Πρόγραμμα αστεριών | Σχέδιο νιφάδων χιονιού |
---|---|---|
1 | Ο πλεονασμός δεδομένων είναι περισσότερο. | Ο πλεονασμός δεδομένων είναι μικρότερος. |
δύο | Ο αποθηκευτικός χώρος για πίνακες διαστάσεων είναι περισσότερο. | Ο αποθηκευτικός χώρος για πίνακες διαστάσεων είναι συγκριτικά μικρότερος. |
3 | Περιέχει πίνακες διαστάσεων που δεν έχουν κανονικοποιηθεί. | Περιέχει πίνακες κανονικοποιημένων διαστάσεων. |
4 | Ο πίνακας μονής πραγματικότητας περιβάλλεται από πίνακες πολλαπλών διαστάσεων. | Ο πίνακας μονής πραγματικότητας περιβάλλεται από πολλές ιεραρχίες πινάκων διαστάσεων. |
5 | Τα ερωτήματα χρησιμοποιούν άμεσες συνδέσεις μεταξύ γεγονότων και διαστάσεων για τη λήψη των δεδομένων. | Τα ερωτήματα χρησιμοποιούν πολύπλοκες συνδέσεις μεταξύ γεγονότων και διαστάσεων για τη λήψη δεδομένων. |
6 | Ο χρόνος εκτέλεσης ερωτήματος είναι μικρότερος. | Ο χρόνος εκτέλεσης ερωτήματος είναι περισσότερο. |
8 | Χρησιμοποιεί προσέγγιση από πάνω προς τα κάτω. | Χρησιμοποιεί προσέγγιση από κάτω προς τα πάνω. |
συμπέρασμα
Ελπίζουμε να έχετε μια καλή κατανόηση των διαφορετικών τύπων Schemas Data Warehouse, μαζί με τα οφέλη και τα μειονεκτήματά τους από αυτό το σεμινάριο.
Μάθαμε επίσης πώς μπορούν να τεθούν ερωτήματα για το Star Schema και το SnowFlake Schema, και ποιο σχήμα πρέπει να επιλέξετε μεταξύ αυτών των δύο μαζί με τις διαφορές τους.
Μείνετε συντονισμένοι στο επερχόμενο σεμινάριό μας για να μάθετε περισσότερα για το Data Mart στο ETL !!
=> Παρακολουθήστε τη σειρά εκπαίδευσης απλής αποθήκευσης δεδομένων εδώ.
Συνιστώμενη ανάγνωση
- Τύποι δεδομένων Python
- Τύποι δεδομένων C ++
- Εκμάθηση δοκιμών αποθήκης δεδομένων με παραδείγματα | Οδηγός δοκιμών ETL
- Κορυφαία 10 δημοφιλή εργαλεία αποθήκευσης δεδομένων και τεχνολογίες δοκιμών
- Διαστατικό μοντέλο δεδομένων στην αποθήκη δεδομένων - Εκμάθηση με παραδείγματα
- Εκπαιδευτικός Οδηγός ETL Testing Data Warehouse Testing (Ένας πλήρης οδηγός)
- Τι είναι η διαδικασία ETL (Extract, Transform, Load) στην αποθήκη δεδομένων;
- Εξόρυξη δεδομένων: Διαδικασία, τεχνικές και σημαντικά ζητήματα στην ανάλυση δεδομένων