Πανεπιστήµιο Πειραιώς Τµήµα Πληροφορικής Αποθήκες εδοµένων και Εξόρυξη Γνώσης (Data Warehousing & Data Mining) Αποθήκες εδοµένων Γιάννης Θεοδωρίδης, Νίκος Πελέκης Εργαστήριο Πληροφοριακών Συστηµάτων http://infolab.cs.unipi.gr 05 Νοε. 08 Πηγές Το κύριο µέρος των διαφανειών προέρχεται από: Dunham: Data Mining Introductory and Advanced Topics. Prentice Hall, 2003. Επιπρόσθετα, χρησιµοποιήθηκε υλικό από: Han, Kamber: Data Mining Concepts and Techniques. Morgan Kaufmann, 2001. 2 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 2.1
"Πυραµίδα" Επιχειρηµατικής Ευφυίας (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 3 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Μεθοδολογία OLAP βήµατα αναλυτικής διαδικασίας: απότοσχεδιασµό της ανάλυσης,... στη συγκέντρωση και οργάνωση των απαραίτητων δεδοµένων... την ανάλυσή τους και παρουσίαση των αποτελεσµάτων και τελικά... την εκµετάλευση των όποιων συµπερασµάτων Source: SPSS 4 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 2.2
Αποθήκες εδοµένων ένα παράδειγµα Sales 5 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Αρχιτεκτονική Α 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 6 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 2.3
Αποθήκες εδοµένων - ορισµός Ορισµός (κατά W. Inmon): Οι Αποθήκες εδοµένων (data warehouses) αποτελούν Sales (fact table) θεµατο-κεντρικά (subject-oriented), συγκεντρωµένα (integrated), µε χρονική διάσταση (time-variable), µη ευµετάβλητα (nonvolatile) συστήµατα διαχείρισης πληροφοριακών δεδοµένων για την υποστήριξη των διαδικασιών λήψης αποφάσεων Πληροφοριακά δεδοµένα: υποστηρίζουν άλλες (πέρα των καθηµερινών) λειτουργίες της επιχείρησης, όπως σχεδιασµό και πρόβλεψη. 7 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Περισσότερα για τον ορισµό τωνα Θεµατο-κεντρικά: Οργανώνονται γύρω από συγκεκριµένα θέµατα, όπως πελάτες, προϊόντα, πωλήσεις. εν συµπεριλαµβάνουν πλευρές (δεδοµένα) των θεµάτων που δεν συνεισφέρουν στη διαδικασία λήψης αποφάσεων Συγκεντρωµένα:... Κατασκευάζονται µε συγκέντρωση πολλαπλών, πιθανώς ετερογενών πηγών δεδοµένων (σχεσιακές Β, αρχεία κ.α.) Εφαρµόζονται τεχνικές καθαρισµού και ολοκλήρωσης δεδοµένων (για την εξασφάλιση συνέπειας) 8 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 2.4
Περισσότερα για τον ορισµό τωνα... Με χρονική διάσταση: Ο χρονικός ορίζοντας στις Α είναι ευρύτερος αυτού των Β (ιστορική πληροφορία π.χ. γιατατελευταία5-10 έτη) Η έννοια του χρόνου είναι αναπόσπαστο τµήµα µιας Α Μη ευµετάβλητα: Οι Α αποθηκεύονται ξεχωριστά από τις (επιχειρησιακές) Β. εν υπάρχει η έννοια της τροποποίησης δεδοµένων (άρα δεν υπάρχουν θέµατα επεξεργασίας συναλλαγών, ανάνηψης, ελέγχου συνδροµικότητας). Υπάρχει µόνο η λειτουργία φόρτωσης δεδοµένων είτε πλήρως (full loading) είτε αυξητικά (incremental loading) 9 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Από τις Β στις Α Μια αποθήκη δεδοµένων κρατά συνοπτική πληροφορία για κάποιο υποσύνολο των (επιχειρησιακών) δεδοµένων Sales (fact table) Μια Α ορίζεται πάνω στα δεδοµένα µιας (επιχειρησιακής) Β και η πλήρωσή της γίνεται µε κατάλληλη διαδικασία φόρτωσης «διαστάσεις» (dimensions) της Α : οι πίνακες,, «µετρήσιµα µεγέθη» (measures) της Α : οι συναθροιστικές τιµές, 10 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 2.5
Παράδειγµα φόρτωσηςα Παράδειγµα Β : Operational DBs product (product_id,,, _) location (location_id,,, ) sales-transaction (timestamp, product_id, location_id, units_sold, unit_price) Extract Transform Load Refresh Παράδειγµα ETL: INSERT INTO sales ( SELECT date(timestamp) AS time_id, product_id, location_id, sum(units_sold) AS, sum(units_sold*unit_price) AS FROM sales-transaction GROUP BY time_id, product_id, location_id HAVING > 0 ) Παράδειγµα Α : product (product_id,,, _) location (location_id,,, ) time (time_id,,,, ) sales (time_id, product_id, location_id,, ) Data Warehouse 11 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Πολυδιάστατο µοντέλο δεδοµένων Το πολυδιάστατο µοντέλο δεδοµένων απεικονίζει τα δεδοµένα σε µορφή κύβου Ένας κύβος δεδοµένων επιτρέπει τη µοντελοποίηση και θεώρηση των δεδοµένων σε πολλαπλές διαστάσεις. Το σχήµα αποτελείται από: Πίνακες διαστάσεων (dimension tables) µε πληροφορία για τις διαστάσεις του κύβου Πίνακες γεγονότων (fact tables) µε µετρήσιµα µεγέθη και κλειδιά προς τους σχετιζόµενους πίνακες διαστάσεων Sales (fact table) 12 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 2.6
Όψη κύβου δεδοµένων ιεραρχίες 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 Μετρήσιµο µέγεθος: στα υποκαταστήµατα της πόλης Albany (που βρίσκεται στην πολιτεία NY) πωλήθηκαν 15 χιλιάδες προϊόντα από τον κωδικό 1003 (που ανήκει στον τύπο CellPhone ) στις 1/10. 1001 1002 1003 CellPhone 2001 2002 Pager _ID Type ιεραρχίες 13 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Κύβος και Κυβοειδή Από τον αρχικό n-διάστατο κύβο, προκύπτουν κυβοειδή µικρότερης διάστασης all product time location 0-D(apex) cuboid 1-D cuboids product, time product, location time, location 2-D cuboids product, time, location 3-D(base) cuboid 14 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 2.7
Ιεραρχίες ιαστάσεων Σε κάθε διάσταση µπορούµε να ορίσουµε πλούσιες ιεραρχίες όχι κατ ανάγκην γραµµικές 15 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Λογικό Σχήµα Α Μοντελοποίηση Α : µετρήσιµα µεγέθη και διαστάσεις Σχήµα αστέρα(star schema): ένας πίνακας γεγονότων στο κέντρο που περιβάλλεται από πίνακες διαστάσεων Σχήµα χιονονιφάδας(snowflake schema): βελτίωση του σχήµατος αστέρα, µεκάποιαδιάστασηναείναικανονικοποιηµένη σε σύνολο µικρότερων πινάκων διαστάσεων Αστερισµοί γεγονότων (fact constellations): περισσότεροι του ενός πίνακες γεγονότων που µοιράζονται από κοινού πίνακες διαστάσεων µπορεί να θεωρηθεί και ως συλλογή σχηµάτων αστέρων γι αυτό και εναλλακτικά ονοµάζεται σχήµα γαλαξία. 16 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 2.8
Σχήµα αστέρα Sales (fact table) 17 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Σχήµα χιονονιφάδας Sales (fact table) Types Zip codes 18 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 2.9
Αστερισµός γεγονότων Sales (fact table) Shipping (fact table) day ID shipper ID from-location to-location shipping-cost units-shipped Shipper shipper ID name 19 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Αναλυτική επεξεργασία δεδοµένων State City Albany NY New York Dallas TX Houston San CA Jose 1001 1002 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 1003 2001 2002 1/10 2/10 3/10 _ID Online Analytical Processing OLAP: οι λειτουργίες ανάλυσης δεδοµένων πάνω σε ένα κύβο Roll-up (συσσώρευση) Drill-down (εµβάθυνση) Slice (τεµαχισµός) Dice (κοµµάτιασµα) Pivot (περιστροφή) CellPhone Pager Type 20 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 2.10
Βασικές λειτουργίες 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 21 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Βασικές λειτουργίες OLAP (συν.) Τεµαχισµός (slice) και Κοµµάτιασµα (dice): εξέταση υποσυνόλου του κύβου µε επιβολήφίλτρωνσεκάποιες διαστάσεις Quantity (in 1000 s) TX Dallas Houston 2008 (any product) Q1 Q2 Q3 Q4 78 45 34 56 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 22 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 2.11
Βασικές λειτουργίες OLAP (συν.) Περιστροφή (pivot): εµφάνιση κύβου από διαφορετική οπτική γωνία Quantity (in 1000 s) CellPhone Pager 1001 1002 1003 2001 2002 TX Dallas Houston 20 32 33 45 12 34 8 20 12 23 Pivot Quantity (in 1000 s) TX Dallas Houston Q1 78 90 2008 (any product) Q2 45 67 Q3 34 87 23 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Q4 56 91 Αρχιτεκτονικές OLAP Servers Relational OLAP (ROLAP) ένα σχεσιακό DBMS αποθηκεύει και διαχειρίζεται τα δεδοµένα του warehouse ένα OLAP middle ware υποστηρίζει τις λειτουργίες OLAP εκµεταλλεύεται τις δυνατότητες του DBMS (βελτιστοποίηση κλπ.) κλιµακώνεται καλά Multidimensional OLAP (MOLAP) µηχανή αποθήκευσης πολυδιάστατων δεδοµένων βασισµένη σε arrays / matrices γρήγορη δεικτοδότηση πάνω στις (προ-υπολογισµένες) συνόψεις Hybrid OLAP (HOLAP) ευέλικτο σχήµα, σχεσιακοί πίνακες στο χαµηλό επίπεδο και µήτρες στο υψηλό επίπεδο 24 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 2.12
Υλοποίηση τύπου ROLAP Τόσο τα dimension tables όσο και το fact table είναι σχεσιακοί πίνακες Sales (fact table) 25 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Παράδειγµα ROLAP _ID Zip code _ID _ID _ ID Turnover Quantity 1 2 3 Table 1 1 1 1 1 1 01/10 02/10 03/10 49000 28900 26500 Fact Table 2450 2890 2650 _ID 1 2 Descri ption _ID 01/10 02/10 day_of _week 3 Table Table 26 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 2.13
Παράδειγµα ROLAP (συν.) Παράδειγµα Slice: Ανάλυση πωλήσεων µόνο για τα κινητά τηλέφωνα που πωλήθηκαν το 2007 στην πολιτεία Texas SELECT Quantity FROM L, P, T, Fact F WHERE L._ID = F._ID AND P._ID = F._ID AND T._ID = F._ID AND L.State = TX AND P.Type = CellPhone AND T.Year = 2007 Slice: Loc=1..2, Prod=3..4 =3..4 27 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Παράδειγµα ROLAP (συν.) Οι λειτουργίες Roll-up, Drill-down υλοποιούνται µε κατάλληλα GROUP BY Παράδειγµα Roll-up: Ανάλυση πωλήσεων ανά πολιτεία SELECT SUM(F.Quantity) FROM L, P, T, Fact F WHERE L._ID = F._ID AND P._ID = F._ID AND T._ID = F._ID GROUP BY L.State Roll-up:. 28 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 2.14
Υλοποίηση τύπου MOLAP Το fact table είναι υλοποιηµένο σε δοµή πολυδιάστατης µήτρας (matrix) ή πίνακα(array) day ID Sales (fact table) day ID 29 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης Παράδειγµα MOLAP Ο κύβος είναι υλοποιηµένος ως ένας 3-διάστατος πίνακας: Fact(Loc, Prod, ) Επίσης, είναι προκατασκευασµένα όλα τα κυβοειδή! Παράδειγµα Slice: Ανάλυση πωλήσεων µόνο για τα κινητά τηλέφωνα που πωλήθηκαν το 2007 στην πολιτεία Texas 2 4 Loc= 1 Pr od= 3 = 3 Παράδειγµα Roll-up: Ανάλυση πωλήσεων ανά πολιτεία 4 Fact(Loc, Pr od, ) εν απαιτείται κάποια ειδική λειτουργία αφού είναι διαθέσιµα όλατα κυβοειδή, άρα και το Fact Prod, (Loc) 30 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 2.15
Κατακλείδα Οι Α τηρούνται ξεχωριστά από τις (επιχειρησιακές) Β, για δύο κυρίως λόγους: Θέµατα επίδοσης των δύο συστηµάτων Σ Β ρυθµισµένο να έχει καλές επιδόσεις σε OLTP: µέθοδοι προσπέλασης, ευρετήρια, έλεγχος συνδροµικότητας, ανάνηψη Α ρυθµισµένη να έχει καλές επιδόσεις σε OLAP: σύνθετες λειτουργίες OLAP, πολυδιάστατη θεώρηση δεδοµένων. ιαφορετικές λειτουργίες πάνω σε διαφορετικά δεδοµένα: Ιστορικά δεδοµένα: Οι αποφάσεις των στελεχών εµπλέκουν δεδοµένα του παρελθόντος, οι Β συντηρούν δεδοµένα του παρόντος Συγκέντρωση δεδοµένων: Οι Α απαιτούν συγκεντρωτικά πληροφορία (συναθροίσεις, συνόψεις) από δεδοµένα που προέρχονται από ετερογενείς πηγές Β 31 ΠΑ.ΠΕΙ. Γιάννης Θεοδωρίδης 2.16