Άμεση Αναλυτική Επεξεργασία (OLAP)
Άμεση Αναλυτική Επεξεργασία (OLAP) Άμεση Αναλυτική Επεξεργασία (Online Analytical Processing - OLAP) Ανάλυση βασισμένη σε ένα κύβο OLAP Κύβος OLAP (OLAP Cube) Μια πολυδιάστατη όψη των αθροιστικών δεδομένων που βρίσκονται σε μια Αποθήκη Δεδομένων και αντιστοιχούν σε ένα θεματικό υποσύνολο. Τα συστήματα OLAP εκμεταλλεύονται τα δεδομένα με την μορφή που έχουν αποθηκευτεί στην Αποθήκη Δεδομένων και δίνουν τη δυνατότητα στους χρήστες να εκτελούν πολύπλοκα ερωτήματα που βασίζονται στην επιχειρηματική λογική καθώς και να αναλύουν τα δεδομένα σε πολλαπλές διαστάσεις.
Παράδειγμα Κύβου 132 205 630 101 147 113 95 169 242 180 180 750 490 470 520 Α Β Γ Διάσταση Προϊόντος 2016 68 132 380 2015 Ήπειρος Κρήτη Χωρική Διάσταση Αττική 2014
Δεδομένα Κύβου Sum of Sales Column Labels Row Labels Α Β Γ Grand Total 2014 Αττικη 200 150 120 470 Ηπειρος 45 38 18 101 Κρητη 72 55 42 169 2014 Total 317 243 180 740 2015 Αττικη 250 160 110 520 Ηπειρος 50 25 20 95 Κρητη 80 60 40 180 2015 Total 380 245 170 795 2016 Αττικη 300 180 150 630 Ηπειρος 52 50 30 132 Κρητη 90 65 50 205 2016 Total 442 295 230 967 Grand Total 1139 783 580 2502
Ιεραρχίες επιπέδων για OLAP Μια διάσταση μοντελοποιεί όλους τους τρόπους με τους οποίους τα δεδομένα μπορούν να συναθροιστούν σε σχέση με μια συγκεκριμένη παράμετρο του περιεχομένου τους. Y e a r Ημερομηνία, Προϊόν, Τοποθεσία, Πωλητής, Κάθε διάσταση έχει μια σχετική ιεραρχία επιπέδων συνάθροισης των δεδομένων (hierarchy of levels). Αυτό σημαίνει, ότι η διάσταση μπορεί να θεωρηθεί από πολλά επίπεδα αδρομέρειας. Ημερομηνία: μέρα, εβδομάδα, μήνας, χρόνος, M o n th D a y W e e k Ο χρήστης μπορεί να πλοηγηθεί από το ένα επίπεδο στο άλλο, δημιουργώντας νέους κύβους κάθε φορά Αδρομέρεια: το αντίθετο της λεπτομέρειας
Product Κύβοι και Ιεραρχίες Διαστάσεων Sales volume Διαστάσεις: Product, Region, Date Ιεραρχίες διαστάσεων: Industry Country Year Category Region Quarter Month Product City Month Week Store Day
Συνήθεις πράξεις που κάνουμε σε κύβους Συναθροίσεις (total sales, percent-to-total) Συγκρίσεις (budget vs. expense) Ταξινόμηση - κατάταξη (top 10) Πρόσβαση σε πιο αναλυτική πληροφορία Οπτικοποίηση με διαφορετικούς τρόπους OLAP processing Navigation - Browsing Statistical analysis Time series Complex modelling
Πράξεις OLAP Συναθροιστική Άνοδος ή Προς τα πάνω συσσώρευση (Roll-up) - Συσσώρευση Roll-up: Summarizing the data along a dimension Αναλυτική Κάθοδος ή Διαδρομή προς τα κάτω (Drill-down) - Εμβάθυνση Drill Down/Up: Navigation from most summarized (up) to more detailed (down) levels Οριζόντιος Τεμαχισμός (Slice) Slicing: set one dimension constant (Slicer ) to show a two-dimensional table Slice: subset of dimensions Κάθετος Τεμαχισμός (Dice) Dicing: create a sub-cube Aggregation
Πράξεις OLAP Συναθροιστική Άνοδος ή Προς τα πάνω συσσώρευση (Roll-up) Πράξη με την οποία εκτελούμε ένα βήμα ανόδου στην ιεραρχία μιας διάστασης. Στο παράδειγμα του επόμενου σχήματος, έχουμε αρχικά ένα κύβο που αποτελείται από τρεις διαστάσεις: Χρώμα, Μοντέλο και Γεωγραφία. Η διάσταση Γεωγραφία έχει τρία επίπεδα: κατάστημα, περιοχή και περιφέρεια. Μία πράξη roll-up στη διάσταση Γεωγραφία θα μας έδινε έναν νέο κύβο που θα περιείχε αθροιστικές πωλήσεις προϊόντων ανά περιοχή, χρώμα και μοντέλο. Συνάθροιση της πληροφορίας = μετάβαση από χαμηλότερο σε υψηλότερο επίπεδο αδρομέρειας (π.χ. από day σε month) Αναλυτική Κάθοδος ή Διαδρομή προς τα κάτω (Drill-down) Η αντίστροφη πράξη του roll-up, όπου πάμε από ένα υψηλότερο επίπεδο ιεραρχίας μιας διάστασης σε ένα χαμηλότερο. Στο επόμενο σχήμα, μία πράξη drill-down στη διάσταση Γεωγραφία, από το επίπεδο περιφέρειας, στον τελευταίο κύβο, στο επίπεδο καταστήματος, θα μας έδινε τον αρχικό κύβο.
Πλοήγηση σε ιεραρχία διαστάσεων
Οριζόντιος Τεμαχισμός (Slice) Slice ενός πολυδιάστατου διανύσματος είναι μια στήλη δεδομένων η οποία αντιστοιχεί σε μια μοναδική τιμή μιας διάστασης. Η αντίστοιχη πράξη ονομάζεται Slicing. Επιτρέπει την εξαγωγή και οπτικοποίηση πληροφορίας για μια συγκεκριμένη τιμή μιας διάστασης. Ένα ειδικό φίλτρο απομόνωσης μιας συγκεκριμένης τιμής μιας διάστασης.
Οριζόντιος Τεμαχισμός (Slicing)
Οριζόντιος Τεμαχισμός (Slicing)
Κάθετος Τεμαχισμός (Dice) Επιλογή ενός υποσυνόλου από όλες τις διαστάσεις για συγκεκριμένες τιμές των διαστάσεων (zoom). Δίνει πιο λεπτομερή πληροφόρηση σε μια πιο μικρή κλίμακα δεδομένων. Ενσωματώνει την πράξη της Διαδρομής προς τα κάτω (drilling).
Κάθετος Τεμαχισμός (Dice)
Περιστροφή (Pivoting) Περιστροφή (Pivoting) Πράξη αλλαγής της διάταξης των διαστάσεων ώστε να διευκολυνθεί η ανάλυση. Κατά την περιστροφή (pivoting), δεν μεταβάλλονται ούτε μειώνονται τα δεδομένα του υπερκύβου. Απλά αλλάζει ο τρόπος παρουσίασής τους στην εφαρμογή ανάλυσης. Στο σχήμα φαίνονται οι διαφορετικοί τρόποι παρουσίασης ενός κύβου.
Περιστροφή (Pivoting)
Σχεσιακά συστήματα OLAP (ROLAP) Χρήση ενός RDBMS ως μέσου αποθήκευσης και επερώτησης Επιπλέον λειτουργικότητα των client εργαλείων Δυνατότητα επαναχρησιμοποίησης συναθροίσεων Χρήση multi statement SQL Βελτιστοποίηση των ερωτήσεων ανά RDBMS Αργά ως συστήματα Δυνατότητα υποβολής οποιασδήποτε ερώτησης Εύκολη χρήση από τους administrators που γνώριζαν τη σχεσιακή τεχνολογία
Βελτίωση Απόδοσης Συστημάτων ROLAP Εξειδικευμένες τεχνικές δεικτοδότησης (indexing) Εξειδικευμένες τεχνικές συνένωσης (join) Διαμοίραση των δεδομένων (data partitioning) και χρήση παράλληλων τεχνικών Εξειδικευμένες τεχνικές αποθήκευσης και επεξεργασίας ερωτήσεων για συναθροίσεις δεδομένων (aggregates) Επεκτάσεις της SQL και της επεξεργασίας των σχετικών ερωτήσεων
Συναθροίσεις Δεδομένων - Aggregations Εκτός από τις λεπτομερείς πληροφορίες των fact tables, μπορεί να υπολογίσουμε και συναθροίσεις των δεδομένων για καλύτερους χρόνους απόκρισης. Για παράδειγμα, αν ο fact table είναι SALES(GeographyCode, ProductCode, TimeCode, AccountCode, Amount, Unit) μπορούμε να υπολογίσουμε AVG(Sales) ανά Region, Product, Quarter MAX(Sales) ανά Brand, Month, με Region = Europe SUM(Sales) ανά City 20
Συναθροίσεις Δεδομένων Χωριστός πίνακας/όψη αθροισμάτων 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 City-dimension sum table City Amount Athens $350 N.Y. $750 Rome $365 Επέκταση του υπάρχοντος βασικού πίνακα Extended Sales table RID City Amount Level 1 Athens $100 NULL 2 N.Y. $300 NULL 3 Rome $120 NULL 4 Athens $250 NULL 5 Rome $180 NULL 6 Rome $65 NULL 7 N.Y. $450 NULL 8 Athens $350 City 9 N.Y. $750 City 10 Rome $365 City
MOLAP: Πολυδιάστατα συστήματα OLAP Η αποθήκευση γίνεται σε πολυδιάστατους πίνακες (multi-dimensional arrays) «πίνακες» με την έννοια των γλωσσών προγραμματισμού και όχι του σχεσιακού μοντέλου Χρήση τεχνικών συμπιέσεως (οι πίνακες είναι αραιοί σε βαθμό ως και 80%) Στις αρχές του 2002 είχαν το 98% της αγοράς στο πεδίο των client tools + Πολύ γρήγοροι υπολογισμοί των λειτουργιών OLAP - Απαιτούν τον προϋπολογισμό των απαραίτητων συναθροίσεων
Παράδειγμα για την Ελληνική Γεωργία Πηγή δεδομένων ELSTAT Διαστάσεις Διοικητικός διαχωρισμός (Administrative) (περιφέρεια, νομός) Προϊόν (Product) (κατηγορία, τύπος) Μέγεθος (Size) Χρόνος (Time (year)) Γεγονότα - Μετρήσεις Πλήθος Εκμεταλλεύσεων (Number of holdings) Καλλιεργήσιμη έκταση (Cultivation area) HAICTA 2015, September 17-20, 2015, Kavala, Greece
Μορφή αρχικών δεδομένων HAICTA 2015, September 17-20, 2015, Kavala, Greece
Ενδιάμεση μορφή δεδομένων HAICTA 2015, September 17-20, 2015, Kavala, Greece
Παράδειγμα 1 για τον κύβο OLAP HAICTA 2015, September 17-20, 2015, Kavala, Greece
Παράδειγμα 2 για τον κύβο OLAP HAICTA 2015, September 17-20, 2015, Kavala, Greece
Ορολογία Ιεραρχία (Hierarchy) Πίνακας Γεγονότων (Fact Table) Λογική δομή η οποία χρησιμοποιεί ταξινομημένα επίπεδα (levels) για την οργάνωση των δεδομένων Συνάθροιση δεδομένων. Π.χ., στη διάσταση του χρόνου, μια ιεραρχία μπορεί να χρησιμοποιηθεί για να συναθροίσει δεδομένα από το επίπεδο του Μήνα στο επίπεδο του Τετραμήνου και από εκεί στο επίπεδο του Έτους Διαδρομή εμβάθυνσης Επίπεδο (Level) Πίνακας σε ένα σχήμα Αστέρα με μετρικές και αναφορές σε διαστάσεις Περιλαμβάνει δύο ειδών πεδία: πεδία με μετρικές και πεδία τα οποία είναι ξένα κλειδιά σε πίνακες διαστάσεων Το πρωτεύον κλειδί είναι ένα σύνθετο κλειδί το οποίο συντίθεται από όλα τα ξένα κλειδιά Περιλαμβάνει γεγονότα στο χαμηλότερο επίπεδο ή συναθροισμένα γεγονότα (συνοπτικός πίνακας) Μια θέση στην ιεραρχία. Π.χ., στη διάσταση του χρόνου ο Μήνας, το Τετράμηνο και το Έτος Δεδομένα στο ίδιο επίπεδο συνάθροισης
Ορολογία Γεγονότα - Μετρήσεις (Facts Measures) Αυτό που προσπαθούμε να μετρήσουμε Συνήθως αριθμητικά, και συναθροισμένα (sum, count, or avg) Προσθετικά: Συνοψίζονται σε όλες τις διαστάσεις Ημι-προσθετικά: Συνοψίζονται σε ορισμένες διαστάσεις Μη-προσθετικά Περιλαμβάνει εκατομμύρια εγγραφές με αριθμητικά πεδία Χρησιμοποιεί ξένα κλειδιά σε εγγραφές διαστάσεων Διαστάσεις (Dimensions) Για την κατανομή ή το διαχωρισμό των αριθμητικών στοιχείων Χιλιάδες εγγραφές με πολλά περιγραφικά χαρακτηριστικά (πεδία) Μη-κανονικοποιημένα δεδομένα
Βήματα Σχεδιασμού Σχήματος Αστέρα Προσδιορισμός της επιχειρηματικής διαδικασίας που θα αναλυθεί (π.χ. πωλήσεις). Προσδιορισμός των μετρικών ή γεγονότων (ύψος πωλήσεων σε ευρώ). Προσδιορισμός των διαστάσεων για τις μετρικές (προϊόν, τοποθεσία, χρόνος). Καταγραφή των πεδίων που περιγράφουν κάθε διάσταση (όνομα περιοχής, ονομασία καταστήματος). Καθορισμός του χαμηλότερου επιπέδου συνάθροισης των δεδομένων στον πίνακα γεγονότων.
Σημαντικά χαρακτηριστικά των σχημάτων Αστέρα και Χιονονιφάδας Σχήμα Αστέρα Κάθε διάσταση έχει ένα πρωτεύον κλειδί. Ένας πίνακας διαστάσεων δεν έχει πατρικό πίνακα. Οι ιεραρχίες για τις διαστάσεις αποθηκεύονται στον πίνακα διαστάσεων. Σχήμα Χιονονιφάδας Ένας πίνακας διαστάσεων μπορεί να έχει ένα ή περισσότερους πατρικούς πίνακες. Οι ιεραρχίες αποθηκεύονται σε ξεχωριστούς πίνακες.