Βελτιστοποίηση Συστημάτων Άμεσης Αναλυτικής Επεξεργασίας: Εννοιολογική Μοντελοποίηση και Τεχνικές Επεξεργασίας Επερωτήσεων Διδακτορική Διατριβή Άρης Ν. Τσώης ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ 28 Φεβρουαρίου 2005
A. Τσώης 2/ Εισαγωγή Συστήματα Άμεσης Αναλυτικής Επεξεργασίας (OLAP) Παρουσιάζουν/υπολογίζουν/χειρίζονται αριθμητικά δεδομένα σε μορφή πολυδιάστατων κύβων Χρησιμεύουν στην λήψη αποφάσεων Συνήθως βασίζονται σε μεγάλου όγκου δεδομένα τα οποία βρίσκονται σε Αποθήκες Δεδομένων (Data Warehouses) Βασικά χαρακτηριστικά Παρέχουν στους χρήστες ένα πολυδιάστατο εννοιολογικό μοντέλο των δεδομένων που αναλύουν Παρέχουν γρήγορη απόκριση στα αιτήματα των χρηστών τους μολονότι συνήθως αυτά απαιτούν επίπονους υπολογισμούς επάνω σε τεράστιους όγκους δεδομένων
A. Τσώης 2/ Κίνητρο έρευνας Υλοποίηση αποδοτικών Συστημάτων Άμεσης Αναλυτικής Επεξεργασίας (OLAP) 1.«Κατάλληλη» εννοιολογική μοντελοποίηση Κατανοητή, εύχρηστη, πρακτική αλλά και αυστηρά ορισμένη 2.«Γρήγορη» απόκριση σε μη-προσχεδιασμένα αιτήματα Υπολογισμός της απάντησης με βάση λεπτομερή δεδομένα
A. Τσώης 2/ Δομή της παρουσίασης Εννοιολογική μοντελοποίηση και το μοντέλο MAC Τεχνικές Επεξεργασία Επερωτήσεων OLAP Επεξεργασία επερωτήσεων με δομές πολυδιάστατης ιεραρχικής δεικτοδότησης και συγκέντρωσης Η τεχνική της Καθυστέρησης Επιλογών Η τεχνική της Πρόωρης Ιεραρχικής Ομαδοποίησης Η τεχνική της Χρήσης Εγγενούς Ταξινόμησης Το μοντέλο εκτίμησης κόστους Γενίκευση της τεχνικής Πρόωρης Ιεραρχικής Ομαδοποίησης Συμπεράσματα Εννοιολογική μοντελοποίηση και το μοντέλο MAC Τεχνικές Επεξεργασία Επερωτήσεων OLAP Επεξεργασία επερωτήσεων με δομές πολυδιάστατης ιεραρχικής δεικτοδότησης και συγκέντρωσης Η τεχνική της Καθυστέρησης Επιλογών Η τεχνική της Πρόωρης Ιεραρχικής Ομαδοποίησης Η τεχνική της Χρήσης Εγγενούς Ταξινόμησης Το μοντέλο εκτίμησης κόστους Γενίκευση της τεχνικής Πρόωρης Ιεραρχικής Ομαδοποίησης Συμπεράσματα
A. Τσώης 2/ Εννοιολογική μοντελοποίηση Το πρόβλημα: Οι χρήστες πρέπει να κατανοήσουν, να χρησιμοποιήσουν και να μεταβάλουν τον τρόπο οργάνωσης των δεδομένων (κύβων) Οι κύβοι είναι πολυσύνθετες δομές: πολλές διαστάσεις, ιεραρχίες, επίπεδα και μέτρα Η μοντελοποίηση με «κλασσικούς» τρόπους μοντελοποίησης δεδομένων καταλήγει σε ένα εξαιρετικά σύνθετο και δυσνόητο σχήμα. Στόχος της έρευνας: Να παρέχουμε στους χρήστες ένα εννοιολογικό μοντέλο το οποίο να είναι απλό και κατανοητό από το χρήστη Το μοντέλο να υποστηρίζει αποδοτικά τις πράξεις των χρηστών Το μοντέλο να είναι πρακτικό (ελαχιστοποίηση περιορισμών)
A. Τσώης 2/ Το εννοιολογικό μοντέλο MAC Επίπεδα ProductBrand 1 2 Product Brand Group 1 2 Product Group 3 Class Product Dim Sale Date DimCustomer Dim Salesman Dim Μονοπάτια Διαστάσεις Κύβοι
A. Τσώης 2/ Ιδιαίτερα χαρακτηριστικά MAC Επίπεδα: ημιδομημένα μέλη Π.χ. δυο προϊόντα του επιπέδου Product μπορούν να έχουν διαφορετικά πεδία τα οποία τα περιγράφουν Μονοπάτια: σύνδεσμοι μεταξύ μελών Τα μέλη ενός επιπέδου μπορούν να συνδεθούν με μελή οποιουδήποτε άλλου επιπέδου Η σχέση δεν χρειάζεται να είναι «επί» Η σχέση μπορεί να είναι M:N Οι σύνδεσμοι μπορούν να έχουν και ημιδομημένα περιγραφικά πεδία
A. Τσώης 2/ Ιδιαίτερα χαρακτηριστικά MAC Διαστάσεις: Πολλαπλές ιεραρχίες Ιεραρχίες χωρίς κοινό επίπεδο Π.χ. μπορεί να προκύψει ως όψη μιας πλήρους διάστασης Κύβοι: Πολλά μέτρα Κελιά διαφόρων συνδυασμών επιπέδων Σύνθετες συντεταγμένες κελιών Οι συντεταγμένες των κελιών του κύβου παίρνουν τιμές από το Πεδίο τιμών διαστάσεων Πεδίο τιμών διαστάσεων
A. Τσώης 2/ Πεδίο τιμών διάστασης Το πεδίο τιμών διάστασης περιέχει μια τιμή: Για κάθε μέλος κάθε επιπέδου (την τιμή του κλειδιού) Για κάθε σύνολο συμβατών επιπέδων και κάθε συνδυασμός μελών τους (ένα από κάθε επίπεδο) (το διάνυσμα των τιμών των κλειδιών) Οι συντεταγμένες των κελιών παίρνουν τιμή από τα πεδία τιμών των διαστάσεων
A. Τσώης 2/ MAC: Παράδειγμα κύβου
A. Τσώης 2/ MAC: Παράδειγμα διάστασης
A. Τσώης 2/ Δομή της παρουσίασης Εννοιολογική μοντελοποίηση και το μοντέλο MAC Τεχνικές Επεξεργασία Επερωτήσεων OLAP Επεξεργασία επερωτήσεων με δομές πολυδιάστατης ιεραρχικής δεικτοδότησης και συγκέντρωσης Η τεχνική της Καθυστέρησης Επιλογών Η τεχνική της Πρόωρης Ιεραρχικής Ομαδοποίησης Η τεχνική της Χρήσης Εγγενούς Ταξινόμησης Το μοντέλο εκτίμησης κόστους Γενίκευση της τεχνικής Πρόωρης Ιεραρχικής Ομαδοποίησης Συμπεράσματα
A. Τσώης 2/ Τεχνικές επεξεργασίας επερωτήσεων: Κίνητρα έρευνας Νέες δομές πολυδιάστατης ιεραρχικής συγκέντρωσης και δεικτοδότησης CUBE file UB-Tree + MHC/HI Ιδιαίτερα αποδοτικές για μη-προσχεδιασμένα (ad-hoc) επερωτήσεις Αλλαγή στον τρόπο επεξεργασίας των επερωτήσεων Ύπαρξη πολυδιάστατου δείκτη που εμπεριέχει την ιεραρχική πληροφορία Ερώτημα: με ποιους τρόπους μπορούμε να εκμεταλλευτούμε τον πολυδιάστατο δείκτη; Στόχος: Βελτίωση της ταχύτητας απόκρισης των Συστημάτων Άμεσης Αναλυτικής Επεξεργασίας
A. Τσώης 2/ Το λογικό σχήμα δεδομένων sales SALES_FACT store_key date_key product_key PRODUCT category brand product DATE month year day STORE area region store hsk prod_hsk store_hsk date_hsk hsk size evening
A. Τσώης 2/ Τα πολυεπίπεδα αναπληρωματικά κλειδιά sales SALES_FACT store_key date_key product_key PRODUCT category brand product hsk prod_hsk store_hsk date_hsk STORE area region store hsk size DATE month year day hsk evening
A. Τσώης 2/ Παράδειγμα επερωτήματος sales SALES_FACT store_key date_key product_key PRODUCT category brand product hsk prod_hsk store_hsk date_hsk hsk SUM(sales) area brand month SUM(sales) Συνάθροιση Προβολή Συνένωση SELECT SUM(sales), brand, area FROM SALES_FACT, STORE, PRODUCT, DATE WHERE AND evening=True and size>500 GROUP BY brand, area, month DATE month year day hsk evening STORE area region store hsk size Επιλογή
A. Τσώης 2/ Το βασικό πλάνο επεξεργασίας DATEPRODUCTSTORESALES_FACT Συνάθροιση brandarea brandGroup By:monthbrandareamonth s=SUM(sales) Size>500 MD_Range_Access Evening=true
A. Τσώης 2/ Δομή της παρουσίασης Εννοιολογική μοντελοποίηση και το μοντέλο MAC Τεχνικές Επεξεργασία Επερωτήσεων OLAP Επεξεργασία επερωτήσεων με δομές πολυδιάστατης ιεραρχικής δεικτοδότησης και συγκέντρωσης Η τεχνική της Καθυστέρησης Επιλογών Η τεχνική της Πρόωρης Ιεραρχικής Ομαδοποίησης Η τεχνική της Χρήσης Εγγενούς Ταξινόμησης Το μοντέλο εκτίμησης κόστους Γενίκευση της τεχνικής Πρόωρης Ιεραρχικής Ομαδοποίησης Συμπεράσματα
A. Τσώης 2/ Καθυστέρηση Επιλογών Μειώνει τον αριθμού διαστημάτων που πρέπει να επεξεργαστεί ο τελεστής MD_Range_Access Αυξάνει όμως τον αριθμό των εγγραφών που επιστρέφει αυτός Ευριστικός τρόπος εφαρμογής DATESTORESALES_FACT Size>500 MD_Range_Access Evening=true
A. Τσώης 2/ Δομή της παρουσίασης Εννοιολογική μοντελοποίηση και το μοντέλο MAC Τεχνικές Επεξεργασία Επερωτήσεων OLAP Επεξεργασία επερωτήσεων με δομές πολυδιάστατης ιεραρχικής δεικτοδότησης και συγκέντρωσης Η τεχνική της Καθυστέρησης Επιλογών Η τεχνική της Πρόωρης Ιεραρχικής Ομαδοποίησης Η τεχνική της Χρήσης Εγγενούς Ταξινόμησης Το μοντέλο εκτίμησης κόστους Γενίκευση της τεχνικής Πρόωρης Ιεραρχικής Ομαδοποίησης Συμπεράσματα
A. Τσώης 2/ Παράδειγμα sales SALES_FACT store_key date_key product_key PRODUCT category brand product hsk prod_hsk store_hsk date_hsk hsk SUM(sales) area brand month SUM(sales) Συνάθροιση Προβολή Συνένωση SELECT SUM(sales), brand, area FROM SALES_FACT, STORE, PRODUCT, DATE WHERE GROUP BY brand, area, month DATE month year day hsk evening STORE area region store hsk size
A. Τσώης 2/ Βασικό πλάνο εκτέλεσης DATEPRODUCTSTORESALES_FACT Συνάθροιση brandarea brandGroup By:monthbrandareamonth s=SUM(sales) date_hsk:month Μπορούμε να αποφύγουμε πράξεις συνένωσης;
A. Τσώης 2/ Βελτιωμένο πλάνο (#1) PRODUCTSTORESALES_FACT Συνάθροιση brandarea brandGroup By:monthbrandareadate_hsk:month s=SUM(sales) store_hsk:area Μπορούμε να εκτελέσουμε κάποια συνένωση μετά την συνάθροιση
A. Τσώης 2/ Βελτιωμένο πλάνο (#2) PRODUCT STORE SALES_FACT Συνάθροιση brandstore_hsk:area brandGroup By:monthbrandareadate_hsk:month s=SUM(sales) store_hsk:area areabrands hsk:area Συνάθροιση hsk:areaarea Μπορούμε να διευκολύνουμε κάποια συνένωση
A. Τσώης 2/ Βελτιωμένο πλάνο (#3) PRODUCTSTORE SALES_FACT Συνάθροιση brandstore_hsk:area brandGroup By:monthbrandstore_hsk:areadate_hsk:month s=SUM(x)areabrands hsk:area Συνάθροιση hsk:areaarea Συνάθροιση prod_hskstore_hsk:area brandprod_hskstore_hsk:areadate_hsk:month x=SUM(sales)
A. Τσώης 2/ Πρόωρη Ιεραρχική Ομαδοποίηση Πλεονεκτήματα: Μείωση του αριθμού εγγραφών που εμπλέκονται σε πράξεις συνένωσης Εξάλειψη ορισμένων πράξεων συνένωσης Μεταβολές στο πλάνο εκτέλεσης: Προσθέτει ένα τελεστή συνάθροισης & ομαδοποίησης Αλλάζει την σειρά των τελεστών Καθυστέρηση ορισμένων πράξεων συνένωσης για μετά την τελική πράξη συνάθροισης Πειραματικά αποτελέσματα μείωση κατά 50% του χρόνου απόκρισης
A. Τσώης 2/ Πειραματικά αποτελέσματα
A. Τσώης 2/ Δομή της παρουσίασης Εννοιολογική μοντελοποίηση και το μοντέλο MAC Τεχνικές Επεξεργασία Επερωτήσεων OLAP Επεξεργασία επερωτήσεων με δομές πολυδιάστατης ιεραρχικής δεικτοδότησης και συγκέντρωσης Η τεχνική της Καθυστέρησης Επιλογών Η τεχνική της Πρόωρης Ιεραρχικής Ομαδοποίησης Η τεχνική της Χρήσης Εγγενούς Ταξινόμησης Το μοντέλο εκτίμησης κόστους Γενίκευση της τεχνικής Πρόωρης Ιεραρχικής Ομαδοποίησης Συμπεράσματα
A. Τσώης 2/ Χρήση Εγγενούς Ταξινόμησης Ευριστική μέθοδος μεταβολής του πλάνου εκτέλεσης Εκμεταλλεύεται την ταξινόμηση που προκύπτει από: τον τελεστή TETRIS, τους τελεστές συνάθροισης και την εγγενή ταξινόμηση των πινάκων διαστάσεων. Αλλάζει: την σειρά εκτέλεσης των πράξεων συνένωσης, την ταξινόμηση που κάνουν οι τελεστές συνάθροισης, την ταξινόμηση που κάνει ο τελεστής TETRIS. Αποτέλεσμα: μειώνει το κόστος των τελεστών συνένωσης και συνάθροισης
A. Τσώης 2/ Χρήση Εγγενούς Ταξινόμησης … Συνάθροιση … D1D1 F TETRIS … Συνάθροιση … DNDN D N+1 D Ν+Κ … … Ταξινόμηση
A. Τσώης 2/ Δομή της παρουσίασης Εννοιολογική μοντελοποίηση και το μοντέλο MAC Τεχνικές Επεξεργασία Επερωτήσεων OLAP Επεξεργασία επερωτήσεων με δομές πολυδιάστατης ιεραρχικής δεικτοδότησης και συγκέντρωσης Η τεχνική της Καθυστέρησης Επιλογών Η τεχνική της Πρόωρης Ιεραρχικής Ομαδοποίησης Η τεχνική της Χρήσης Εγγενούς Ταξινόμησης Το μοντέλο εκτίμησης κόστους Γενίκευση της τεχνικής Πρόωρης Ιεραρχικής Ομαδοποίησης Συμπεράσματα
A. Τσώης 2/ Εκτίμηση κόστους Στόχος: η επιλογή του βέλτιστου πλάνου με βάση το κόστος του Μας ενδιαφέρει ένας σχετικά μικρός αριθμός εναλλακτικών πλάνων: η σειρά των πράξεων συνάθροισης και συνένωσης Επιλογή αλγορίθμων με βάση τα χαρακτηριστικά του συστήματος Κρίσιμα στατιστικά μεγέθη Συντελεστής ομαδοποίησης Επιλεκτικότητα των πολυδιάστατων κριτηρίων επιλογής Πειραματική δοκιμή του μοντέλου
A. Τσώης 2/ Πειραματική δοκιμή D1D1 Συνάθροιση D2D2 D3D3 D1D1 D2D2 D3D3 D1D1 D2D2 D3D3 ΚανονικόΧωρίς 1 η Συνάθροιση Βέλτιστο
A. Τσώης 2/ Δομή της παρουσίασης Εννοιολογική μοντελοποίηση και το μοντέλο MAC Τεχνικές Επεξεργασία Επερωτήσεων OLAP Επεξεργασία επερωτήσεων με δομές πολυδιάστατης ιεραρχικής δεικτοδότησης και συγκέντρωσης Η τεχνική της Καθυστέρησης Επιλογών Η τεχνική της Πρόωρης Ιεραρχικής Ομαδοποίησης Η τεχνική της Χρήσης Εγγενούς Ταξινόμησης Το μοντέλο εκτίμησης κόστους Γενίκευση της τεχνικής Πρόωρης Ιεραρχικής Ομαδοποίησης Συμπεράσματα
A. Τσώης 2/ Η Γενικευμένη Πρόωρη Ιεραρχική Ομαδοποίηση Κίνητρα έρευνας: Ποιες είναι οι συνθήκες κάτω από τις οποίες μπορεί να εφαρμοστεί η τεχνική της Πρόωρης Ιεραρχικής Ομαδοποίησης; Μπορεί η τεχνική να εφαρμοστεί και χωρίς την χρήση των πολυεπίπεδων αναπληρωματικών κλειδιών; Ποια η σχέση της τεχνικής με άλλες συναφής τεχνικές μεταβολής πλάνων εκτέλεσης; Μέθοδος Μετατροπή τεχνικής σε αλγεβρικό μετασχηματισμό Προσδιορισμός συνθηκών και απόδειξη θεωρήματος Αντιμετώπιση NULL τιμών και σχέσεων με διπλές εγγραφές
A. Τσώης 2/ Ο μετασχηματισμός της Γενικευμένης Πρόωρης Ιεραρχικής Ομαδοποίησης E1 E2
A. Τσώης 2/ Η συνθήκες του θεωρήματος Συναρτησιακές Εξαρτήσεις I1: Sd3 SKd3 I6: Sd2 SKd2 Κλειδιά σχέσεων I5: Kd2 key of Rd2 I3: Kd3 key of Rd3 I9: Kd1 key of Rd1 Αναφορικής ακεραιότητα (ξένα κλειδιά) I2: {Kd3,SKd3} {Hu3,SHu3} I8: {Kd1,SKd1} {Hu1,SHu1} I4: {Kd2,SKd2} {Hu2,SHu2} Είδος συναρτήσεων συνάθροισης I7: Ag(z)=Ago(Ag(z))
A. Τσώης 2/ Η Γενικευμένη Πρόωρη Ιεραρχική Ομαδοποίηση: Συμπεράσματα Ο μετασχηματισμός βασίζεται σε συναρτησιακές συσχετίσεις και περιορισμούς αναφορικής ακεραιότητας Μπορεί να εφαρμοστεί και χωρίς την ύπαρξη των πολυεπίπεδων αναπληρωματικών κλειδιών Δεν είναι μια απλή εφαρμογή γνωστών μετασχηματισμών
A. Τσώης 2/ Δομή της παρουσίασης Εννοιολογική μοντελοποίηση και το μοντέλο MAC Τεχνικές Επεξεργασία Επερωτήσεων OLAP Επεξεργασία επερωτήσεων με δομές πολυδιάστατης ιεραρχικής δεικτοδότησης και συγκέντρωσης Η τεχνική της Καθυστέρησης Επιλογών Η τεχνική της Πρόωρης Ιεραρχικής Ομαδοποίησης Η τεχνική της Χρήσης Εγγενούς Ταξινόμησης Το μοντέλο εκτίμησης κόστους Γενίκευση της τεχνικής Πρόωρης Ιεραρχικής Ομαδοποίησης Συμπεράσματα
A. Τσώης 2/ Σύνοψη Ορίσαμε ένα νέο εννοιολογικό μοντέλο κατάλληλο για τους χρήστες των Συστημάτων Άμεσης Αναλυτικής Επεξεργασίας Το μοντέλο περιλαμβάνει έννοιες και πράξεις πάνω σε αυτές Ορίσαμε τεχνικές βελτιστοποίησης για τυπικές επερωτήσεις Άμεσης Αναλυτικής Επεξεργασίας Καθυστέρηση Επιλογών Πρόωρη Ιεραρχική Ομαδοποίηση Χρήση Εγγενούς Ταξινόμησης Ορίσαμε ένα πλαίσιο για την περεταίρω βελτιστοποίηση των πλάνων με βάση το κόστος Μελετήσαμε αναλυτικά και γενικεύσαμε την τεχνική της Πρόωρης Ιεραρχικής Ομαδοποίησης
A. Τσώης 2/ Συμπεράσματα Το προτεινόμενο μοντέλο MAC μπορεί να χρησιμοποιηθεί για την ευκολότερη μοντελοποίηση και την αποδοτική διαχείριση OLAP δεδομένων Οι τεχνικές βελτιστοποίησης μπορούν να μειώσουν σημαντικά τον χρόνο απόκρισης σε μη- προσχεδιασμένα επερωτήματα Η αναλυτική μελέτη και η γενίκευση της Πρόωρης Ιεραρχικής Ομαδοποίησης μπορεί να χρησιμοποιηθεί για την επέκταση της τεχνικής σε πιο σύνθετα επερωτήματα αλλά και για την χρήση της σε άλλα πεδία
A. Τσώης 2/ Μελλοντική Εργασία Εννοιολογική μοντελοποίηση Αντιστοίχηση του μοντέλου σε ένα κατάλληλο λογικό μοντέλο Ορισμός πράξεων για τον υπολογισμό μέτρων του κύβου (συναθροιστηκές συναρτήσεις) Επεξεργασία επερωτήσεων Διεύρυνση της κλάσης των επερωτήσεων στην οποία μπορεί να εφαρμοστεί η Πρόωρη Ιεραρχική Ομαδοποίηση Εκτίμησης των συντελεστών ομαδοποίησης και επιλεκτικότητας για πολυδιάστατα κριτήρια
A. Τσώης 2/ Δημοσιεύσεις Διεθνή Περιοδικά Π1.D. Theodoratos, A. Tsois: Processing OLAP queries in hierarchically clustered databases. Data & Knowledge Engineering (DKE) 45(2): , May Π2.A. Tsois, T. Sellis: Aggregate Query Optimization in the Presence of Dependencies. Submitted for publication, January Π3.A. Tsois, T. Sellis: The MAC model: A conceptual model for cubes. Submitted for publication, January Διεθνή Συνέδρια Σ1.A. Tsois, T. Sellis: The Generalized Pre-Grouping Transformation: Aggregate Query Optimization in the Presence of Dependencies. 29th Very Large Databases Conference (VLDB’03), Berlin, Germany, Σ2.R. Pieringer, K. Elhardt, F. Ramsak, V. Markl, R. Fenk, R. Bayer, N. Karayannidis, A. Tsois, T. Sellis: Combining Hierarchy Encoding and Pre-Grouping: Intelligent Grouping in Star Join Processing. International Conference on Data Engineering (ICDE’03), India, Σ3.N. Karayannidis, A. Tsois, T. Sellis, R. Pieringer, V. Markl, F. Ramsak, R. Fenk, K. Elhardt, R. Bayer: Processing Star Queries on Hierarchically-Clustered Fact Tables. 28th Very Large Database Conference (VLDB’02), Hong Kong, Σ4.A. Tsois, N. Karayannidis, T. Sellis, D. Theodoratos: Cost-based optimization of aggregation star queries on hierarchically clustered data warehouses. 4th International Workshop on the Design and Management of Data Warehouses (DMDW’02), Toronto, Canada, 27 May Σ5.A. Tsois, N. Karayannidis, T. Sellis: MAC: Conceptual data modeling for OLAP. 3rd International Workshop on the Design and Management of Data Warehouses (DMDW’01), Switzerland, 4 June Σ6.D. Theodoratos, A. Tsois: Heuristic Optimization of OLAP Queries in Multidimensionally Hierarchically Clustered Databases. 4th ACM International Workshop on Data Warehousing and OLAP (DOLAP’01), Atlanta, USA, 9 November 2001.
A. Τσώης 2/ Ερωτήσεις;
A. Τσώης 2/ Δομή της παρουσίασης Εννοιολογική μοντελοποίηση και το μοντέλο MAC Εννοιολογική μοντελοποίηση και το μοντέλο MAC Τεχνικές Επεξεργασία Επερωτήσεων OLAP Τεχνικές Επεξεργασία Επερωτήσεων OLAP Επεξεργασία επερωτήσεων με δομές πολυδιάστατης ιεραρχικής δεικτοδότησης και συγκέντρωσης Επεξεργασία επερωτήσεων με δομές πολυδιάστατης ιεραρχικής δεικτοδότησης και συγκέντρωσης Η τεχνική της Καθυστέρησης Επιλογών Η τεχνική της Πρόωρης Ιεραρχικής Ομαδοποίησης Η τεχνική της Χρήσης Εγγενούς Ταξινόμησης Το μοντέλο εκτίμησης κόστους Γενίκευση της τεχνικής Πρόωρης Ιεραρχικής Ομαδοποίησης (γραφική μορφή) Γενίκευση της τεχνικής Πρόωρης Ιεραρχικής Ομαδοποίησηςγραφική μορφή Συμπεράσματα
A. Τσώης 2/ Su Group By & Aggregate A=F(Ag)Su Sd3 Generalized Pre-Grouping (1) Join …Hu1SHu1Hu2SHu2Hu3SHu3 Sd3SKd3…Kd3 R d3 RuRu Case #1: Remove redundant join Hu3 Kd3 Sd3SHu3 Sd3 I1: Sd3 SKd3 I2: {Kd3,SKd3} {Hu3,SHu3} I1 I3: Kd3 key of R d3 Kd3 I3 I2 Hu3SHu3 Su
A. Τσώης 2/ Su Group By & Aggregate A=F(Ag)Su Sd2 Generalized Pre-Grouping (2) Join …Hu1SHu1Hu2SHu2Hu3SHu3 Sd2SKd2…Kd2 R d2 RuRu Case #2: Delay a join Hu2 Kd2 Sd2SHu2 Sd2 I6: Sd2 SKd2 I4: {Kd2,SKd2} {Hu2,SHu2} I6 I5: Kd2 key of R d2 Kd2 I5 SHu2 I4 Hu2SHu2 Su Sd2SHu2 Join SuA Group By & Aggregate Sd2SKd2 Sd3SKd2 Sd2
A. Τσώης 2/ Generalized Pre-Grouping (3) Join Group By & Aggregate SuSd1 Su …Hu1SHu1Hu2SHu2Hu3SHu3SuSd1SKd1…Kd1 RuRu R d1 Case #3: Split aggregation into two stages SKd1 Group By & Aggregate Sd1SKd1 A=F(Ag)A=F(Ag O (x)) Group By & Aggregate x=F(Ag)SuSHu1 Su I8: {Kd1,SKd1} {Hu1,SHu1} I7: Ag(z)=Ag o (Ag(z)) Kd1 I9: Kd1 key of R d1 SKd1 Sd1
A. Τσώης 2/ Surrogate-Join transformation Join AB Group By & Aggregate SK B SHASKBPKHSHAOABH AOSKBPK R1R1 R2R2 R1R1 R2R2 K
A. Τσώης 2/ Surrogate-Join example Join PageIDPageHitsServerIDServerHits Page_Server_Hits PageIDServerIDHourHourPageHitsPageIDHourPageHits/ServerHitsHour Page_Hour_Hits Group By & Aggregate ServerID ServerHits SELECT h.PageID, h.Hour, h.HourPageHits/s.ServerHits FROM (SELECT DISTINCT ServerID, ServerHits FROM Page_Server_Hits) s, Page_Hour_Hits h WHERE s.ServerID=h.ServerID SELECT h.PageID, h.Hour, h.HourPageHits/s.ServerHits FROM Page_Server_Hits s, Page_Hour_Hits h WHERE s.PageID=h.PageID
A. Τσώης 2/ G. Pre-Grouping Join Group By & Aggregate Sd3 A=F(Ag)SuSd1Sd2 Sd1Sd2Su Join …Hu1SHu1Hu2SHu2Hu3SHu3Su Sd1SKd1…Kd1 Sd2SKd2…Kd2 Sd3SKd3… R d3 Kd3 R d2 R d1 RuRu
A. Τσώης 2/ G. Pre-Grouping Join Group By & Aggregate SHu3 x=F(Ag)SuSHu1SHu2SHu3 SHu1SHu2Su SKd1 Group By & Aggregate Sd1SKd1 SKd2 Group By & Aggregate Sd2SKd2 Group By & Aggregate SHu3 A=F(Ag O (x))SuSd1SHu2SHu3 Sd1SHu2Su A Sd1Sd2 SKd2…Kd2 …Hu1SHu1Hu2SHu2Hu3SHu3Su Sd1SKd1…Kd1 RuRu R d1 R d2
A. Τσώης 2/ The conditions Sd1SKd1… Rd1: I1 Kd1 Sd2SKd2… Rd2: Kd2 Sd3SKd3… Rd3: … Ru: Kd3 Ag(X)=Ag O (Ag(X)) Hu1SHu1Hu2SHu2Hu3SHu3Su I6I2&3 I4&5 I8&9 I7 Functional Dependency Inclusion Dependency BOLD = not NULL Underline = Key