Αποθήκες Δεδομένων Αποθήκες και εξόρυξη δεδομένων 6 ο εξάμηνο
Τι είναι Αποθήκες Δεδομένων? Αποθήκη Δεδομένων (Data Warehouse): Μία ΒΔ στήριξης αποφάσεων που διατηρείται ξεχωριστά από τη λειτουργική ΒΔ του οργανισμού Υποστηρίζει επεξεργασία πληροφορίας παρέχοντας μία πλατφόρμα από κατανοητά, ιστορικά δεδομένα για ανάλυση. A data warehouse is a subject-oriented, integrated, time-variant, and nonvolatile collection of data in support of management s decision-making process. W. H. Inmon Παν. Πειραιά 2
Αποθήκη δεδομένων Προσανατολισμένη στο θέμα Οργανώνεται γύρω από κύριες θεματικές οντότητες, όπως customer, product, sales Επικεντρώνεται στη μοντελοποίηση και ανάλυση δεδομένων για λήψη αποφάσεων, όχι για καθημερινές λειτουργίες ή επεξεργασία δοσοληψιών Παρέχει απλή και συνοπτική όψη των δεδομένων για συγκεκριμένα θέματα εξαιρώντας δεδομένα τα οποία δεν είναι χρήσιμα στην διαδικασία λήψης αποφάσεων Παν. Πειραιά 3
Αποθήκη δεδομένων Ολοκληρωμένη Κατασκευάζεται από την ολοκλήρωση πολλαπλών, ετερογενών πηγών δεδομένων relational databases, flat files, on-line transaction records Εφαρμόζονται τεχνικές καθαρισμού δεδομένων και ολοκλήρωση δεδομένων. consistency in naming conventions, encoding structures, attribute measures, etc. among different data sources π.χ., Hotel price: currency, tax, breakfast covered, etc. Παν. Πειραιά 4
Αποθήκες δεδομένων Χρόνος Ο χρονικός ορίζοντας μίας αποθήκης δεδομένων είναι σημαντικά μεγαλύτερος από εκείνον των λειτουργικών συστημάτων Λειτουργική ΒΔ: τρέχουσες τιμές δεδομένων Αποθήκη δεδομένων: περιέχει πληροφορία από ιστορικής πλευράς (π.χ. Για τα προηγούμενα 5-10 χρόνια) Κάθε δομή κλειδιού σε μία αποθήκη δεδομένων Περιέχει ένα στοιχείο χρόνου, έμμεσα ή άμεσα Το κλειδί των λειτουργικών δεδομένων μπορεί να περιέχει ή να μην περιέχει «στοιχεία χρόνου» Παν. Πειραιά 5
Αποθήκη δεδομένων Μη μεταβλητή Μία φυσικά ξεχωριστή αποθήκη μετασχηματισμένων δεδομένων από το λειτουργικό περιβάλλον Λειτουργικές ενημερώσεις των δεδομένων δεν συμβαίνουν σε ένα περιβάλλον αποθήκης δεδομένων Δεν απαιτεί επεξεργασία δοσοληψιών, ανάνηψη και μηχανισμούς ελέγχου ταυτοχρονισμού Απαιτεί μόνο δύο λειτουργίες στην προσπέλαση των δεδομένων: Αρχικό φόρτωμα το δεδομένων(loading of data) και προσπέλαση των δεδομένων (access of data) Παν. Πειραιά 6
Αποθήκη δεδομένων vs. Ετερογενές DBMS Ολοκλήρωση παραδοσιακών ετερογενών ΒΔ: Προσέγγιση οδηγούμενη από την ερώτηση Δημιουργία wrappers/mediators πάνω από τις ετερογενείς ΒΔ Όταν υποβάλλουμε μία ερώτηση στην πλευρά του client, Μετάφραση της ερώτησης με βάση ένα meta-dictionary σε ερωτήσεις κατάλληλες για τις επιμέρους ετερογενείς θέσεις των ΒΔ Τα αποτελέσματα ολοκληρώνονται σε μία συνολική απάντηση Πολύπλοκο φιλτράρισμα πληροφορίας, απαιτεί πολλούς πόρους Αποθήκες δεδομένων (Data warehouse): οδηγούμενη από την ενημέρωση, υψηλή απόδοση Πληροφορία από ετερογενείς πηγές ολοκληρώνεται εκ των προτέρων και αποθηκεύεται στις αποθήκες για άμεση απάντηση ερωτήσεων και ανάλυση Παν. Πειραιά 7
Data Warehouse vs. Operational DBMS OLTP (on-line transaction processing) Κύριες εργασίες των παραδοσιακών σχεσιακών DBMS Καθημερινές λειτουργίες: purchasing, inventory, banking, manufacturing, registration, accounting, etc. OLAP (on-line analytical processing) Κύριες εργασίες συστήματος αποθήκης δεδομένων Ανάλυση δεδομένων και λήψη αποφάσεων Χαρακτηριστικά (OLTP vs. OLAP): Χρήστης και σύστημα: πελάτης vs. αγορά Περιεχόμενο δεδομένων: τρέχον, λεπτομερές vs. ιστορικό, συνοπτικό Σχεδιασμός ΒΔ: ER + application vs. star + subject Όψη: τρέχουσα, τοπική vs. εξελικτική, ολοκληρωμένη Προσπέλαση προτύπων: ενημέρωση vs. μόνο ανάγνωση αλλά πολύπλοκες ερωτήσεις Παν. Πειραιά 8
OLTP vs OLAP Παν. Πειραιά 10
Γιατί ξεχωριστές Αποθήκες Δεδομένων? Υψηλή απόδοση και για τα δύο συστήματα DBMS ρύθμιση για OLTP: μέθοδοι προσπέλασης, ευρετηριοποίηση(indexing), έλεγχος ταυτοχρονισμού (concurrency control), ανάνηψη Warehouse ρύθμιση για OLAP: πολύπλοκες OLAP ερωτήσεις, πολυδιάστατες όψεις, σύνοψη Διαφορετικές λειτουργίες και διαφορετικά δεδομένα: Ελλιπή δεδομένα (missing data): Στήριξη Αποφάσεων απαιτεί ιστορικά δεδομένα που οι λειτουργικές ΒΔ γενικά δεν διατηρούν Σύνοψη δεδομένων(data consolidation): Στήριξη Αποφάσεων απαιτεί συνοπτική παρουσίαση δεδομένων (aggregation, summarization) από διαφορετικές πηγές Ποιότητα δεδομένων (data quality): διαφορετικές πηγές γενικά χρησιμοποιούν διαφορετικές αναπαραστάσεις δεδομένων, απαιτείται ενιαία κωδικοποίηση και μορφοποίηση των δεδομένων Σημείωση: Υπάρχουν όλο και περισσότερα συστήματα που εκτελούν ανάλυση OLAP κατευθείαν πάνω σε σχεσιακές ΒΔ Παν. Πειραιά 11
Αρχιτεκτονική συστημάτων επιχειρησιακής νοημοσύνης Παν. Πειραιά 13
Φάση 1: Σχεδιασμός Αποθήκης δεδομένων Σχεδιασμός της αποθήκης δεδομένων χρησιμοποιώντας τις κατάλληλες σχεδιαστικές τεχνικές για την υποστήριξη πολυδιάστατης ανάλυσης δεδομένων Μοντελοποίηση αποθηκών δεδομένων: διαστάσεις & μέτρα Star schema: Snowflake schema Fact constellations (Galaxy schema) Παν. Πειραιά 14
Φάση 2: Extract, Transform, Loading Παν. Πειραιά 15
Φάση 3: Υλοποίηση OLAP κύβων Υλοποίηση των κατάλληλων δομών δεδομένων και καθορισμός τεχνικών αποθήκευσης (κύβοι, ευρετήρια, διαμερισμός σε διαφορετικούς δίσκους) ώστε να υποστηρίζεται η γρήγορή και αποτελεσματική απάντηση πολύπλοκων ερωτήμάτων Παν. Πειραιά 16
Από πίνακες σε Κύβους δεδομένων Μία αποθήκη δεδομένων βασίζεται σε πολυδιάστατο μοντέλο δεδομένων που αναπαριστά να δεδομένα στη μορφή κύβων δεδομένων (data cube) Κύβος δεδομένων, επιτρέπει τα δεδομένα να μοντελοποιούνται και να παρουσιάζονται σε πολλαπλές διαστάσεις Πίνακες διάστασης (Dimension tables): item (item_name, brand, type), ή time(day, week, month, quarter, year) Fact table : περιέχει μέτρα (π.χ. dollars_sold) και κλειδιά σε καθένα από τους σχετικούς πίνακες διάστασης (dimension tables) Παν. Πειραιά 17
Μέτρα των κύβων δεδομένων Distributive: Εάν τα αποτελέσματα παράγονται από την εφαρμογή μία συνάρτησης σε n συγκεντρωτικές τιμές είναι το ίδιο με το αποτέλεσμα που προκύπτει εφαρμόζοντας τη συνάρτηση σε όλα τα δεδομένα χωρίς τμηματοποίηση Π.χ., count(), sum(), min(), max() Algebraic: εάν μπορούν να υπολογιστούν από μία αλγεβρική συνάρτηση με M στοιχεία (M bounded integer), καθένα από τα οποία λαμβάνεται εφαρμόζοντας μία κατανεμημένη συνάρτηση άθροισης Π.χ., avg(), min_n(), standard_deviation() Holistic: εάν δεν υπάρχει σταθερό όριο στο μέγεθος αποθήκευσης που χρειάζεται για να περιγράψουμε ένα υποσύνολο αθροίσματος. E.g., median(), mode(), rank() Παν. Πειραιά 18
Κύβοι και Ιεραρχίες Διαστάσεων Παν. Πειραιά 20
Ιεραρχίες διαστάσεων Παν. Πειραιά 21
Έννοιες και Ορισμοί Παν. Πειραιά 22
Εννοιολογική μοντελοποίηση των Αποθηκών Δεδομένων Star schema: Ένας fact table στο μέσο συνδέεται με ένα σύνολο από πίνακες διάστασης(dimension tables) Snowflake schema: Εκλεπτυσμένο star schema όπου κάποιες ιεραρχίες διαστάσεων κανονικοποιούνται σε ένα σύνολο από μικρότερους πίνακες διάστασης. Fact constellations (Galaxy schema): Πολλαπλά fact tables μοιράζονται πίνακες διάστασης, παρουσιάζεται σαν μία συλλογή από αστέρια galaxy schema (Fact constellations) Παν. Πειραιά 23
Παράδειγμα: Star Schema time time_key day day_of_the_week month quarter year branch branch_key branch_name branch_type Measures Sales Fact Table time_key item_key branch_key location_key units_sold dollars_sold avg_sales item item_key item_name brand type supplier_type location location_key street city state_or_province country Παν. Πειραιά 24
Παράδειγμα: Snowflake Schema time time_key day day_of_the_week month quarter year Sales Fact Table time_key item_key item item_key item_name brand type supplier_key supplier supplier_key supplier_type branch branch_key branch_name branch_type Measures branch_key location_key units_sold dollars_sold avg_sales location location_key street city_key city city_key city state_or_province country Παν. Πειραιά 25
Παράδειγμα: Fact Constellation time time_key day day_of_the_week month quarter year Sales Fact Table time_key item_key branch_key item item_key item_name brand type supplier_type Shipping Fact Table time_key item_key shipper_key from_location branch branch_key branch_name branch_type Measures location_key units_sold dollars_sold avg_sales location location_key street city province_or_state country to_location dollars_cost units_shipped shipper shipper_key shipper_name location_key shipper_type Παν. Πειραιά 26
Cube Definition Syntax (BNF) in DMQL Cube Definition (Fact Table) define cube <cube_name> [<dimension_list>]: <measure_list> Dimension Definition (Dimension Table) define dimension <dimension_name> as (<attribute_or_subdimension_list>) Special Case (Shared Dimension Tables) First time as cube definition define dimension <dimension_name> as <dimension_name_first_time> in cube <cube_name_first_time> Παν. Πειραιά 27
Defining Star Schema in DMQL define cube sales_star [time, item, branch, location]: dollars_sold = sum(sales_in_dollars), avg_sales = avg(sales_in_dollars), units_sold = count(*) define dimension time as (time_key, day, day_of_week, month, quarter, year) define dimension item as (item_key, item_name, brand, type, supplier_type) define dimension branch as (branch_key, branch_name, branch_type) define dimension location as (location_key, street, city, province_or_state, country) Παν. Πειραιά 28
Defining Snowflake Schema in DMQL define cube sales_snowflake [time, item, branch, location]: dollars_sold = sum(sales_in_dollars), avg_sales = avg(sales_in_dollars), units_sold = count(*) define dimension time as (time_key, day, day_of_week, month, quarter, year) define dimension item as (item_key, item_name, brand, type, supplier(supplier_key, supplier_type)) define dimension branch as (branch_key, branch_name, branch_type) define dimension location as (location_key, street, city(city_key, province_or_state, country)) Παν. Πειραιά 29
Defining Fact Constellation in DMQL define cube sales [time, item, branch, location]: dollars_sold = sum(sales_in_dollars), avg_sales = avg(sales_in_dollars), units_sold = count(*) define dimension time as (time_key, day, day_of_week, month, quarter, year) define dimension item as (item_key, item_name, brand, type, supplier_type) define dimension branch as (branch_key, branch_name, branch_type) define dimension location as (location_key, street, city, province_or_state, country) define cube shipping [time, item, shipper, from_location, to_location]: dollar_cost = sum(cost_in_dollars), unit_shipped = count(*) define dimension time as time in cube sales define dimension item as item in cube sales define dimension shipper as (shipper_key, shipper_name, location as location in cube sales, shipper_type) define dimension from_location as location in cube sales define dimension to_location as location in cube sales Παν. Πειραιά 30
Αρχιτεκτονικές αποθήκευσης σε Α.Δ. Παν. Πειραιά 31
Country Δείγμα κύβου δεδομένων TV PC VCR sum Date 1Qtr 2Qtr 3Qtr 4Qtr sum Total annual sales of TV in U.S.A. U.S.A Canada Mexico sum Παν. Πειραιά 32
Τυπικές OLAP Λειτουργίες Roll up (drill-up): άθροιση τιμών Ανεβαίνοντας την ιεραρχία ή με μείωση διαστάσεων Drill down (roll down): αντίθετο του roll-up Από το υψηλότερο επίπεδο σύνοψης στο χαμηλότερο ή σε λεπτομερή δεδομένα ή εισαγωγή νέων διαστάσεων Slice and dice: προβολή και επιλογή Pivot (rotate): Επαναπροσανατολισμός του κύβου, οπτικοποίηση, 3D to series of 2D planes Παν. Πειραιά 33
OLAP λειτουργίες Παν. Πειραιά 34
Παράδειγμα Roll-up Παν. Πειραιά 35
Παράδειγμα Drill-down Παν. Πειραιά 36
Λειτουργίες OLAP (2) Παν. Πειραιά 37
Λειτουργίες OLAP (3) Παν. Πειραιά 38
dice Typical OLAP Operations Dice for (location= Toronto or Vancouver ) and (time= Q1 or Q2 ) and (item= home entertainment or computer ) Roll-up on Location (from cities to countries) Roll-up slice Slice for time= Q1 Item(types) Drill-down On time (from quarters to months) Drill-down Παν. Πειραιά 39
Αρχιτεκτονική αποθηκών δεδομένων Παν. Πειραιά 41
Αποθήκη δεδομένων: Πολλαπλών επιπέδων αρχιτεκτονική Other sources Operational DBs Metadata Extract Transform Load Refresh Monitor & Integrator Data Warehouse OLAP Server Serve Analysis Query Reports Data mining Data Marts Data Sources Data Storage OLAP Engine Front-End Tools Παν. Πειραιά 42
Τρία Μοντέλα Αποθήκης Δεδομένων Enterprise warehouse Συλλογή πληροφορίας για θέματα που καλύπτουν όλο τον οργανισμό Λεπτομερή και συνολικά δεδομένα Data Mart Ένα υποσύνολο από συλλογικά δεδομένα τα οποία έχουν αξία για συγκεκριμένες ομάδες χρηστών. Ο σκοπός του περιορίζεται σε συγκεκριμένες, επιλεγμένες ομάδες, όπως marketing data mart Κατηγορίες data marts Virtual warehouse Ανεξάρτητα (δεδομένα λαμβάνονται από ένα ή περισσότερα λειτουργικά συστήματα ή εξωτερικούς προμηθευτές πληροφορίας) Eξαρτώμενα (κατευθείαν από την αποθήκη δεδομένων) Σύνολο από όψεις πάνω σε λειτουργικές βάσεις δεδομένων Μόνο κάποιες από τις πιθανές συνολικές όψεις μπορούν να πραγματοποιηθούν Παν. Πειραιά 43
Ανάπτυξη Αποθήκης Δεδομένων: Προτεινόμενη Προσέγγιση Ορίζεται σε μικρό χρονικό διάστημα και παρέχει μία ευρεία, συνεπή, ολοκληρωμένη όψη των δεδομένων Distributed Data Marts Multi-Tier Data Warehouse Αποθήκη δεδομένων κύριος επιτηρητής των δεδομένων όλης αποθήκης δεδομένων. Τα δεδομένα κατανέμονται σε ανεξάρτητα data marts Data Mart Data Mart Enterprise Data Warehouse Model refinement Model refinement Define a high-level corporate data model Παν. Πειραιά 44
Data Warehouse Back-End Tools and Utilities Εξαγωγή δεδομένων Λαμβάνοντα δεδομένα από πολλές, ετερογενής και εξωτερικές πηγές Καθαρισμός δεδομένων Αναγνώριση λαθών στα δεδομένα και διόρθωση αυτών όταν είναι δυνατό Μετασχηματισμός δεδομένων Μετασχηματισμός δεδομένων από την μορφή που είχαν στην αρχική πηγή στην μορφή της αποθήκης δεδομένων Φόρτωμα (Load) Σύντομος, συνοπτικός, υπολογισμός όψεων, έλεγχος ακεραιότητας και δημιουργία ευρετηρίων και τμηματοποιήσεων Ανανέωση (Refresh) Διάδοση των ενημερώσεων από τις πηγές δεδομένων στην αποθήκη δεδομένων Παν. Πειραιά 45
Metadata Repository Μεταδεδομένα είναι δεδομένα που ορίζουν αντικείμενα αποθήκης δεδομένων. Αποθηκεύουν: Περιγραφή της δομής της αποθήκης δεδομένων schema, view, dimensions, hierarchies, derived data definitions, data mart locations and contents Λειτουργικά μεταδεδομένα Ιστορικό των δεδομένων που έχουν μεταφερθεί κάπου άλλου και το path μετασχηματισμού, τρέχουσα κατάσταση δεδομένων (active, archived, or purged), πληροφορία παρακολούθησης (warehouse usage statistics, error reports) Αλγόριθμοι που χρησιμοποιούνται για σύνοψη (summarization) Η αντιστοίχιση από το λειτουργικό περιβάλλον στην αποθήκη δεδομένων Δεδομένα που σχετίζονται με την απόδοση του συστήματος warehouse schema, view and derived data definitions Δεδομένα επιχείρησης Όροι και ορισμοί επιχειρήσεων, κάτοχος δεδομένων, πολιτικές χρέωσης Παν. Πειραιά 46
Παράδειγμα Παν. Πειραιά 48
Δεδομένα Παν. Πειραιά 49
Δεδομένα Παν. Πειραιά 50
Βήματα εκτέλεσης Παν. Πειραιά 51
Προεπεξεργασία Παν. Πειραιά 52
Σχεσιακό σχήμα Παν. Πειραιά 53
Επεξεργασία Παν. Πειραιά 54
Αποθήκη δεδομένων Παν. Πειραιά 55
Ορισμός κύβου Παν. Πειραιά 56
Μοντέλο κύβου Παν. Πειραιά 57
Ορισμός κύβου (galaxy schema) Παν. Πειραιά 58
Μοντέλο κύβου Παν. Πειραιά 59