Αποθήκες Δεδομένων & Πολυδιάστατη Ανάλυση Γιάννης Θεοδωρίδης InfoLab, Τμήμα Πληροφορικής, Πανεπιστήμιο Πειραιά http://infolab.cs.unipi.gr version: Nov.2009 Πηγές Το κύριο μέρος των διαφανειών προέρχεται από: Dunham: Data Mining Introductory and Advanced Topics. Prentice Hall, 2003. Επιπρόσθετα, χρησιμοποιήθηκε υλικό από: Han, Kamber: Data Mining Concepts and Techniques. Morgan Kaufmann, 2001. 2 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 5.1
Δεδομένα, δεδομένα, δεδομένα,... Παράγονται όλο και περισσότερα δεδομένα: Τραπεζικά, τηλεπικοινωνιακά,... Επιστημονικά δεδομένα: αστρονομικά, βιολογικά κλπ. Κείμενα στο web κ.α. Αποθηκεύονται όλο και περισσότερα δεδομένα: Γρήγορη και φθηνή τεχνολογία αποθήκευσης Ικανά ΣΔΒΔ για μεγάλες ΒΔ Πώςμπορούμενατααξιοποιήσουμε; Ανακάλυψη γνώσης μέσα από δεδομένα (knowledge discovery in data KDD) 3 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Διαδικασία ανακάλυψης γνώσης (KDD) Ολοκλήρωση Ερµηνεία & Αξιολόγηση Knowledge Πρωτογενή δεδοµένα Επιλογή & καθαρισµός Αποθήκη εδοµένων (data warehouse) Μετασχηµατισµός Εξόρυξη Γνώσης (Data Mining Μετ/να εδοµένα δεδοµένα στόχος (target data) Πρότυπα (patterns) και Κανόνες (rules) Γνώση Κατανόηση 4 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 5.2
"Πυραμίδα" Επιχειρηματικής Ευφυίας (Business Intelligence BI) Making Decisions End User Data Presentation Visualization Techniques Data Mining Information Discovery Business Analyst Data Analyst Data Exploration Statistical Analysis, Querying and Reporting Data Warehouses / Data Marts OLAP, MDA Data Sources Paper, Files, Information Providers, Database Systems, OLTP DBA 5 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Μεθοδολογία OLAP βήματα αναλυτικής διαδικασίας: από το σχεδιασμό της ανάλυσης,... στη συγκέντρωση και οργάνωση των απαραίτητων δεδομένων... την ανάλυσή τους και παρουσίαση των αποτελεσμάτων και, τελικά...... την εκμετάλλευση / αξιοποίηση των όποιων συμπερασμάτων Source: SPSS 6 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 5.3
Αποθήκες Δεδομένων ένα παράδειγμα ΑΔ: συγκεντρωτικά δεδομένα πωλήσεων Ποσότητα & τζίρος ανά ημέρα, υποκατάστημα, προϊόν Στόχος: η πολυδιάστατη ανάλυση των παραπάνω δεδομένων Time Sales Branch 7 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Αρχιτεκτονική ΑΔ other sources Metadata Monitor & Integrator OLAP Server Operational DBs Extract Transform Load Refresh Data Warehouse Serve Analysis Querying Reporting Data mining Data Marts Data Sources Data Storage OLAP Engine Front-End Tools 8 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 5.4
Αποθήκες Δεδομένων ορισμός Ορισμός (κατά W. Inmon): Οι Αποθήκες Δεδομένων (data warehouses) αποτελούν Time θεματο κεντρικά (subject oriented), συγκεντρωμένα (integrated), με χρονική διάσταση (time variable), μη ευμετάβλητα (non volatile) Sales συστήματα διαχείρισης πληροφοριακών δεδομένων για την υποστήριξη των διαδικασιών λήψης αποφάσεων Branch Πληροφοριακά δεδομένα: υποστηρίζουν άλλες (πέραν των καθημερινών) λειτουργίες της επιχείρησης, όπως σχεδιασμό και πρόβλεψη. 9 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Περισσότερα για τον ορισμό των ΑΔ Θεματο κεντρικά: Οργανώνονται γύρω από συγκεκριμένα θέματα, όπως πελάτες, προϊόντα, πωλήσεις. Δεν συμπεριλαμβάνουν πλευρές (δεδομένα) των θεμάτων που δεν συνεισφέρουν στη διαδικασία λήψης αποφάσεων Συγκεντρωμένα:... Κατασκευάζονται με συγκέντρωση πολλαπλών, πιθανώς ετερογενών πηγών δεδομένων (σχεσιακές ΒΔ, αρχεία κ.α.) Εφαρμόζονται τεχνικές καθαρισμού και ολοκλήρωσης δεδομένων (για την εξασφάλιση συνέπειας) 10 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 5.5
Περισσότερα για τον ορισμό των ΑΔ Με χρονική διάσταση: Ο χρονικός ορίζοντας στις ΑΔ είναι ευρύτερος αυτού των ΒΔ (ιστορική πληροφορία π.χ. για τα τελευταία 5 10 έτη) Η έννοια του χρόνου είναι αναπόσπαστο τμήμα μιας ΑΔ Μη ευμετάβλητα: Οι ΑΔ αποθηκεύονται ξεχωριστά από τις (επιχειρησιακές) ΒΔ. Δεν υπάρχει η έννοια της τροποποίησης δεδομένων (άρα δεν υπάρχουν θέματα επεξεργασίας συναλλαγών, ανάνηψης, ελέγχου συνδρομικότητας). Υπάρχει μόνο η λειτουργία φόρτωσης δεδομένων είτε πλήρως (full loading) είτε αυξητικά (incremental loading) 11 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Από τις ΒΔ στις ΑΔ Μια αποθήκη δεδομένων κρατά συνοπτική πληροφορία για κάποιο υποσύνολο των (επιχειρησιακών) δεδομένων Time Sales Branch Μια ΑΔ ορίζεται πάνω στα δεδομένα μιας (επιχειρησιακής) ΒΔ και η πλήρωσή της γίνεται με κατάλληλη διαδικασία φόρτωσης «διαστάσεις» (dimensions) της ΑΔ: οι πίνακες Time,, Branch «μετρήσιμα μεγέθη»(measures) της ΑΔ: οι συναθροιστικές τιμές, 12 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 5.6
Παράδειγμα φόρτωσης ΑΔ Operational DBs DW product (,, ) branch (, zip_code,, ) sales-transaction (timestamp,,, units_sold, unit_price) Extract Transform Load Refresh product (,, ) branch (, zip_code,, ) time (,,,, ) sales (,,,, ) INSERT INTO sales ( SELECT date (timestamp) AS,,, sum (units_sold) AS, sum (units_sold*unit_price) AS FROM sales-transaction GROUP BY,, HAVING > 0 ) 13 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Πολυδιάστατο μοντέλο δεδομένων Το πολυδιάστατο μοντέλο δεδομένων απεικονίζει τα δεδομένα σε μορφή κύβου Ένας κύβος δεδομένων επιτρέπει τη μοντελοποίηση και θεώρηση των δεδομένων σε πολλαπλές διαστάσεις. Το σχήμα αποτελείται από: Πίνακες διαστάσεων (dimension tables) με πληροφορία για τις διαστάσεις του κύβου Πίνακες γεγονότων (fact tables) με μετρήσιμα μεγέθη (measures) και κλειδιά προς τους Sales σχετιζόμενους πίνακες Time διαστάσεων Branch 14 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 5.7
Όψη κύβου δεδομένων Μετρήσιμο μέγεθος: ιεραρχίες Branch State City Albany NY New York Dallas TX Houston San CA Jose 11 21 15 29 22 25 30 25 15 21 22 29 21 30 22 15 25 21 22 15 21 30 29 25 30 1/10 2/10 3/10 Time στα υποκαταστήματα της πόλης Albany (που βρίσκεται στην πολιτεία NY) πωλήθηκαν 15 χιλιάδες προϊόντα από τον κωδικό 1003 (που ανήκει στον τύπο CellPhone ) στις 1/10. 1001 1002 CellPhone 1003 2001 2002 Pager Type ιεραρχίες 15 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Κύβος και Κυβοειδή Από τον αρχικό n διάστατο κύβο, προκύπτουν κυβοειδή μικρότερης διάστασης all 0-D(apex) cuboid product time branch 1-D cuboids product, time product, branch time, branch 2-D cuboids product, time, branch 3-D(base) cuboid 16 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 5.8
Ιεραρχίες Διαστάσεων Σε κάθε διάσταση μπορούμε να ορίσουμε πλούσιες ιεραρχίες όχι κατ ανάγκη γραμμικές (dim.) Time (dim.) Branch (dim.) 17 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Λογικό Σχήμα ΑΔ Μοντελοποίηση ΑΔ: μετρήσιμα μεγέθη και διαστάσεις Σχήμα αστέρα (star schema): ένας πίνακας γεγονότων στο κέντρο που περιβάλλεται από πίνακες διαστάσεων Σχήμα χιονονιφάδας (snowflake schema): βελτίωση του σχήματος αστέρα, με κάποια διάσταση να είναι κανονικοποιημένη σε σύνολο μικρότερων πινάκων διαστάσεων Αστερισμοί γεγονότων (fact constellations): περισσότεροι του ενός πίνακες γεγονότων που μοιράζονται από κοινού πίνακες διαστάσεων μπορεί να θεωρηθεί και ως συλλογή σχημάτων αστέρων γι αυτό και εναλλακτικά ονομάζεται σχήμα γαλαξία. 18 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 5.9
Σχήμααστέρα(star) Time (dim.) Sales (fact) (dim.) Branch (dim.) 19 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Σχήμα χιονονιφάδας (snowflake) (dim.) Time (dim.) Sales (fact) Branch (dim.) ZipCodes 20 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 5.10
Αστερισμός γεγονότων (constellation) Sales (fact) Shipping (fact) Time (dim.) Branch (dim.) sid from to shipping-cost units-shipped Shipper (dim.) sid name 21 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Αναλυτική επεξεργασία δεδομένων Branch State City Albany NY New York Dallas TX Houston San CA Jose 1121152922 2530251521 2229213022 1525212215 2130292530 1/10 2/10 3/10 Time Online Analytical Processing OLAP: οι λειτουργίες ανάλυσης δεδομένων πάνω σε ένα κύβο Roll up (συσσώρευση) Drill down (εμβάθυνση) Slice (τεμαχισμός) Dice (κομμάτιασμα) Pivot (περιστροφή) 1001 1002 1003 2001 2002 CellPhone Pager Type 22 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 5.11
Βασικές λειτουργίες OLAP Συσσώρευση (roll up): άνοδος στο lattice των κυβοειδών (με αφαίρεση διάστασης) ή άνοδος στην ιεραρχία μιας διάστασης Εμβάθυνση (drill down): το αντίστροφο της λειτουργίας roll up Quantity (in 1000 s) TX Quantity (in 1000 s) TX Dallas Houston Dallas Houston Jan 30 28 Q1 Feb 26 30 Q1 78 90 Mar 22 32 Q2 98 94 Apr 20 38 2008 Q3 34 87 Roll Up Dimension: time ( ) Q2 May 36 30 Q4 56 91 Jun 42 26 23 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Βασικές λειτουργίες OLAP (συν.) Τεμαχισμός (slice) και Κομμάτιασμα (dice): Quantity (in 1000 s) 2008 (any product) εξέταση υποσυνόλου του Q1 Q2 Q3 Q4 κύβου με επιβολή φίλτρων Dallas 78 45 34 56 σε κάποιες διαστάσεις TX Houston 90 67 87 91 Slice product. = CellPhone Quantity (in 1000 s) Dallas TX Houston 2008 (CellPhones only) Q1 53 76 Q2 35 57 Q3 20 40 Q4 48 80 24 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 5.12
Βασικές λειτουργίες OLAP (συν.) Περιστροφή (pivot): εμφάνιση κύβου από διαφορετική οπτική γωνία Quantity (in 1000 s) CellPhone Pager 1001 1002 1003 2001 2002 Time Dallas 20 33 12 8 12 Branch TX Houston 32 45 Pivot 34 20 23 Time Quantity (in 1000 s) 2008 (any product) Dallas Q1 78 Q2 45 Q3 34 Q4 56 Branch TX Houston 90 67 87 91 25 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Αρχιτεκτονικές OLAP Servers Relational OLAP (ROLAP) ένα σχεσιακό DBMS αποθηκεύει και διαχειρίζεται τα δεδομένα του warehouse ένα OLAP middle ware υποστηρίζει τις λειτουργίες OLAP εκμεταλλεύεται τις δυνατότητες του DBMS (βελτιστοποίηση κλπ.) κλιμακώνεται καλά Multidimensional OLAP (MOLAP) μηχανή αποθήκευσης πολυδιάστατων δεδομένων βασισμένη σε πίνακες κύριας μνήμης (arrays / matrices) γρήγορη δεικτοδότηση πάνω στις (προ υπολογισμένες) συνόψεις Hybrid OLAP (HOLAP) ευέλικτο σχήμα, σχεσιακοί πίνακες στο χαμηλό επίπεδο και πίνακες κύριας μνήμης στο υψηλό επίπεδο 26 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 5.13
Υλοποίηση τύπου ROLAP Τόσο τα dimension tables όσο και το fact table είναι σχεσιακοί πίνακες (dim.) Time (dim.) Sales (fact) Branch (dim.) 27 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Παράδειγμα ROLAP Zip code Turnover Quantity 1 2 3 Branch (dim.) 1 1 1 1 1 1 01/10 49000 02/10 28900 03/10 26500 Sales (fact) 2450 2890 2650 1 2 3 01/10 02/10 day_of _week (dim.) Time (dim.) 28 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 5.14
Παράδειγμα ROLAP (συν.) Παράδειγμα Slice: Ανάλυση πωλήσεων μόνο για τα κινητά τηλέφωνα που πωλήθηκαν το 2007 στην πολιτεία Texas SELECT Quantity FROM Branch B, P, Time T, Sales S WHERE B. = S. AND P. = S. AND T. = S. AND B.State = TX AND P.Type = CellPhone AND T.Year = 2007 Slice: Loc = 1..2, Prod = 3..4, Time = 3..4 29 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Παράδειγμα ROLAP (συν.) Οι λειτουργίες Roll up, Drill down υλοποιούνται με κατάλληλα GROUP BY Παράδειγμα Roll up: Ανάλυση πωλήσεων ανά πολιτεία SELECT SUM (S.Quantity) FROM Branch B, P, Time T, Sales S WHERE B. = S. AND P. = S. AND T. = S. GROUP BY B.State Roll-up: Branch. 30 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 5.15
Υλοποίηση τύπου MOLAP Το fact table είναι υλοποιημένο σε δομή πολυδιάστατης μήτρας (matrix) ή πίνακα (array) (dim.) Time (dim.) Sales (fact) Branch (dim.) 31 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Παράδειγμα MOLAP Ο κύβος είναι υλοποιημένος ως ένας 3 διάστατος πίνακας: Sales(,, ) Επίσης, είναι προκατασκευασμένα όλα τα κυβοειδή! Παράδειγμα Slice: Ανάλυση πωλήσεων μόνο για τα κινητά τηλέφωνα που πωλήθηκαν το 2007 στην πολιτεία Texas 2 4 4 Sales(,, Παράδειγμα Roll up: Ανάλυση πωλήσεων ανά πολιτεία ) = 1 = 3 = 3 Δεν απαιτείται κάποια ειδική λειτουργία αφού είναι διαθέσιµα όλατα κυβοειδή, άρα και το Sales, ( ) 32 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 5.16
Επίλογος Σε έναν οργανισμό, οι ΑΔ τηρούνται ξεχωριστά από τις (επιχειρησιακές) ΒΔ, για δύο κυρίως λόγους: Θέματα επίδοσης των δύο συστημάτων ΣΔΒΔ ρυθμισμένο να έχει καλές επιδόσεις σε OLTP: μέθοδοι προσπέλασης, ευρετήρια, έλεγχος συνδρομικότητας, ανάνηψη ΑΔ ρυθμισμένη να έχει καλές επιδόσεις σε OLAP: σύνθετες λειτουργίες OLAP, πολυδιάστατη θεώρηση δεδομένων. Διαφορετικές λειτουργίες πάνω σε διαφορετικά δεδομένα Ιστορικά δεδομένα οι αποφάσεις των στελεχών εμπλέκουν δεδομένα του παρελθόντος, οι ΒΔ συντηρούν δεδομένα του παρόντος Συγκέντρωση δεδομένων οι ΑΔ απαιτούν συγκεντρωτικά πληροφορία (συναθροίσεις, συνόψεις) από δεδομένα που προέρχονται από ετερογενείς πηγές ΒΔ 33 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Προτεινόμενη βιβλιογραφία Διαθέσιμη στο./readings S. Chaudhuri et al.: Database technology for decision support systems. IEEE Computer, Dec. 2001, pp. 48 55. R. J. Brachman et al.: Mining business databases. Communications of the ACM, Nov. 1996, pp. 42 48. J. Gray et al.: DataCube: A Relational Aggregation Operator Generalizing Group By, Cross Tab, and Sub Totals. Data Mining and Knowledge Discovery, 1997. 34 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 5.17