View
3
Download
0
Category
Preview:
Citation preview
1
Άμεση Αναλυτική Επεξεργασία (OLAP)
2
Περιεχόμενα
❑ Εφαρμογές στις Αποθήκες Δεδομένων
❑ Άμεση Αναλυτική Επεξεργασία (OLAP)
❑ Γεγονότα και Διαστάσεις
❑ Κύβοι και Ιεραρχίες διαστάσεων
❑ Πράξεις OLAP
❑ Αρχιτεκτονικές OLAP
3
Αποθήκη Δεδομένων: Αρχιτεκτονική
Πολλαπλών Επιπέδων
4
Εφαρμογές Αποθήκης Δεδομένων
❑ Επεξεργασία πληροφορίας
❑ αναζήτηση, βασική στατιστική ανάλυση και δημιουργία αναφορών με χρήση πινάκων και διαγραμμάτων
❑ Αναλυτική επεξεργασία
❑ πολυδιάστατη ανάλυση δεδομένων
❑ λειτουργίες OLAP, slice-dice, drilling, pivoting
❑ Εξόρυξη δεδομένων
❑ ανακάλυψη γνώσης από κρυμμένα μοτίβα
❑ ανάλυση συνάφειας, δημιουργία αναλυτικών μοντέλων, κατηγοριοποίηση και πρόβλεψη, οπτικοποίηση αποτελεσμάτων
5
Άμεση Αναλυτική Επεξεργασία (OLAP)
❑ Άμεση Αναλυτική Επεξεργασία (Online Analytical Processing -OLAP)
❑ Ανάλυση βασισμένη σε ένα κύβο OLAP
❑ Κύβος OLAP (OLAP Cube)
❑ Πολυδιάστατη όψη των αθροιστικών δεδομένων που βρίσκονται σε μια Αποθήκη Δεδομένων και αντιστοιχούν σε ένα θεματικό υποσύνολο.
❑ Χρησιμότητα
❑ Εκτέλεση πολύπλοκων ερωτημάτων επιχειρηματικής λογικής
❑ Ανάλυση δεδομένων σε πολλαπλές διαστάσεις.
6
Γεγονότα
❑ Γεγονότα - Μετρήσεις (Facts – Measures)
❑ Αυτό που προσπαθούμε να μετρήσουμε
❑ Συνήθως αριθμητικά, και συναθροισμένα (sum, count, ή avg)
❑ Προσθετικά: Συνοψίζονται σε όλες τις διαστάσεις
❑ Ημι-προσθετικά: Συνοψίζονται σε ορισμένες διαστάσεις
❑ Μη-προσθετικά
7
Διαστάσεις
❑ Διαστάσεις (Dimensions)
❑ Για την κατανομή ή το διαχωρισμό των αριθμητικών στοιχείων
❑ Χιλιάδες εγγραφές με πολλά περιγραφικά χαρακτηριστικά (πεδία)
❑ Μη-κανονικοποιημένα δεδομένα
❑ Ιεραρχία (Hierarchy)
❑ Λογική δομή με ταξινομημένα επίπεδα (levels) για την οργάνωση των δεδομένων
❑ Συνάθροιση δεδομένων. Π.χ., στη διάσταση του χρόνου, μια ιεραρχία μπορεί να χρησιμοποιηθεί για να συναθροίσει δεδομένα από το επίπεδο του Μήνα στο επίπεδο του Τετραμήνου και από εκεί στο επίπεδο του Έτους
❑ Διαδρομή εμβάθυνσης
❑ Επίπεδο (Level)
❑ Μια θέση στην ιεραρχία. Π.χ., στη διάσταση του χρόνου ο Μήνας, το Τετράμηνο και το Έτος
8
Πίνακας Γεγονότων
❑ Πίνακας Γεγονότων (Fact Table)
❑ Πίνακας σε ένα σχήμα Αστέρα με μετρικές και αναφορές σε διαστάσεις
❑ Περιλαμβάνει δύο ειδών πεδία: πεδία με μετρικές και πεδία τα οποία είναι ξένα κλειδιά σε πίνακες διαστάσεων
❑ Το πρωτεύον κλειδί είναι ένα σύνθετο κλειδί το οποίο συντίθεται από όλα τα ξένα κλειδιά
❑ Περιλαμβάνει γεγονότα στο χαμηλότερο επίπεδο ή συναθροισμένα γεγονότα(συνοπτικός πίνακας)
❑ Δεδομένα στο ίδιο επίπεδο συνάθροισης
❑ Περιλαμβάνει εκατομμύρια εγγραφές με αριθμητικά πεδία
9
Βήματα Σχεδιασμού Σχήματος Αστέρα
❑ Προσδιορισμός της επιχειρηματικής διαδικασίας που θα αναλυθεί (π.χ. πωλήσεις).
❑ Προσδιορισμός των μετρικών ή γεγονότων (ύψος πωλήσεων σε ευρώ).
❑ Προσδιορισμός των διαστάσεων για τις μετρικές (προϊόν, τοποθεσία, χρόνος).
❑ Καταγραφή των πεδίων που περιγράφουν κάθε διάσταση (όνομα περιοχής, ονομασία καταστήματος).
❑ Καθορισμός του χαμηλότερου επιπέδου συνάθροισης των δεδομένων στον πίνακα γεγονότων.
10
Σημαντικά χαρακτηριστικά Αστέρα και Χιονονιφάδας
❑ Σχήμα Αστέρα
❑ Κάθε διάσταση έχει ένα πρωτεύον κλειδί.
❑ Ένας πίνακας διαστάσεων δεν έχει πατρικό πίνακα.
❑ Οι ιεραρχίες για τις διαστάσεις αποθηκεύονται στον πίνακα διαστάσεων.
❑ Σχήμα Χιονονιφάδας
❑ Ένας πίνακας διαστάσεων μπορεί να έχει ένα ή περισσότερους πατρικούς πίνακες.
❑ Οι ιεραρχίες αποθηκεύονται σε ξεχωριστούς πίνακες.
11
Ιεραρχίες επιπέδων για OLAP
❑Μια διάσταση μοντελοποιεί όλους τους τρόπους με τους οποίους τα δεδομένα μπορούν να συναθροιστούν σε σχέση με μια συγκεκριμένη παράμετρο του περιεχομένου τους.❑ Ημερομηνία, Προϊόν, Τοποθεσία, Πωλητής, …
❑ Κάθε διάσταση έχει μια ιεραρχία επιπέδωνσυνάθροισης των δεδομένων (hierarchy of levels). (πολλά επίπεδα αδρομέρειας)
❑Ημερομηνία: μέρα, εβδομάδα, μήνας, χρόνος, …❑ Ο χρήστης μπορεί να πλοηγηθεί από το ένα επίπεδο στο
άλλο, δημιουργώντας νέους κύβους κάθε φορά
Ye a r
M o n th W e e k
D a y
12
Κύβοι και Ιεραρχίες Διαστάσεων
Διαστάσεις: Product, Region, Date
Ιεραρχίες διαστάσεων:
Month
Pro
du
ct
Sales volume
Industry
Category
Product
Country
Region
City
Store
Year
Quarter
Month Week
Day
13
Παράδειγμα Κύβου
Συνολικές Ετήσιες Πωλήσεις
TV σε U.S.A.Date
Cou
ntr
ysum
sumTV
VCRPC
1Qtr 2Qtr 3Qtr 4Qtr
U.S.A
Canada
Mexico
sum
14
Παράδειγμα Κύβου
Χωρική Διάσταση
Διά
στα
ση
Πρ
οϊό
ντος
2014
470
2015
101
18095
132 205
2016
750
Κρήτη
490
Αττική
180
242
Ήπειρος
113
147
Α
Β
Γ
68 132 380
169
520
630
Πωλήσεις Προϊόντα
Α Β Γ Σύνολο
2014
Αττικη 200 150 120 470
Ηπειρος 45 38 18 101
Κρήτη 72 55 42 169
Σύνολο 2014 317 243 180 740
2015
Αττικη 250 160 110 520
Ηπειρος 50 25 20 95
Κρητη 80 60 40 180
Σύνολο 2015 380 245 170 795
2016
Αττικη 300 180 150 630
Ηπειρος 52 50 30 132
Κρητη 90 65 50 205
Σύνολο 2016 442 295 230 967
Σύνολο 1139 783 580 2502
15
Κύβος Δεδομένων: Ένα πλέγμα των κυβοειδών
15
time,item
time,item,location
time, item, location, supplier
all
time item location supplier
time,location
time,supplier
item,location
item,supplier
location,supplier
time,item,supplier
time,location,supplier
item,location,supplier
0-D (κορυφή) κυβοειδές
1-D κυβοειδή
2-D κυβοειδή
3-D κυβοειδή
4-D (βάση) κυβοειδές
16
Κυβοειδή που αντιστοιχούν στον Κύβο
all
product date country
product,date product,country date, country
product, date, country
0-D (κορυφή) κυβοειδές
1-D κυβοειδή
2-D κυβοειδή
3-D (βάση) κυβοειδές
18
Μορφές Επεξεργασίας Κύβων Δεδομένων
❑ Συναθροίσεις (συνολικές πωλήσεις, ποσοστά επί του συνόλου)
❑ Συγκρίσεις (προϋπολογισμός vs. δαπάνες)
❑ Ταξινόμηση - Κατάταξη (τα πρώτα 10)
❑ Πρόσβαση σε πιο αναλυτική πληροφορία
❑ Οπτικοποίηση με διαφορετικούς τρόπους
❑ Επεξεργασία OLAP
❑ Πλοήγηση – Περιήγηση
❑ Στατιστική ανάλυση
❑ Χρονολογικές σειρές
❑ Σύνθετη μοντελοποίηση
19
Πράξεις OLAP
❑ Συναθροιστική Άνοδος ή Προς τα πάνω συσσώρευση (Roll-up)❑ Συσσώρευση (Roll-up): Σύνοψη των δεδομένων κατά μήκος μιας διάστασης ή με
μείωση των διαστάσεων❑ Αναλυτική Κάθοδος ή Διαδρομή προς τα κάτω (Drill-down) - Εμβάθυνση❑ Drill Down/Up: Πλοήγηση από τα πιο συνοπτικά (πάνω) έως τα πιο λεπτομερή
(κάτω) επίπεδα ή εισαγωγή νέων διαστάσεων❑ Οριζόντιος Τεμαχισμός (Slice)❑ Slicing: ορισμός μίας σταθερής διάστασης (Slicer) για να εμφανίστεί ένας
δισδιάστατος πίνακας❑ Slice: υποσύνολο των διαστάσεων
❑ Κάθετος Τεμαχισμός (Dice)❑ Dicing: δημιουργία νέου κύβου
❑ Περιστροφή (pivoting)❑ Αναπροσανατολισμός του κύβου
20
Πράξεις OLAP
❑ Συναθροιστική Άνοδος ή Προς τα πάνω συσσώρευση (Roll-up)
❑ Πράξη με την οποία εκτελούμε ένα βήμα ανόδου στην ιεραρχία μιας διάστασης.
❑ Συνάθροιση της πληροφορίας = μετάβαση από χαμηλότερο σε υψηλότερο επίπεδο αδρομέρειας (π.χ. από day σε month)
❑ Αναλυτική Κάθοδος ή Διαδρομή προς τα κάτω (Drill-down)
❑ Η αντίστροφη πράξη του roll-up, όπου πάμε από ένα υψηλότερο επίπεδο ιεραρχίας μιας διάστασης σε ένα χαμηλότερο.
21
Πλοήγηση σε ιεραρχία διαστάσεων
❑ Ο κύβος αποτελείται από τρεις διαστάσεις: Χρώμα, Μοντέλο και Γεωγραφία.
❑ Η διάσταση Γεωγραφία έχει τρία επίπεδα: κατάστημα, περιοχή και περιφέρεια.
❑ Μία πράξη roll-up στη διάσταση Γεωγραφία μας δίνει ένα νέο κύβο που περιέχει αθροιστικές πωλήσεις προϊόντων ανά περιοχή, χρώμα και μοντέλο.
❑ Μία πράξη drill-down στη διάσταση Γεωγραφία, από το επίπεδο περιφέρειας, στον τελευταίο κύβο, στο επίπεδο καταστήματος, μας δίνει τον αρχικό κύβο
22
Οριζόντιος Τεμαχισμός (Slice)
❑ Slice ενός πολυδιάστατου διανύσματος είναι μια στήλη δεδομένων η οποία αντιστοιχεί σε μια μοναδική τιμή μιας διάστασης.
❑ Η αντίστοιχη πράξη ονομάζεται Slicing.
❑ Επιτρέπει την εξαγωγή και οπτικοποίηση πληροφορίας για μια συγκεκριμένη τιμή μιας διάστασης.
❑ Ένα ειδικό φίλτρο απομόνωσης μιας συγκεκριμένης τιμής μιας διάστασης.
23
Οριζόντιος Τεμαχισμός (Slicing)
24
Οριζόντιος Τεμαχισμός (Slicing)
25
Κάθετος Τεμαχισμός (Dice)
❑ Επιλογή ενός υποσυνόλου από όλες τις διαστάσεις για συγκεκριμένες τιμές των διαστάσεων (zoom).
❑ Δίνει πιο λεπτομερή πληροφόρηση σε μια πιο μικρή κλίμακα δεδομένων.
❑ Ενσωματώνει την πράξη της Διαδρομής προς τα κάτω (drilling).
26
Κάθετος Τεμαχισμός (Dice)
27
Περιστροφή (Pivoting)
❑ Περιστροφή (Pivoting)
❑ Πράξη αλλαγής της διάταξης των διαστάσεων ώστε να διευκολυνθεί η ανάλυση.
❑ Δεν μεταβάλλονται ούτε μειώνονται τα δεδομένα του υπερκύβου.
❑ Αλλάζει ο τρόπος παρουσίασής τους στην εφαρμογή της ανάλυσης.
28
Περιστροφή (Pivoting)
29
Αρχιτεκτονικές Εξυπηρετητών OLAP
❑ Σχεσιακό OLAP (ROLAP)
❑ Χρήση σχεσιακού ή εκτεταμένου σχεσιακού ΣΔΒΔ για την αποθήκευση και διαχείριση των δεδομένων αποθήκης και την υλοποίηση του OLAP
❑ Βελτιστοποίηση του ΣΔΒΔ, υλοποίηση λογικής πλοήγησης με βάση τις συναθροίσεις και πρόσθετα εργαλεία και υπηρεσίες
❑ Μεγαλύτερη επεκτασιμότητα
❑ Πολυδιάστατο OLAP (MOLAP)
❑ Μηχανή πολυδιάστατης αποθήκευσης διανυσμάτων αραιής διάταξης
❑ Γρήγορη ευρετηρίαση σε προ-υπολογισμένα αθροιστικά δεδομένα
❑ Υβριδικό OLAP (HOLAP) (π.χ., Microsoft SQLServer)
❑ Ευελιξία, π.χ., χαμηλό επίπεδο: σχεσιακό, ανώτερο επίπεδο: διανυσματικό
❑ Ειδικοί διακομιστές SQL (π.χ., Redbricks)
❑ Εξειδικευμένη υποστήριξη ερωτημάτων SQL σε σχήματα αστέρα ή χιονονιφάδας
30
Σχεσιακά συστήματα OLAP (ROLAP)
❑ Χρήση ενός RDBMS ως μέσου αποθήκευσης και επερώτησης
❑ Επιπλέον λειτουργικότητα των client εργαλείων
❑ Δυνατότητα επαναχρησιμοποίησης συναθροίσεων
❑ Χρήση εντολών SQL
❑ Βελτιστοποίηση των ερωτήσεων ανά RDBMS
❑ Δυνατότητα υποβολής οποιασδήποτε ερώτησης
❑ Εύκολη χρήση από τους διαχειριστές που γνωρίζουν τη σχεσιακή τεχνολογία
❑ Αργά ως συστήματα
31
Βελτίωση Απόδοσης Συστημάτων ROLAP
❑ Εξειδικευμένες τεχνικές δεικτοδότησης (indexing)
❑ Εξειδικευμένες τεχνικές συνένωσης (join)
❑ Διαμοίραση των δεδομένων (data partitioning) και χρήση παράλληλων τεχνικών
❑ Εξειδικευμένες τεχνικές αποθήκευσης και επεξεργασίας ερωτήσεων για συναθροίσεις δεδομένων (aggregates)
❑ Επεκτάσεις της SQL και της επεξεργασίας των σχετικών ερωτήσεων
32
Συναθροίσεις Δεδομένων - 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
32
33
Συναθροίσεις Δεδομένων
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 Amount
Athens $350
N.Y. $750
Rome $365
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
Χωριστός πίνακας/όψη
αθροισμάτων
Επέκταση του υπάρχοντος
βασικού πίνακα
Extended Sales tableSales table
City-dimension
sum table
34
Αποτελεσματικός Υπολογισμός Κύβου Δεδομένων
❑ Ο κύβος δεδομένων μπορεί να θεωρηθεί ως ένα πλέγμα των κυβοειδών
❑ Το πιο κάτω κυβοειδές είναι ο βασικός κυβόλιθος
❑ Το άνω κυβοειδές (κορυφή) περιέχει μόνο ένα κελί
❑ Πόσα κυβοειδή σε ένα n-διαστάσεων κύβο με L επίπεδα;
❑ Υλοποίηση κύβων δεδομένων
❑ Πλήρης υλοποίηση: Υλοποίηση κάθε κυβοειδούς
❑ Καμία υλοποίηση: Υλοποίηση κανενός κυβοειδούς
❑ Μερική υλοποίηση: Υλοποίηση μερικών κυβοειδών
❑ Ποια κυβοειδή να υλοποιηθούν;
❑ Επιλογή με βάση το μέγεθος, διαμοιρασμό, συχνότητα χρήσης κλπ.
)11( +
==
n
ii
LT
Industry Region Year
Category Country Quarter
Product City Month Week
Office Day
35
MOLAP: Πολυδιάστατα συστήματα OLAP
❑ Η αποθήκευση γίνεται σε πολυδιάστατους πίνακες (multi-dimensional arrays)❑ «πίνακες» με την έννοια των γλωσσών προγραμματισμού και όχι του σχεσιακού
μοντέλου
❑ Χρήση τεχνικών συμπιέσεως (οι πίνακες είναι αραιοί σε βαθμό ως και 80%)
❑ Στις αρχές του 2002 είχαν το 98% της αγοράς στο πεδίο των client tools
❑ + Πολύ γρήγοροι υπολογισμοί των λειτουργιών OLAP
❑ - Απαιτούν τον προϋπολογισμό των απαραίτητων συναθροίσεων
36
Παράδειγμα για την Ελληνική Γεωργία
❑ Πηγή δεδομένων
❑ ELSTAT
❑ Διαστάσεις
❑ Διοικητικός διαχωρισμός (Administrative) (περιφέρεια, νομός)
❑ Προϊόν (Product) (κατηγορία, τύπος)
❑ Μέγεθος (Size)
❑ Χρόνος (Time (year))
❑ Γεγονότα - Μετρήσεις
❑ Πλήθος Εκμεταλλεύσεων (Number of holdings)
❑ Καλλιεργήσιμη έκταση (Cultivation area)
HAICTA 2015, September 17-20, 2015, Kavala, Greece
37
Μορφή αρχικών δεδομένων
HAICTA 2015, September 17-20, 2015, Kavala, Greece
38
Ενδιάμεση μορφή δεδομένων
HAICTA 2015, September 17-20, 2015, Kavala, Greece
39
Παράδειγμα 1 για τον κύβο OLAP
HAICTA 2015, September 17-20, 2015, Kavala, Greece
40
Παράδειγμα 2 για τον κύβο OLAP
HAICTA 2015, September 17-20, 2015, Kavala, Greece
43
Σύνοψη
❑ Κύβος δεδομένων: Πολυδιάστατο μοντέλο
❑ Ένας κύβος δεδομένων αποτελείται από διαστάσεις και μετρικές
❑ Απεικόνιση σε σχήμα αστέρα ή χιονονιφάδας
❑ Λειτουργίες OLAP❑ Συνάθροιση (rolling),
❑ Εμβάθυνση (drilling)
❑ Κάθετος και οριζόντιος τεμαχισμός (dicing, slicing
❑ Περιστροφή (pivoting)
❑ Υλοποίηση: Αποτελεσματικός υπολογισμός κύβων δεδομένων❑ Μερική, πλήρης ή καθόλου υλοποίηση (materialization)
❑ Επεξεργασία ερωτημάτων OLAP
❑ Διακομιστές OLAP: ROLAP, MOLAP, HOLAP
Recommended