Transcript Lecture 2
ΑΠΟΘΗΚΕΣ ΔΕΔΟΜΕΝΩΝ (Data Warehouses) Δρ. Παναγιώτης Συμεωνίδης Εργ. Τεχνολογίας και Επεξεργασίας Δεδομένων Τμήμα Πληροφορικής Διατμηματικό Πρόγραμμα Μεταπτυχιακών Σπουδών Αριστοτέλειο Πανεπιστήμιο Θεσ/νικης http://delab.csd.auth.gr/~symeon Δρ. Παναγιώτης Συμεωνίδης – Αποθήκες Δεδομένων – Data Warehouses 1 On-Line Transaction Processing (OLTP) (1/3) Σύστημα Επεξεργασίας Δοσοληψιών: OnLine Transaction Processing (OLTP) Ένα πλήρες προγραμματισμό δοσοληψιών σύστημα που περιέχει εφαρμογών, εκτέλεση και εργαλεία διαχείριση Μια τέτοια εφαρμογή πρέπει να δουλεύει συνεχώς, να αντεπεξέρχεται αποτυχιών, εξελίσσεται συνεχώς, είναι συνήθως κατανεμημένη και περιλαμβάνει: Σχεσιακή Βάση Δεδομένων Δίκτυο Προγράμματα εφαρμογής Εξαιρετικά κρίσιμη για τη λειτουργία κάθε οργανισμού 2 για των On-Line Transaction Processing (OLTP) (2/3) OLTP – Αεροπορική Εταιρεία Κράτησε για τον κ. Χ την θέση 13Α για Αθήνα! Κράτησε για τον κ. Y την θέση 1C για Κέρκυρα! DB Πόσοι ταξιδεύουν για Θεσσαλονίκη ? 3 1 ... 100 On-Line Transaction Processing (OLTP) (3/3) OLTP – Τράπεζα Δάνεια Ταμείο DB ΑΤΜ Πιστωτικές κάρτες 4 OLTP – Βασικά Χαρακτηριστικά Ελάχιστος χρόνος διαθέσιμος για την εκτέλεση μιας δοσοληψίας. Περιορισμένος αριθμός προσβάσεων στο δίσκο. Περιορισμένος αριθμός υπολογισμών. Κάτω όριο λειτουργικών απαιτήσεων: τουλάχιστον 100 TPS σε μια ΒΔ της τάξης του 1 GB Άνω όριο λειτουργικών απαιτήσεων: μέχρι 50000 TPS σε μια ΒΔ μεγαλύτερη του 1 ΤB. 5 Προβλήματα σχεσιακών Βάσεων Δεδομένων ενός OLTP Αρκετά δεδομένα μπορεί να είναι ελλιπή (missing data) ΠΡΟΤΕΙΝΟΜΕΝΕΣ ΛΥΣΕΙΣ Απόρριψη εγγραφών των οποίων κάποιες τιμές λείπουν Αντικατάσταση των τιμών που λείπουν με την μέση τιμή της κατηγορίας Αντικατάσταση των απουσών τιμών χαρακτηριστικών με τις αντίστοιχες τιμές παρόμοιων χαρακτηριστικών Προβλήματα σχεσιακών Βάσεων Δεδομένων ενός OLTP Αρκετά δεδομένα μπορεί να έχουν θόρυβο και ασυνέπειες (Noisy and inconsistent data) Εντοπισμός διπλότυπων εγγραφών π.χ. Συμεωνίδης & Συμαιωνίδης Εντοπισμός χαρακτηριστικών λανθασμένων τιμών π.χ. Μηδενική τιμή σε ένα χαρακτηριστικό που αφορά το βάρος προϊόντος Εξομάλυνση δεδομένων π.χ. περιορισμός του αριθμού αριθμητικού χαρακτηριστικού των τιμών ενός Προβλήματα σχεσιακών Βάσεων Δεδομένων ενός OLTP Τα δεδομένα μπορεί να είναι ετερογενή και να παρουσιάζουν συνωνυμίες ή αμφισημίες Π.χ., πελάτης καταχωρημένος με διαφορετικά στοιχεία στη βάσης του τμήματος πωλήσεων από ότι στη βάση του τμήματος μάρκετινγκ. Εννοιολογική εναρμόνιση Source 1: Personnel (Cobol) EMP ID Name 110 Kostas 1/1/72 … … Source 2: Accounting (DB2) EMP ID Name 110 Kostas 30 120 Vasilis 48 130 Roula Salary Total DeptID Income 1500 1200 132 … EMP ID IL_ID Amount 110 10 1500 110 30 300 EMP INCOME IL_ID Descr Age 29 Birth EMP 10 Μισθός 20 Επίδομα Τέκνων 30 Φόρος ... ... 9 Income Lookup Αποκανονικοποίηση - Denormalization IL_ID Descr EMP ID IL_ID Amount 110 10 1500 110 30 300 EMP ID Name 110 Kostas 30 120 Vasilis 48 130 Roula EMP INCOME Age 10 Μισθός 20 Επίδομα Τέκνων 30 Φόρος ... ... Income Lookup EMP DW 29 DW.EMP ? 10 Καθαρισμός των δεδομένων – Ομογενοποίηση κλειδιών ID ID Descr 10 Coca 20 Pepsi 100 Coca 110 Pepsi DW.R R1 ID Descr 10 Pepsi 20 Epsa Descr 120 Epsa + + R2 Lookup Source Sour Surrogate ID ce Key 10 R1 100 20 R1 110 10 R2 110 20 R2 11 120 Προβλήματα σχεσιακών Βάσεων Δεδομένων ενός OLTP Λόγω διαδικασιών ενημέρωσης, εισαγωγής, διαγραφής διατηρούν δεδομένα μόνο για την τρέχουσα κατάσταση. Π.χ., στη βάση του τμήματος προμηθειών διατηρούνται μόνο όσοι προμηθευτές συνεργάζονται αυτή τη στιγμή ενώ μπορεί να χρειασθούν δεδομένα και για προμηθευτές που συνεργαζόταν στο παρελθόν προκειμένου να συγκριθούν οι τιμές τους Η ανάλυση των δεδομένων δεν είναι εύκολο να επιτευχθεί με εργαλεία όπως η γλώσσα SQL. Προκύπτουν περίπλοκα ερωτήματα SQL τα οποία δεν είναι εύκολο να συνταχθούν. Προβλήματα σχεσιακών Βάσεων Δεδομένων ενός OLTP Σε φυσικό επίπεδο οργάνωσης (π.χ. δενδρικές μέθοδοι προσπέλασης) δεν είναι σχεδιασμένα για να ανταποκρίνονται στις απαιτήσεις περίπλοκων ερωτημάτων. Τα δεδομένα οργανώνονται με Διάγραμμα Οντοτήτων-Συσχετίσεων (ΔΟΣ) και αρχών όπως η κανονικοποίηση, που παράγουν περίπλοκες βάσεις στο νοητικό επίπεδο On-Line Αnalytical Processing (OLAP & OLAM) Aνάλυση μεγάλου όγκου σύνθετων δεδομένων από διαφορετικές εφαρμογές Ειδικού τύπου ερωτήματα συνάθροισης Οπτικοποίηση/στατιστική ανάλυση/πολυδιάστατη ανάλυση Εξόρυξη Γνώσης (Knowledge Discovery/Data Mining) Εξεύρεση προτύπων σε τεράστιες βάσεις δεδομένων OLAP + Data Mining => On-Line Analytical Mining 14 Παραδείγματα ερωτήσεων OLAP Ποιος ήταν ο όγκος πωλήσεων ανά περιοχή και κατηγορία προϊόντος την περασμένη χρονιά; Πόσο σχετίζονται οι αυξήσεις τιμών των υπολογιστών με τα κέρδη των πωλήσεων τα 10 τελευταία χρόνια; Ποια ήταν τα δέκα πρώτα καταστήματα σε πωλήσεις CD; Τι ποσοστό από τους πελάτες που αγοράζουν αναψυκτικά αγοράζουν και πατατάκια; 15 Λειτουργικά Χαρακτηριστικά Απαιτήσεων OLAP Πρόσβαση σε μεγάλο όγκο δεδομένων Συμμετοχή αθροιστικών και ιστορικών δεδομένων σε πολύπλοκες ερωτήσεις Μεταβολή της «οπτικής γωνίας» παρουσίασης των δεδομένων (π.χ., από πωλήσεις ανά περιοχή -> πωλήσεις ανά τμήμα κλπ.) Συμμετοχή πολύπλοκων υπολογισμών (π.χ. στατιστικές συναρτήσεις) Γρήγορη απάντηση σε οποιαδήποτε χρονική στιγμή τεθεί ένα ερώτημα ( “On-Line”). 16 OLTP vs. OLAP OLTP Αυτοματισμός καθημερινών εργασιών OLAP Χάραξη στρατηγικής Τύπος Δεδομένων Λεπτομερή Αθροιστικά Όγκος Δεδομένων ~ 100 GB ~ 1 TB Φύση Δεδομένων Δυναμικά Στατικά, Iστορικά Λειτουργίες 17 OLTP vs. OLAP I/O Τύποι Τροποποιήσεις OLTP Περιορισμένο I/O Συνεχείς Ενημερώσεις OLAP Εκτεταμένο I/O Περιοδικές Φόρτος Δοσοληψίες με πρόσβαση λίγων εγγραφών Ερωτήσεις που σαρώνουν εκατομμύρια εγγραφών Σχεδίαση ΒΔ Κατευθυνόμενη από Εφαρμογή Κατευθυνόμενη από Περιεχόμενο 18 OLTP vs. OLAP OLTP Χαμηλόβαθμοι Υπ. OLAP Υψηλόβαθμοι Υπ. Χρήση Μέσω προκατασκευασμένων φορμών Ad-hoc Αριθμός Χρηστών Χιλιάδες Δεκάδες Εστίαση Εισαγωγή Δεδομένων Εξαγωγή Πληροφοριών Τυπικοί Χρήστες 19 Αποθήκες δεδομένων Η τεχνολογία των αποθηκών δεδομένων προσφέρει ολοκλήρωση ετερογενών πηγών δεδομένων και πλατφόρμα για αποδοτική ανάλυση ιστορικών δεδομένων Μία αποθήκη δεδομένων αποτελεί μία συλλογή δεδομένων που επιλέγονται από τις Επιχειρησιακές Βάσεις Δεδομένων, Ολοκληρώνονται (integrated), τα δεδομένα αναλύονται με διαδικασίες όπως η On-line Analytical Processing (OLAP) ή η εξόρυξη δεδομένων. Αποθήκες δεδομένων Μια κεντρικοποιημένη ΒΔ με σκοπό: την ολοκλήρωση (integration) ετερογενών πηγών πληροφοριών (data sources) => συνάθροιση όλης της ενδιαφέρουσας πληροφορίας σε μία τοποθεσία την αποφυγή της σύγκρουσης μεταξύ OLTP και OLAP (DSS) συστημάτων => απόδοση εφαρμογών και διαθεσιμότητα του συστήματος Μπορεί να συμπληρώνεται και από εξειδικευμένα θεματικά υποσύνολα (Data Marts) για περαιτέρω απόδοση των OLAP εφαρμογών 21 Αποθήκες δεδομένων – Λειτουργικά Χαρακτηριστικά Ιστορικά Δεδομένα Ο χρονικός ορίζοντας μια αποθήκης δεδομένων είναι πολύ μεγαλύτερος από ότι ενός συστήματος σε λειτουργία Η ΒΔ έχει τα τωρινά δεδομένα ενώ οι αποθήκες διατηρούν και παλιά δεδομένα (πχ τα προηγούμενα 5-10 χρόνια) Τροποποιήσεις Οι τροποποιήσεις στις πηγές δεδομένων δεν φαίνονται άμεσα στις αποθήκες δεδομένων, συνήθως περιοδικά Μόνο δύο βασικές λειτουργίες: αρχικό φόρτωμα των δεδομένων (loading) και προσπέλαση δεδομένων (access) 22 Επιτυχία αποθηκών δεδομένων (1/2) Πρώτες προσπάθειες στα μέσα της δεκαετίας του 1990, οπότε οι αποθήκες δεδομένων εξελίχθηκαν σε αγορά της τάξης των 2 δις $. Στα τέλη της δεκαετίας του 1990, το 95% των 1000 επιχειρήσεων του Fortune ανέπτυσσαν αποθήκες δεδομένων, οπότε η αγορά των αποθηκών δεδομένων ανήρθε οικονομικά της τάξης των 7 δις $. Εκτιμήθηκε ότι σε 3 χρόνια από την ανάπτυξη μίας αποθήκης δεδομένων, η απόσβεση γίνεται σε ποσοστό 400%. Επιτυχία αποθηκών δεδομένων (2/2) Επιτυχημένη περίπτωση εφαρμογής: αλυσίδα υπεραγορών Walmart, με 2000 υποκαταστήματα. βοήθησε την Walmart να βελτιστοποιήσει τις διαδικασίες προμήθειας προϊόντων και να μειώσει το κόστος αγοράς τους κατά 20%. ο όγκος των δεδομένων στην αποθήκη δεδομένων της Walmart ανέρχεται στα 24 ΤΒ, σε ένα σύστημα 96 κόμβων με 900 επεξεργαστές και 2700 δίσκους. Αποθήκες δεδομένων – Βασικές Λειτουργίες Αρχιτεκτονική αποθηκών δεδομένων Μετασχηματισμός Δεδομένων • Κανονικοποίηση Δεδομένων • Μετατροπή τύπων δεδομένων • Επιλογή χαρακτηριστικών και στιγμιοτύπων Κανονικοποίηση Δεδομένων • Δεκαδική κλιμάκωση • Κανονικοποίηση ΕλαχίστουΜεγίστου originalVa lue oldMin newValue oldMax oldMin • Κανονικοποίηση με χρήση τιμών Zscores originalVa lue newValue Μοντέλο Πολυδιάστατων Δεδομένων (Κύβος) και Λειτουργίες που εκτελούνται σε αυτό 29 Ορισμός κύβου δεδομένων Μια αποθήκη δεδομένων βασίζεται σε ένα πολυδιάστατο μοντέλο δεδομένων (multidimensional data model) που αναπαριστά τα δεδομένα με τη μορφή ενός κύβου δεδομένων (data cube) Κύβος ΠΩΛΗΣΕΙΣ Για συγκεκριμένες τιμές στις διαστάσεις μια Μέτρηση (Measure) αφορά αυτό που μας ενδιαφέρει να μετρήσουμε Item Ένας κύβος δεδομένων (data cube) επιτρέπει την μοντελοποίηση και την θεώρηση των δεδομένων από πολλές οπτικές γωνίες – Διαστάσεις (dimensions) Διαστάσεις Time Μέτρηση: Αριθμός Πωλήσεων για τις συγκεκριμένες Item, Time) 30 διαστάσεις (Location, Ιεραρχίες Διαστάσεων Κάθε διάσταση παίρνει τιμές από διαφορετικά επίπεδα, μπορεί να εκφραστεί σε διαφορετικά επίπεδα λεπτομέρειας Κύβος ΠΩΛΗΣΕΙΣ Industry Country Year Category Region Quarter Product City Store Item Διαστάσεις: Product, Region, Date Ιεραρχίες διαστάσεων: Week Month Time Μέτρηση: Αριθμός Πωλήσεων για τις Day συγκεκριμένες Item, Time) 31 διαστάσεις (Location, Παράδειγμα: Εννοιολογική ιεραρχία (Concept Hierarchy) για Location all all Europe region country city office Germany Frankfurt ... ... Spain North_America Canada Vancouver ... ... L. Chan 32 ... ... Mexico Toronto M. Wind Μοντέλο Δεδομένων Σχήματος Αστέρα Σχήμα Αστέρι (Star schema) Πίνακας γεγονότων στο κέντρο που συνδέεται με ένα σύνολο από πίνακες διαστάσεων Πίνακας γεγονότων (Fact Table) έχει ως γνωρίσματα: τις μετρήσεις (πχ αριθμός πωλήσεων, τιμή σε δολάρια, κλπ) το πρωτεύον κλειδί κάθε σχετικού πίνακα διαστάσεων Πίνακες Διαστάσεων Πίνακας με πληροφορία σχετικά με κάθε διάσταση Ιtem (item_name, brand, type), Τime(day, week, month, quarter, year) 33 Παράδειγμα Σχήματος Αστεριού time item time_key day day_of_the_week month quarter year Πίνακας Γεγονότων ΠΩΛΗΣΕΙΣ time_key item_key branch_key branch location_key branch_key branch_name branch_type units_sold dollars_sold avg_sales Μετρήσεις item_key item_name brand type supplier_type location location_key street city state_or_province country 4 διαστάσεις (time, item, location, branch) 34 Μοντέλο Δεδομένων Σχήματος Χιονονιφάδας (Snowflake schema) Είναι μια βελτίωση του σχήματος αστέρα σύμφωνα με την οποία η ιεραρχία διαστάσεων των πινάκων διάστασης κανονικοποιείται σε ένα σύνολο από μικρότερους πίνακες διαστάσεων 35 Παράδειγμα Σχήματος Χιονονιφάδας time time_key day day_of_the_week month quarter year Πίνακας Γεγονότων ΠΩΛΗΣΕΙΣ time_key item_key branch_key branch location_key branch_key branch_name branch_type units_sold dollars_sold avg_sales Μετρήσεις 36 item item_key item_name brand type supplier_key supplier supplier_key supplier_type location location_key street city_key city city_key city state_or_provin ce Μοντέλο Δεδομένων - Αστερισμοί Γεγονότων (Fact constellations) Βασίζεται σε Πολλαπλούς Πίνακες μοιράζονται τους Πίνακες Διαστάσεων. Γεγονότων που Μπορούμε να τους δούμε ως συλλογή από αστέρια ή γαλαξίες 37 Παράδειγμα Σχήματος Αστερισμών Γεγονότων time time_key day day_of_the_week month quarter year item Πίνακας Γεγονότων ΠΩΛΗΣΕΙΣ time_key item_key item_key item_name brand type supplier_type location_key branch_key branch_name branch_type time_key item_key shipper_key from_location branch_key branch Πίνακας Γεγονότων ΑΠΟΣΤΟΛΗ units_sold dollars_sold avg_sales Μετρήσεις 38 location to_location location_key street city province_or_state country dollars_cost units_shipped shipper shipper_key shipper_name location_key shipper_type Κύβος Δεδομένων - Ορολογία Συχνά ο n-D κύβος λέγεται βασικός κυβοειδής (base cuboid). Περιέχει τον μεγαλύτερο βαθμός λεπτομέρειας. π.χ. Για κύβο με τέσσερεις διαστάσεις (Item, Time, Branch, Location) έχουμε 4D βασικό κυβοειδή O 0-D cuboid περιέχει τη μεγαλύτερο επίπεδο περίληψης (apex cuboid). Το πλέγμα όλων των κυβοειδών ονομάζεται κύβος δεδομένων. 39 Πλέγμα Κυβοειδών – Κύβος δεδομένων all 0-D(apex) cuboid time item location supplier 1-D cuboids time, item time , location item, location location, supplier 2-D cuboids time, supplier item, supplier time, location, supplier 3-D cuboids time, item, location time, item, supplier item, location, supplier 4-D (base) cuboid time, item, location, supplier 40 OLAP και συνάθροιση Για την εφαρμογή OLAP πράξεων απαιτείται ο ορισμός του τρόπου παραγωγής των κύβωναποτελεσμάτων, μέσω μίας συναθροιστικής συνάρτησης Οι βασικές συναθροιστικές συναρτήσεις είναι αθροίσματος (sum), πλήθους (count), μέσου όρου (avg), μεγίστου (max), και ελαχίστου (min). Μετρήσεις - Συναθροίσεις Εκτός από τις λεπτομερείς πληροφορίες των fact tables, μπορεί να υπολογίσουμε και συναθροίσεις των δεδομένων για καλύτερους χρόνους απόκρισης. Για παράδειγμα, αν ο fact table είναι SALES(GeographyCode, ProductCode, TimeCode, BrandCode, Amount, Unit) μπορούμε να υπολογίσουμε AVG(amount) ανά Region, Product, Quarter SUM(amount) ανά City MAX(units) ανά Brand, Month, με Region = Europe 42 Παράδειγμα Συναθροίσεων (1/2) 2Qtr 3Qtr 4Qtr sum U.S.A Canada Mexico Country TV PC VCR sum 1Qtr Date Total annual sales of TV in U.S.A. Total annual sales of TV in All countries 43 Total annual sales of all Devises in All countries Παράδειγμα Συναθροίσεων σε πίνακα γεγονότων (2/2) Χωριστός πίνακας/όψη αθροισμάτων Sales table RID 1 2 3 4 5 6 7 City Athens N.Y. Rome Athens Rome Rome N.Y. Εκτεταμένος πίνακας πωλήσεων: Ενσωμάτωση των αθροιστικών εγγραφών στον βασικό fact table + μια επιπλέον στήλη που να εξηγεί το επίπεδο συνάθροισης sum … Amount … $100 … $300 … $120 … $250 … $180 … $65 … $450 Extended Sales table RID City … Amount 1 Athens … $100 2 N.Y. … $300 3 Rome … $120 4 Athens … $250 5 Rome … $180 6 Rome … $65 7 N.Y. … $450 8 Athens … $350 9 N.Y. … $750 10 Rome … $365 City-dimension sum table City Amount Athens $350 N.Y. $750 Rome $365 44 Level NULL NULL NULL NULL NULL NULL NULL City City City Βασικές Αλγεβρικές Πράξεις Συναθροιστική Άνοδος (Roll up): συνάθροιση της πληροφορίας = μετάβαση από χαμηλότερο σε υψηλότερο επίπεδο ιεραρχίας (π.χ. από day σε month) Αναλυτική Κάθοδος (Drill down): το αντίστροφο του Roll up (π.χ month σε day) Οριζόντιος Τεμαχισμός (Slice): πράξη της επιλογής εγγραφών (where) από μία διάσταση. Κάθετος Τεμαχισμός (Dice): περισσότερες διαστάσεις. πράξη Περιστροφή (Pivot): αναδιάταξη πολυδιάστατου κύβου στην οθόνη 45 της της επιλογής από προβολής του Πράξη Συναθροιστικής ανόδου Roll-up Η συναθροιστική άνοδος περιλαμβάνει τον υπολογισμό μίας συνολικής τιμής για μία θέση στην ιεραρχία μίας διάστασης δεδομένων. Για παράδειγμα, με ένα roll-up, οι πωλήσεις σε επίπεδο τοπικών μαγαζιών (Store) παράγουν τις συνολικές πωλήσεις σε επίπεδο πόλης (City) και αυτές με τη σειρά τους με ένα ακόμα roll-up παράγουν τις πωλήσεις σε επίπεδο περιοχής (Region). Industry Category Country Region Product City Store 46 Year Quarter Month Week Day Παράδειγμα Πράξης Roll-up Industry Country Year Category Region Quarter Product City Sales volume Month Week Store Day Electronics Toys Clothing Cosmetics Electronics Toys Clothing Cosmetics Store1 Store2 $5,2 $1,9 $2,3 $1,1 $8,9 $0,75 $4,6 $1,5 $5,6 $1,4 $2,6 $1,1 $7,2 $0,4 $4,6 $0,5 Sales volume Products Year 1996 Q2 Q1 Products Χρόνος: Επίπεδο Quarter Electronics Toys Clothing Cosmetics Store1 Store2 $14,1 $2,65 $6,9 $2,6 $12,8 $1,8 $7,2 $1,6 Χρόνος: Επίπεδο Year SUM(Sales volumes in dollars) 47 Πράξη Αναλυτικής καθόδου Drill-Down Ο χρήστης περνά από ένα ανώτερο επίπεδο μίας διάστασης που έχει συγκεντρωτικά δεδομένα σε ένα χαμηλότερο επίπεδο με πιο λεπτομερή δεδομένα. Πρόκειται για την αντίστροφη πράξη του rollup. Για παράδειγμα, κατά το drill down, ξεκινάμε από τις πωλήσεις ανά περιοχή (Region) και παίρνουμε τις αναλυτικές πωλήσεις ανά πόλη (City) και μετά τις πωλήσεις ανά κατάστημα (Store). Industry Country Year Category Region Quarter Product City MonthWeek Store Day 48 Παράδειγμα Πράξης Drill-Down Industry Category Country Region Product Electronics Store1 Store2 $5,2 $1,9 $2,3 $1,1 $8,9 $0,75 $4,6 $1,5 VCR Camcorder TV CD player VCR Camcorder TV CD player $5,6 $1,4 $2,6 $1,1 $7,2 $0,4 $4,6 $0,5 Q1 Electronics Toys Clothing Cosmetics Electronics Toys Clothing Cosmetics Store1 Store2 Q2 Q2 Q1 Products Item: Επίπεδο Industry $1,4 $0,6 $2,0 $1,2 $2,4 $3,3 $2,2 $1,0 $1,4 $0,6 $2,4 $1,2 $2,4 $1,3 $2,5 $1,0 Item: Επίπεδο Category 49 Quarter City Month Week Store Day Sales volume Sales volume Year Πράξη Περιστροφής (Pivot) Εναλλαγή των γραμμών και των στηλών του κύβου, όπως αυτός παρουσιάζεται στην οθόνη Δεν απαιτείται κανένας νέος υπολογισμός στη ΑΔ 50 Παράδειγμα Πράξης Pivot Sales volume Sales volume $5,2 $1,9 $2,3 $1,1 $8,9 $0,75 $4,6 $1,5 $5,6 $1,4 $2,6 $1,1 $7,2 $0,4 $4,6 $0,5 Store 1 Electronics Toys Clothing Cosmetics Electronics Toys Clothing Cosmetics Store1 Store2 Store 2 Q2 Q1 Products Εναλλαγή γραμμών και στηλών 51 Products Q1 Q2 Electronics Toys Clothing Cosmetics Electronics Toys Clothing Cosmetics $5,2 $1,9 $2,3 $1,1 $5,6 $1,4 $2,6 $1,1 $8,9 $0,75 $4,6 $1,5 $7,2 $0,4 $4,6 $0,5 Οριζόντιος Τεμαχισμός (slice) Slice : Επιλογή συγκεκριμένων τιμών από μία διάσταση (where της SQL) π.χ. Επέλεξε το 1o τρίμηνο από την διάσταση ημερομηνία 52 Κάθετος Τεμαχισμός (dice) Dice : Επιλογή συγκεκριμένων τιμών από περισσότερες διαστάσεις (εξάγει έναν υποκύβο) 53 Παράδειγμα Βιβλιοπωλείου 20 υποκαταστήματα και στα πέντε γεωγραφικά διαμερίσματα της Ελλάδας Σε κάθε υποκατάστημα υπάρχουν 3 τμήματα: των βιβλίων, των ηλεκτρονικών μέσων και των ειδών γραφείου. Οι επιχειρηματικές διαδικασίες του βιβλιοπωλείου περιλαμβάνουν τις πωλήσεις προϊόντων Μία από τις σημαντικότερες αποφάσεις στην επιχείρηση, αποτελεί η τιμολόγηση/κοστολόγηση των προϊόντων. 4 σχεδιαστικά βήματα για το σχήμα αστέρα 1) 2) 3) 4) Επιλογή της διαδικασίας που θα μοντελοποιηθεί Επιλογή επιπέδου λεπτομέρειας Επιλογή των πινάκων διαστάσεων Επιλογή των αριθμητικών γεγονότων (μετρήσεων) Τα 4 βήματα για το βιβλιοπωλείο 1) Επιλογή της διαδικασίας που θα μοντελοποιηθεί Προτεραιότητα στη μοντελοποίηση της διαδικασίας πωλήσεων (πλέον κρίσιμη) 2) Επιλογή επιπέδου λεπτομέρειας όσο το δυνατόν μεγαλύτερο επίπεδο λεπτομέρειας: καταγράφουμε ξεχωριστά κάθε ατομική συναλλαγή ενός πελάτη 3) Επιλογή των πινάκων διαστάσεων («ποιες πληροφορίες περιγράφουν κάθε γραμμή του πίνακα γεγονότων») πελάτης, προϊόν, ημερομηνία, υποκατάστημα, συναλλαγή 4) Επιλογή των αριθμητικών γεγονότων (τι μετράμε σε κάθε γραμμή του πίνακα γεγονότων) αριθμός τεμαχίων, κόστος πώλησης Σχήμα αστέρα για το βιβλιοπωλείο Κύβος δεδομένων Βιβλιοπωλείου (χωρίς διάσταση πελάτη) Μετρική (measure) Τεμάχια Ιεραρχίες Διαστάσεων Πράξεις OLAP Πράξεις Roll-up & Drill-Down ΑΠΟΘΗΚΕΣ ΔΕΔΟΜΕΝΩΝ (Data Warehouses) Δρ. Παναγιώτης Συμεωνίδης Εργ. Τεχνολογίας και Επεξεργασίας Δεδομένων Τμήμα Πληροφορικής Διατμηματικό Πρόγραμμα Μεταπτυχιακών Σπουδών Αριστοτέλειο Πανεπιστήμιο Θεσ/νικης http://delab.csd.auth.gr/~symeon Δρ. Παναγιώτης Συμεωνίδης – Αποθήκες Δεδομένων – Data Warehouses 61