Κατέβασμα παρουσίασης
Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε
ΔημοσίευσεAlyssa Tavoularis Τροποποιήθηκε πριν 10 χρόνια
1
δφσδφ ΦΥΣΙΚΟ ΕΠΙΠΕΔΟ ΑΠΟΘΗΚΩΝ ΔΕΔΟΜΕΝΩΝ: ΜΕΡΟΣ Α’ 4/6/2017 Δρ. Παναγιώτης Συμεωνίδης Εργ. Τεχνολογίας και Επεξεργασίας Δεδομένων Τμήμα Πληροφορικής Διατμηματικό Πρόγραμμα Μεταπτυχιακών Σπουδών Αριστοτέλειο Πανεπιστήμιο Θεσ/νικης Ανάκτηση Πληροφοριών και Εξόρυξη Δεδομένων για Εξατομίκευση Υπηρεσιών Παγκόσμιου Ιστού
2
Αρχιτεκτονικές υλοποίησης αποθηκών δεδομένων
3 διαφορετικοί τύποι συστημάτων OLAP: Συστήματα ROLAP (Relational OLAP) Συστήματα MOLAP (Multidimensional OLAP) Συστήματα HOLAP (Hybrid OLAP)
3
Συστήματα ROLAP (Relational OLAP)
Χρήση Σχεσιακής Βάσης Δεδομένων για την αποθήκευση και διαχείριση του κύβου. Ένας πίνακας γεγονότων & ξεχωριστοί πίνακες για διαστάσεις. Μη απαραίτητη η δημιουργία κύβου. Πολύ καλή κλιμάκωση (Μεγάλος όγκος δεδομένων) Ενδεχομένως μειωμένη ταχύτητα απόκρισης (slow on line response).
4
Παράδειγμα σχεσιακού πίνακα γεγονότος
5
Συστήματα MOLAP (Multidimensional OLAP)
Ο πίνακας γεγονότων αποθηκεύεται σε αραιούς πολυδιάστατους πίνακες. Απαιτείται συμπίεση των πινάκων. 3. Άμεση πρόσβαση στα κελιά (μη ύπαρξη κλειδιών). 4. Mεγάλος χρόνος δημιουργίας κύβου (slow off-line part). 5. Πολύ γρήγορη εκτέλεση πράξεων (fast on-line response).
6
Παράδειγμα πίνακα Συστήματος MOLAP
Μετρική κύβου : Τεμάχια 8 2 5 3 Ημερομηνίες Υποκαταστήματα Προϊόντα
7
Συστήματα HOLAP (Hybrid OLAP)
Παρουσιάζει μεγαλύτερη ευελιξία. Σε χαμηλό επίπεδο χρησιμοποιεί σχεσιακούς πίνακες. Σε υψηλότερο επίπεδο χρησιμοποιεί απλούς πολυδιάστατους πίνακες. Συνδυασμός γρήγορης εκτέλεσης και κλιμάκωσης.
8
Κύβος Πωλήσεων Βιβλιοπωλείου
Μετρική (measure) Τεμάχια Δεν υπάρχουν Ιεραρχίες στις διαστάσεις
9
Πλέγμα Κυβοειδών Κύβου Πωλήσεων Βιβλιοπωλείου
Αν k διαστάσεις και ΔΕΝ ΥΠΑΡΧΟΥΝ ΙΕΡΑΡΧΙΕΣ, τότε υπάρχουν συνολικά 2k κυβοειδή. Στο παράδειγμα του βιβλιοπωλείου έχουμε 3 διαστάσεις. Άρα 23 = 8 κυβοειδή.
10
Δημιουργία των κυβοειδών με SQL
Με k διαστάσεις έχουμε 2k ερωτήματα SQL.
11
Δημιουργία Κυβοειδών με τον τελεστή CUBE.
Για την αποφυγή πολλών παρόμοιων ερωτημάτων SQL καθιερώθηκε ο τελεστής CUBE. SELECT Κωδ_Ημερομηνίας, Κωδ_Προϊόντος, Κωδ_Υποκαταστήματος, sum (Τεμάχια) FROM Κύβο Πωλήσεων CUBE BY Κωδ_Ημερομηνίας, Κωδ_Προϊόντος, Κωδ_Υποκαταστήματος
12
Αριθμός Κυβοειδών για διαστάσεις με ιεραρχίες
Πολλοί πίνακες διαστάσεων έχουν ιεραρχίες: π.χ. Ιεραρχίες Διαστάσεων Βιβλιοπωλείου Για ένα κύβο με n διαστάσεις ο συνολικός αριθμός των κυβοειδών είναι: όπου Li είναι ο αριθμός των επιπέδων ιεραρχία της διάστασης i. *Για το βιβλιοπωλείο δημιουργούνται 4*5*6 = 120 κυβοειδή
13
Κύβος Πωλήσεων Βιβλιοπωλείου
Σύνολο πωλήσεων χαρτιού στη χώρα Σύνολο πωλήσεων χρονιάς για όλα τα προϊόντα σε όλη τη χώρα
14
Υλοποίηση Κυβοειδών (3 επιλογές)
Υλοποίηση όλων των κυβοειδών Καλύτερος χρόνος απόκρισης. Μη ρεαλιστική λύση για μεγάλους κύβους λόγω των πολύ υψηλού κόστους χώρου, δημιουργίας κύβου, συντήρησης. Καθόλου υλοποίηση των κυβοειδών Για κάθε ερώτημα, προσπέλαση στα βασικά (raw) δεδομένα για τον υπολογισμό κάθε κυβοειδούς (cuboid). Χαμηλός χρόνος απόκρισης Δίνει μεγάλη σημασία στο σύστημα που βασίζεται (RDBMS σε ROLAP) Υλοποίηση μέρους του κυβοειδών Οι τιμές πολλών κελιών είναι υπολογίσιμες από άλλα κελιά του κύβου (dependent cells). Ο αριθμός των υλοποιημένων κελιών εξαρτάται από τους περιορισμούς χώρου.
15
Γιατί επιλέγουμε την υλοποίηση μέρους των κυβοειδών?
Το Χωρικό Κόστος αντανακλά το κόστος κατασκευής του κύβου και ενημέρωσης του. (offline part) Χρονικό Κόστος Το Χρονικό Κόστος αντανακλά την ταχύτητα εκτέλεσης ερωτημάτων στο κύβο. (online part) Χωρικό Αριθμός Υλοποιημένων κυβοειδών
16
Σχεδιαστικά Ερωτήματα για την υλοποίηση κυβοειδών
Πόσα κυβοειδή πρέπει να υλοποιηθούν προκειμένου να έχουμε ανεκτή χρονική απόκριση στην υποβολή ερωτημάτων στον κύβο; Δεδομένου του χώρου που διαθέτουμε για την κατασκευή ενός κύβου, ποια κυβοειδή πρέπει να υλοποιηθούν ώστε να ελαχιστοποιηθεί το μέσο χρονικό κόστος ερωτημάτων; Αν δεχτούμε ένα ποσοστό X% υποβάθμισης του μέσου χρονικού κόστους ερωτημάτων, πόσο χώρο μπορούμε να γλιτώσουμε; Σύγκριση με την περίπτωση ολικής υλοποίησης
17
Επιλογή κυβοειδών προς υλοποίηση
Στόχος Επιλογή κατάλληλων κυβοειδών βάσει (1) κάποιου κριτηρίου, (2) ενός περιορισμού βάσει του μέγιστου διαθέσιμου μεγέθους αποθηκευτικού χώρου. Για λόγους απλούστευσης ως περιορισμό χώρου ορίζουμε το μέγιστο πλήθος κυβοειδών που μπορούν να υλοποιηθούν σε δεδομένο αποθηκευτικό χώρο.
18
Motivating Example Parts (p) are bought from suppliers (s) and then sold to customers (c) at a sale price (sales in $). Schema: part, supplier, customer i.e., p, s, c CREATE VIEW as psc { SELECT p, s, c, sum(sales) FROM Cube_sales GROUP BY p, s, c
19
Parts are bought from suppliers and then sold to customers at a sale price SP
Table T part supplier customer SP p1 s1 c1 4$ p3 c2 3$ p2 s3 7$ …
20
Table T part supplier customer SP p1 s1 c1 4$ p3 c2 3$ p2 s3 7$ … Parts are bought from suppliers and then sold to customers at a sale price SP c1 c2 c3 c4 Data cube customer 3$ s1 s2 s3 s4 4$ supplier p1 p2 p3 p4 p5 part
21
select part, customer, SUM(SP) from table T group by part, customer
supplier customer SP p1 s1 c1 4 p3 c2 3 p2 s3 7 … Parts are bought from suppliers and then sold to customers at a sale price SP e.g., select part, customer, SUM(SP) from table T group by part, customer e.g., select customer, SUM(SP) from table T group by customer part customer SUM(SP) p1 c1 4 p3 c2 3 p2 7 customer SUM(SP) c1 11 c2 3 Group by customer (c) has 2 rows Less storage requirements Group by part customer (pc) has 3 rows More storage requirements
22
Suppose we materialize all views.
psc 6MB pc 4MB ps 0.8MB sc 2MB p 0.2MB s 0.01MB c 0.1MB (total space cost 13.11Mb + total time cost 0 MB =13.11 MB).
23
Suppose we materialize the view “psc” space
Cost for accessing ps = 6MB (not 0.8MB) Cost for accessing pc = 6MB (not 4MB) psc 6MB pc 4MB ps 0.8MB sc 2MB p 0.2MB s 0.01MB c 0.1MB Cost for accessing sc = 6MB (not 2MB) Cost for accessing p = 6MB (not 0.2MB) Cost for accessing s = 6MB (not 0.01MB) Cost for accessing c = 6MB (not 0.1MB) (total space cost 6MB + total time cost 36 MB = 42 MB).
24
(space cost 6.8MB + total time cost 19.6 MB = 26.4 MB).
Suppose we materialize both the view “psc” and the view for “ps”. Cost for accessing ps = 0.8MB (not 6MB previously) Cost for accessing pc = 6MB (still 6MB) psc 6MB pc 4MB ps 0.8MB sc 2MB p 0.2MB s 0.01MB c 0.1MB Cost for accessing p = 0.8MB (not 6MB previously) Cost for accessing sc = 6MB (still 6MB) Cost for accessing s = 0.8MB (not 6MB previously) Cost for accessing c = 6MB (still 6MB) (space cost 6.8MB + total time cost 19.6 MB = 26.4 MB).
25
Comparing {view for “psc”, view for “ps”} with {view for “psc”}
Gain({view for “psc”}, {view for “psc”, view for “ps”} = 5.2*3 = 15.6 MB Cost for accessing ps = 0.8MB (not 6MB previously) Cost for accessing pc = 6MB (still 6Mb) psc 6MB Gain = 5.2Mb Gain = 0 pc 4MB ps 0.8MB sc 2MB p 0.2MB s 0.01MB c 0.1MB Cost for accessing p = 0.8MB (not 6M previously) Gain = 5.2MB Cost for accessing sc = 6MB (still 6MB) Gain = 0 Cost for accessing s = 0.8MB (not 6M previously) Cost for accessing c = 6MB (still 6MB) Gain = 5.2MB Gain = 0 (Total Gain = 42MB -26.4MB = 15.6MB).
Παρόμοιες παρουσιάσεις
© 2024 SlidePlayer.gr Inc.
All rights reserved.