Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων

Σχετικά έγγραφα
Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων. Σεμινάριο 7: Αλγόριθμοι για επεξεργασία ερωτήσεων και βελτιστοποίηση

Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων. Σεμινάριο 7: Αλγόριθμοι για επεξεργασία ερωτήσεων και βελτιστοποίηση

Βάσεις Δεδομένων 2. Φροντιστήριο Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Επερωτήσεων. Ημερ: 27/5/2008 Ακ.Έτος

Εισαγωγή στην Επεξεργασία Ερωτήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Εισαγωγή στην Επεξεργασία Ερωτήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων. Σεμινάριο 6: Δομές ευρετηρίων για αρχεία

Επεξεργασία Ερωτήσεων

Επεξεργασία Ερωτήσεων

Επεξεργασία Ερωτήσεων

Εισαγωγή στην. Εισαγωγή Σ Β. Αρχεία ευρετηρίου Κατάλογος. συστήματος. Αρχεία δεδομένων

Επεξεργασία Ερωτήσεων

Το εσωτερικό ενός Σ Β

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση, Δίαυλος Διαφάνεια 15-1

Βελτιστοποίηση επερωτημάτων

Επεξεργασία Ερωτήσεων

Εισαγωγή στην Επεξεργασία Ερωτήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Εισαγωγή. Γενική Εικόνα του Μαθήµατος. Το εσωτερικό ενός Σ Β. Εισαγωγή. Εισαγωγή Σ Β Σ Β. Αρχεία ευρετηρίου Κατάλογος συστήµατος Αρχεία δεδοµένων

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση Διαφάνεια 16-1

Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων. Σεμινάριο 4: Σχεσιακός Λογισμός

Υλοποίηση των Σχεσιακών Τελεστών. 6/16/2009 Μ.Χατζόπουλος 1

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Τα δεδομένα (περιεχόμενο) μιας βάσης δεδομένων αποθηκεύεται στο δίσκο

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων. Σεμινάριο 2: Εισαγωγή στις Βάσεις Δεδομένων

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Οι πράξεις της συνένωσης. Μ.Χατζόπουλος 1

Κεφάλαιο 14. Δομές Ευρετηρίων για Αρχεία. Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Ελληνική Έκδοση,

Επεξεργασία Ερωτήσεων: Επανάληψη και Ασκήσεις

Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων. Σεμινάριο 3: Σχεσιακή Άλγεβρα

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Τα δεδοµένα συνήθως αποθηκεύονται σε αρχεία στο δίσκο Για να επεξεργαστούµε τα δεδοµένα θα πρέπει αυτά να βρίσκονται στη

Πληροφορική 2. Δομές δεδομένων και αρχείων

Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση, Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-1

Κατακερµατισµός. Οργάνωση Αρχείων (σύνοψη) Οργάνωση αρχείων: πως είναι τοποθετημένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο

Οργάνωση αρχείων: πως είναι τοποθετηµένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο

Επεξεργασία ερωτημάτων

Δεντρικά Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Δεντρικά Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Κεφάλαιο 14. οµές Ευρετηρίων για Αρχεία. ιαφάνεια 14-1

Δεντρικά Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Δεντρικά Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΛΥΣΗ ΣΤΗΝ ΕΥΤΕΡΗ ΑΣΚΗΣΗ

Ευρετήρια. Ευρετήρια. Βάσεις Δεδομένων : Ευρετήρια 1

ΛΥΣΗ ΤΗΣ ΔΕΥΤΕΡΗΣ ΑΣΚΗΣΗΣ Όλγα Γκουντούνα

Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων. Σεμινάριο 6: Δομές ευρετηρίων για αρχεία

Ευρετήρια. Ευρετήρια. Βάσεις Δεδομένων : Ευρετήρια 1

Σχεσιακή Άλγεβρα. Παύλος Εφραιμίδης. Βάσεις Δεδομένων Σχεσιακή Άλγεβρα 1

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΑΣΚΗΣΗ ΔΕΥΤΕΡΗ

BΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΕΞΕΤΑΣΗ ΦΕΒΡΟΥΑΡΙΟΥ 2005

Εξωτερική Αναζήτηση. Ιεραρχία Μνήμης Υπολογιστή. Εξωτερική Μνήμη. Εσωτερική Μνήμη. Κρυφή Μνήμη (Cache) Καταχωρητές (Registers) μεγαλύτερη ταχύτητα

#5. Σχεσιακό Μοντέλο

Κεφ.11: Ευρετήρια και Κατακερματισμός

ΗΥ-460 Συστήµατα ιαχείρισης Βάσεων εδοµένων ηµήτρης Πλεξουσάκης Βασίλης Χριστοφίδης

Βάσεις δεδομένων. (4 ο μάθημα) Ηρακλής Βαρλάμης

Σχεσιακή Άλγεβρα. Συνολοθεωρητικές Πράξεις. Εκφράσεις. Ειδικές Πράξεις. Θεμελίωση της Σχεσιακού Μοντέλου Δεδομένων. Σχεσιακός Λογισμός

Πανεπιστήμιο Πειραιώς, Τμήμα Πληροφορικής

Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων. Σεμινάριο 5: SQL

Ο βελτιστοποιητής ερωτημάτων (query optimizer) Μετασχηματισμός εκφράσεων σχεσιακής άλγεβρας Υπολογισμός μεγεθών πράξεων σχεσιακής άλγεβρας

Άσκηση 1 (15 μονάδες) (Επεκτατός Κατακερματισμός)

Εαρινό Εξάμηνο

Περιεχόμενα. 2 Αριθμητικά συστήματα

ΗΥ460 Συστήµατα Διαχείρισης Βάσεων Δεδοµένων Χειµερινό Εξάµηνο 2016 Διδάσκοντες: Βασίλης Χριστοφίδης

Ευρετήρια. Πρωτεύον ευρετήριο (primary index): ορισμένο στο κλειδί διάταξης του αρχείου. Ευρετήρια. Ευρετήρια. Ευρετήρια

Ευρετήρια. Πρωτεύον ευρετήριο (primary index): ορισμένο στο κλειδί διάταξης του αρχείου. Ευρετήρια. Ευρετήρια. Ευρετήρια

επιφάνεια πυριτίου Αναφορά στο Εκπαιδευτικό Υλικό : 5. Αναφορά στο Εργαστήριο :

Σχεσιακή Άλγεβρα και Σχεσιακός Λογισμός. Σχεσιακή Άλγεβρα Σχεσιακός Λογισμός

Βάσεις Δεδομένων Ευαγγελία Πιτουρά 2. Εννοιολογικός Σχεδιασμός Βάσεων εδομένων (με χρήση του Μοντέλου Οντοτήτων/Συσχετίσεων)

Δυναμικά Πολυεπίπεδα Ευρετήρια (Β-δένδρα) Μ.Χατζόπουλος 1

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα ΕΥΦΥΗΣ ΕΛΕΓΧΟΣ. Ενότητα #7: Σύστημα Ασαφούς Λογικής Μαθηματικές Εκφράσεις

Σχεδιασμός μιας εφαρμογής ΒΔ: Βήματα. 1. Συλλογή και Ανάλυση Απαιτήσεων(requirement analysis)

Δομές Δεδομένων και Αλγόριθμοι. Λουκάς Γεωργιάδης

Οργάνωση Αρχείων. Βάσεις Δεδομένων : Οργάνωση Αρχείων 1. Blobs

Ευρετήρια. Βάσεις Δεδομένων : Ευρετήρια 1. Πρωτεύον ευρετήριο (primary index): ορισμένο στο κλειδί διάταξης του αρχείου. Ευρετήρια.

Βάσεις Δεδομένων : Σχεσιακό Μοντέλο 1. Ένας απλός τρόπος αναπαράστασης δεδομένων: ένας διδιάστατος πίνακας που λέγεται σχέση.

Kεφ.2: Σχεσιακό Μοντέλο (επανάληψη) Κεφ.6.1: Σχεσιακή Άλγεβρα

Κατακερματισμός. 4/3/2009 Μ.Χατζόπουλος 1

SQL: Αιτήματα. Κεφάλαιο 5. Database Management Systems, R. Ramakrishnan and J. Gehrke

ΘΕΜΑΤΑ. Θέμα 1 ο Σύμφωνα με τους παραπάνω πίνακες και τη θέση που έχουν τα ξένα κλειδιά βρείτε τους

Ένας απλός τρόπος αναπαράστασης δεδομένων: ένας διδιάστατος πίνακας που λέγεται σχέση Γνωρίσματα

Φροντιστήριο Αποθήκευση σε δίσκο, βασικές οργανώσεις αρχείων κατακερματισμός και δομές ευρετηρίων για αρχεία

Τελεστής Προβολής - Παράδειγμα. Π Πόλη, Εξάμηνο (Φοιτητές)

Μεταγλωττιστές. Γιώργος Δημητρίου. Μάθημα 1 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών

Σχεσιακό Μοντέλο Περιορισμοί Μετατροπή ER σε Σχεσιακό Παράδειγμα.. Εργαστήριο Βάσεων Δεδομένων. Relational Model

Δένδρα Αναζήτησης Πολλαπλής Διακλάδωσης

Σχεσιακό Μοντέλο Δεδομένων

µπιτ Λύση: Κάθε οµάδα των τεσσάρων µπιτ µεταφράζεται σε ένα δεκαεξαδικό ψηφίο 1100 C 1110 E Άρα το δεκαεξαδικό ισοδύναµο είναι CE2

Ένας απλός τρόπος αναπαράστασης δεδομένων: ένας διδιάστατος πίνακας που λέγεται σχέση Γνωρίσματα

Συστήματα Αυτομάτου Ελέγχου Ι

Πελάτες φθάνουν στο ταμείο μιας τράπεζας Eνα μόνο ταμείο είναι ανοικτό Κάθε πελάτης παρουσιάζεται με ένα νούμερο - αριθμός προτεραιότητας Όσο ο

Περιεχόμενα. Περιεχόμενα

Οργάνωση Αρχείων. Βάσεις Δεδομένων : Οργάνωση Αρχείων 1. Blobs

Μεταγλωττιστές. Γιώργος Δημητρίου. Μάθημα 9 ο

Βελτιστοποίηση ερωτημάτων Βάσεις Δεδομένων Διδάσκων: Μαρία Χαλκίδη

Βάσεις Δεδομένων Προχωρημένα Ερωτήματα SQL

Γραφικά με υπολογιστές. Διδάσκων: Φοίβος Μυλωνάς. Διαλέξεις #11-#12

Διάλεξη 18: B-Δένδρα

Διάλεξη 14: Δέντρα IV B Δένδρα. Διδάσκων: Παναγιώτης Ανδρέου

Τμήμα Πληροφορικής ΑΠΘ

Άσκηση 1 (ανακοινώθηκε στις 20 Μαρτίου 2017, προθεσμία παράδοσης: 24 Απριλίου 2017, 12 τα μεσάνυχτα).

Transcript:

Οργάνωση Βάσεων Βιοϊατρικών Δεδομένων Εξόρυξη Γνώσης Βιοϊατρικών Δεδομένων Σεμινάριο 7, μέρος 2 ο : Αλγόριθμοι για επεξεργασία ερωτήσεων και βελτιστοποίηση Ευάγγελος Καρκαλέτσης, Αναστασία Κριθαρά, Γεώργιος Πετάσης Εργαστήριο Τεχνολογίας Γνώσεων & Λογισμικού, Ινστιτούτο Πληροφορικής & Τηλεπικοινωνιών, Ε.Κ.Ε.Φ.Ε. Δημόκριτος Τηλ.: 210-6503197, Fax: 210-6532175, {vangelis, akrithara, petasis}@iit.demokritos.gr Ακαδημαϊκό Έτος: 2015 2016

13:22 Σεμινάριο 5, Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Ερωτήσεων < 1 > Οι διαφάνειες αυτού του σεμιναρίου βασίζονται σε διαφάνειες των: Δ. Γουνόπουλος, Ι. Ιωαννίδης http://eclass.uoa.gr/modules/document/document.php?course=d463&opendir=/4c2b32a5i4iq

ΚΕΦΑΛΑΙΟ 19* Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Ερωτήσεων Copyright 2011 Ramez Elmasri and Shamkant B. Navathe, Ελληνική Έκδοση Δίαυλος Σεμινάριο 5, Αλγόριθμοι Επεξεργασίας και Βελτιστοποίησης Ερωτήσεων

Θα μιλήσουμε για Συνδυασμός Πράξεων με χρήση σωλήνωσης Χρήση ευριστικών μεθόδων στη βελτιστοποίηση ερωτήσεων Χρήση επιλεξιμότητας και εκτιμήσεων κόστους στη βελτιστοποίηση ερωτήσεων Σημασιολογική βελτιστοποίηση ερωτήσεων 13:22 3

Συνδυασμός πράξεων χρησιμοποιώντας σωλήνωση (1) Μία ερώτηση μεταφράζεται σε μια ακολουθία από σχεσιακές πράξεις. Η εκτέλεση μία προς μία των πράξεων, δημιουργεί τόσα προσωρινά αρχεία όσες και οι πράξεις. Η δημιουργία και αποθήκευση μεγάλων προσωρινών αρχείων στο δίσκο είναι χρονοβόρα και ακριβή. Εναλλακτική προσέγγιση: Ελάττωση του πλήθους των προσωρινών αρχείων Οι πλειάδες του αποτελέσματος μιας προηγούμενης πράξης προωθούνται ως είσοδος στην επόμενη πράξη σε μια ροή (ή σωλήνωση) αμέσως μόλις παράγονται. 13:22 4

Συνδυασμός πράξεων χρησιμοποιώντας σωλήνωση (2) Παράδειγμα: Αντί να υλοποιηθεί ξεχωριστά μία συνένωση, μπορεί να συνδυαστεί με δύο πράξεις επιλογής στα αρχεία εισόδου και μία τελική πράξη προβολής στο αρχείο του αποτελέσματος. Δυναμική δημιουργία του κώδικα για υλοποίηση πολλαπλών πράξεων. Οι πλειάδες του αποτελέσματος κάθε επιλογής προωθούνται ως είσοδος στον αλγόριθμο συνένωσης. Σωληνωτή εκτέλεση ή επεξεργασία βασισμένη στη ροή 13:22 5

ερωτήσεων (1) Τεχνική βελτιστοποίησης με χρήση ευριστικών κανόνων 1. Σε μια ερώτηση υψηλού επιπέδου ο συντακτικός αναλυτής δημιουργεί μια αρχική εσωτερική αναπαράσταση 2. Βελτιστοποίηση της αναπαράστασης σύμφωνα με ευριστικούς κανόνες 3. Δημιουργείται ένα σχέδιο εκτέλεσης ομάδων πράξεων, με βάση τις διαθέσιμες διαδρομές προσπέλασης στα αρχεία. Ένας από τους κύριους ευριστικούς κανόνες είναι να εκτελούνται οι πράξεις που ελαττώνουν το μέγεθος των προσωρινών αρχείων. Παράδειγμα: εκτέλεση των πράξεων ΕΠΙΛΟΓΗ και ΠΡΟΒΟΛΗ πριν από την εκτέλεση των πράξεων συνένωσης και των άλλων δυαδικών πράξεων. 13:22 6

ερωτήσεων (2) Δέντρο ερώτησης: Μία δενδρική δομή που αντιστοιχεί σε μια έκφραση της σχεσιακής άλγεβρας. Οι σχέσεις εισόδου αναπαρίστανται ως κόμβοι φύλλα του δένδρου Οι πράξεις σχεσιακής άλγεβρας ως εσωτερικοί κόμβοι. Μια εκτέλεση του δένδρου ερώτησης συνίσταται στην εκτέλεση των πράξεων κάθε εσωτερικού κόμβου, όταν οι σχέσεις εισόδου είναι διαθέσιμες και στη συνέχεια αντικατάσταση του εσωτερικού κόμβου από τη σχέση η οποίαπροκύπτει από την εκτέλεση της πράξης. 13:22 7

ερωτήσεων (3) Γράφος ερώτησης: Μία γραφική δομή που αντιστοιχεί σε μια έκφραση του σχεσιακού λογισμού. Οι σχέσεις στην ερώτηση αναπαρίστανται από κόμβους σχέσεων (απλοί κύκλοι). Οι σταθερές τιμές αναπαρίστανται με σταθερούς κόμβους (διπλοί κύκλοι). Οι πράξεις αναπαρίστανται με πλευρές του γράφου. Δεν δείχνει την σειρά εκτέλεσης των πράξεων. Υπάρχει μόνο ένας γράφος που αντιστοιχεί σε κάθε ερώτηση. 13:22 8

ερωτήσεων (4) Παράδειγμα: Για κάθε έργο στην τοποθεσία Stafford, να ανακτηθεί ο κωδικός έργου, ο κωδικός του τμήματος που το ελέγχει και το επίθετο, η διεύθυνση και η ημερομηνία γέννησης του διευθυντή του τμήματος. Σχεσιακή άλγεβρα: ππ ΚΩΔΕΡΓΟΥ,ΚΩΔ ΤΜΗΜ,ΕΠΙΘΕΤΟ,ΔΙΕΥΘΥΝΣΗ,ΗΜΕΡ ΓΕΝ (((σσ ΤΟΠ_ΕΡΓΟΥ= Stanford ΕΡΓΟ ) ΚΤΜΗΜΑ =ΚΩΔ ΤΜΗΜ (ΤΜΗΜΑ)) ΔΙΕΥΘΥΝΤΗΣ=ΑΡΤΑΥΤ ΕΡΓΑΖΟΜΕΝΟΣ)) Ερώτηση SQL : SELECT Ρ.ΚΩΔ_ΕΡΓΟΥ, Ρ.Κ_ΤΜΗΜΑ,Ε.ΕΠΙΘΕΤΟ, Ε.ΔΙΕΥΘΥΝΣΗ,Ε.ΗΜ_ΓΕΝ FROM ΕΡΓΟ AS Ρ, ΤΜΗΜΑ AS T, ΕΡΓΑΖΟΜΕΝΟΣ AS E WHERE R.K_TMHMA=T.KVD_TMHM AND T.ΔΙΕΥΘΥΝΤΗΣ=Ε.ΑΡ_ΤΑΥΤ AND P.ΤΟΠ_ΕΡΓΟΥ= STAFFORD ; 13:22 9

ερωτήσεων (5) 13:22 10

ερωτήσεων (6) 13:22 11

ερωτήσεων (7) 13:22 12

ερωτήσεων (8) Ευριστική βελτιστοποίηση δένδρων ερωτήσεων: Πολλές διαφορετικές εκφράσεις της σχεσιακής άλγεβρας και επομένως πολλά διαφορετικά δέντρα ερωτήσεων μπορούν είναι ισοδύναμες. Ο ευριστικός βελτιστοποιητής μετασχηματίζει το αρχικό δέντρο ερώτησης σε ένα τελικό δένδρο ερώτησης, το οποίο μπορεί να εκτελεστεί με αποδοτικό τρόπο. Παράδειγμα: Ε: SELECT ΕΠΙΘΕΤΟ FROM ΕΡΓΑΖΟΜΕΝΟΣ, ΑΠΑΣΧΟΛΗΣΗ, ΕΡΓΟ WHERE Ε_ΟΝΟΜΑ= AQUARIUS AND ΚΩΔ_ΕΡΓΟΥ=Κ_ΕΡΓΟ AND Ε_ΑΡΤΑΥΤ=ΑΡ_ΤΑΥΤ AND ΗΜ_ΓΕΝ > 1957-12-31 ; 13:22 13

ερωτήσεων (9) 13:22 14

ερωτήσεων (10) 13:22 15

ερωτήσεων (11) 13:22 16

ερωτήσεων (12) 13:22 17

ερωτήσεων (13) 13:22 18

ερωτήσεων (14) Γενικοί κανόνες μετασχηματισμού για πράξεις της σχεσιακής άλγεβρας: 1. Διάδοση (cascade) της επιλογής (σ): μία συζευκτική συνθήκη επιλογής μπορεί να διασπαστεί σε μια διαδοχή (ακολουθία) πράξεων επιλογής: σσ cc1 AAAAAA cc 2 AAAAAA AAAAAA ccnn (RR) σσ cc 1 (σσ cc2 ( (σσ ccnn (R)) )) 2. Αντιμεταθετικότητα της σ: η επιλογή είναι αντιμεταθετική πράξη σσ cc1 (σσ cc2 (R)) σσ cc2 (σσ cc1 (R)) 3. Διάδοση της προβολής (π): σε μια διαδοχή (ακολουθία) από πράξεις προβολής, μπορούν να αγνοηθούν όλες εκτός από την τελευταία: ππ λλλλλλλλλλ1 (ππ λλλλλλλλλλ2 ( (ππ λλλλλλλλλλνν R) ) ππ λλλλλλλλλλ1 R 4. Αντιμετάθεση της σ με την π: αν η συνθήκη επιλoγής c περιλαμβάνει μόνο τα γνωρίσματα Α 1, Α 2,, Α nn της λίστας προβολής, οι δύο πράξεις μπορούν να αντιμετατεθούν: ππ Α1, Α nn (σσ cc(r)) σσ cc (ππ Α1, Α nn (R)) 13:22 19

ερωτήσεων (15) Γενικοί κανόνες μετασχηματισμού για πράξεις της σχεσιακής άλγεβρας (συνέχεια): 5. Αντιμεταθετικότητα της (και της ): η πράξη είναι αντιμεταθετική, όπως και η πράξη : RR cc SS SS cc RR; RR SS SS RR 6. Αντιμεταθετικότητα της σ με την (ή την ): αν το σύνολο των γνωρισμάτων της συνθήκης επιλογής c περιλαμβάνει μόνο γνωρίσματα μιας από τις σχέσεις συνένωσης έστω της R οι δύο πράξεις μπορούν να αντιμεταθούν ως ακολούθως: σσ c (R SS) (σσ cc (R)) SS Εναλλακτικά, αν η συνθήκη επιλογής c μπορεί να γραφεί ως (cc 1 aaaaaa cc 2 ), όπου η συνθήκη cc 1 περιλαμβάνει μόνο γνωρίσματα της R και η συνθήκη cc 2 μόνο γνωρίσματα της S, οι πράξεις αντιμετατίθενται ως ακολούθως: σσ c (R SS) (σσ cc1 (R)) (σσ cc2 (S)) 20

ερωτήσεων (16) Γενικοί κανόνες μετασχηματισμού για πράξεις της σχεσιακής άλγεβρας (συνέχεια): 7. Αντιμεταθετικότητα των π και (ή ): ας υποθέσουμε ότι η λίστα προβολής είναι L = {Α 1,, Α nn, B 1,, B mm }, όπου τα Α 1,, Α nn είναι γνωρίσματα της σχέσης R και B 1,, B mm της σχέσης S. Αν η συνθήκη συνένωσης c περιλαμβάνει μόνο γνωρίσματα που ανήκουν στην L, οι δύο πράξεις μπορούν να αντιμετατεθούν ως ακολούθως: ππ L (R cc SS) (ππ Α1,,Α nn (R)) cc (ππ BB1,,BB mm (S)) Αν η συνθήκη συνένωσης c περιλαμβάνει επιπλέον γνωρίσματα που δεν βρίσκονται στην L, αυτά πρέπει να προστεθούν στη λίστα προβολής και απαιτείται μια τελική πράξη προβολής. 21

ερωτήσεων (17) Γενικοί κανόνες μετασχηματισμού για πράξεις της σχεσιακής άλγεβρας (συνέχεια): 8. Αντιμεταθετικότητα των συνολοθεωρητικών πράξεων: οι συνολοθεωρητικές πράξεις και είναι αντιμεταθετικές, όχι όμως και η διαφορά ( ). 9. Προσεταιριστικότητα των,, και : Κάθε μία από αυτές τις πράξεις είναι προσεταιριστική. Δηλαδή, αν το θθ παριστάνει μία από τις τέσσερις αυτές τις πράξεις, τότε έχουμε: (RR θθ SS) θθ TT RR θθ (SS θθ TT) 10. Επιμερισμός της επιλογής (σ) με τις συνολοθεωρητικές πράξεις: η πράξη σ είναι επιμεριστική ως προς τις, και. Αν το θθ παριστάνει μια από αυτές τις πράξεις, τότε έχουμε: σσ cc (RR θθ SS) (σσ cc (RR)) θθ (σσ cc (SS)) 22

ερωτήσεων (18) Γενικοί κανόνες μετασχηματισμού για πράξεις της σχεσιακής άλγεβρας (συνέχεια): 11. Η πράξη της προβολής είναι επιμεριστική ως προς την ένωση : ππ LL (RR SS) (ππ LL (RR)) (ππ LL (SS)) 12. Μετατροπή μιας (σ, ) ακολουθίας σε : Αν η συνθήκη c μιας επιλογής σ που ακολουθείται από ένα αντιστοιχεί σε μια συνθήκη συνένωσης, η ακολουθία (σ, ) μετατρέπεται σε όπως: ((σ c (R S) (R c S) Άλλοι πιθανοί μετασχηματισμοί 23

ερωτήσεων (19) Περιγραφή ενός ευριστικού αλγεβρικού αλγορίθμου βελτιστοποίησης: 1. Χρησιμοποιώντας τον κανόνα 1, διασπώνται οι πράξεις επιλογής με συζευκτικές συνθήκες σε ακολουθίες πράξεων επιλογής. 2. Χρησιμοποιώντας τους κανόνες 2, 4, 6, και 10 που αφορούν τη αντιμεταθετικότητα της επιλογής με άλλες πράξεις, μετατοπίζεται κάθε πράξη επιλογής όσο πιο κάτω επιτρέπεται από τα γνωρίσματα που περιλαμβάνονται στη συνθήκη επιλογής. 3. Χρησιμοποιώντας τους κανόνες 5 και 9 που αφορούν την αντιμεταθετικότητα και την προσεταιριστικότητα των δυαδικών πράξεων, επαναδιευθετούνται οι κόμβοι-φύλλα έτσι που να εκτελούνται πρώτα οι κόμβοι-φύλλα με τις σχέσεις που έχουν τις πιο περιοριστικές πράξεις επιλογής. 24

ερωτήσεων (20) Περιγραφή ενός ευριστικού αλγεβρικού αλγορίθμου βελτιστοποίησης (συνέχεια): 4. Χρησιμοποιώντας τον κανόνα 12, συνδυασμός μιας πράξης Καρτεσιανού γινομένου με μια πράξη επιλογής που ακολουθεί σε μια συνένωση, αν η συνθήκη αναπαριστά μια συνθήκη συνένωσης. 5. Χρησιμοποιώντας τους κανόνες 3, 4, 7, και 11 που αφορούν τη διάδοση της προβολής και την επιμεριστικότητα της προβολής με άλλες πράξεις, οι λίστες γνωρισμάτων προβολής διασπώνται και μετατοπίζονται όσο το δυνατόν πιο κάτω στο δένδρο ερώτησης. Όπου είναι απαραίτητο, δημιουργούνται νέοι κόμβοι πράξεων προβολής. 6. Εντοπισμός υποδέντρων που αναπαριστούν ομάδες πράξεων οι οποίες μπορούν να εκτελεσθούν από ένα μόνον αλγόριθμο. 25

ερωτήσεων (21) Περίληψη της ευριστικής αλγεβρικής βελτιστοποίησης: 1. Η κύρια ευριστική μέθοδος είναι να εφαρμόζονται πρώτα οι πράξεις που ελαττώνουν το μέγεθος των ενδιάμεσων αποτελεσμάτων. 2. Εκτέλεση των πράξεων της επιλογής όσο το δυνατόν πιο γρήγορα, έτσι ώστε να ελαττωθεί το πλήθος των πλειάδων και η εκτέλεση των προβολών όσο το δυνατόν πιο γρήγορα, προκειμένου να ελαττωθεί το πλήθος των γνωρισμάτων. (Αυτό επιτυγχάνεται μετατοπίζοντας τις πράξεις επιλογής και προβολής όσο το δυνατόν πιο χαμηλά στο δένδρο.) 3. Οι πιο περιοριστικές πράξεις επιλογής και συνένωσης πρέπει να εκτελούνται πριν από άλλες παρόμοιες πράξεις. (Αυτό επιτυγχάνεται αναδιατάσσοντας μεταξύ τους κόμβους-φύλλα του δένδρου αποφεύγοντας Καρτεσιανά γινόμενα και προσαρμόζοντας κατάλληλα το υπόλοιπο δέντρο.) 26

ερωτήσεων (22) Σχέδια εκτέλεσης ερωτήσεων Ένα σχέδιο εκτέλεσης για μια έκφραση της σχεσιακής άλγεβρας που παριστάνεται σαν δένδρο ερωτήσεων περιλαμβάνει πληροφορίες για τις διαθέσιμες μεθόδους προσπέλασης για κάθε σχέση καθώς και για τους αλγορίθμους που μπορούν να χρησιμοποιηθούν για την υπολογισμό των σχεσιακών τελεστών που παριστάνονται στο δένδρο. Υλοποιημένο υπολογισμό: το αποτέλεσμα μιας πράξης αποθηκεύεται σε μια προσωρινή σχέση. Σωληνωτό υπολογισμό: καθώς παράγονται οι πλειάδες του αποτελέσματος μιας πράξης, στέλνονται άμεσα στην επόμενη πράξη της ακολουθίας της ερώτησης. 27

Χρήση της επιλεξιμότητας και της εκτίμησης κόστους στη βελτιστοποίηση ερωτήσεων (1) Βελτιστοποίηση ερωτήσεων που βασίζεται στο κόστος: Εκτίμηση και σύγκριση του κόστους εκτέλεσης μιας ερώτησης χρησιμοποιώντας διαφορετικές στρατηγικές εκτέλεσης, και επιλογή της στρατηγικής με το μικρότερο εκτιμώμενο κόστος. Ζητήματα Συνάρτηση κόστους Πλήθος των στρατηγικών εκτέλεσης που θα εξεταστούν 28

Χρήση της επιλεξιμότητας και της εκτίμησης κόστους στη βελτιστοποίηση ερωτήσεων (2) Παράγοντες κόστους εκτέλεσης ερωτήσεων 1. Κόστος προσπέλασης στη δευτερεύουσα μνήμη 2. Κόστος αποθήκευσης 3. Υπολογιστικό κόστος 4. Κόστος χρήσης της μνήμης 5. Επικοινωνιακό κόστος Σημείωση: Διαφορετικά συστήματα βάσεων δεδομένων δίνεται διαφορετική έμφαση στους διαφορετικούς παράγοντες κόστους. 29

Χρήση της επιλεξιμότητας και της εκτίμησης κόστους στη βελτιστοποίηση ερωτήσεων (3) Πληροφορίες καταλόγου που χρησιμοποιούνται στις συναρτήσεις κόστους: Πληροφορίες για το μέγεθος κάθε αρχείου Το πλήθος εγγραφών (πλειάδες) (r), Το (μέσο) μέγεθος εγγραφής (R), Το πλήθος των μπλοκ (b), Ο παράγων σχηματισμού μπλοκ (blocking factor) (bfr) Πληροφορίες για τα ευρετήρια και τα ευρετηριασμένα γνωρίσματα κάθε αρχείου Το πλήθος των επιπέδων (x) κάθε πολυεπίπεδου ευρετηρίου Το πλήθος μπλοκ του πρώτου επιπέδου ευρετηρίου (bb III ) Το πλήθος των διακριτών τιμών (d) ενός γνωρίσματος Η επιλεξιμότητα (sl) ενός γνωρίσματος Πληθάριθμος επιλογής ενός γνωρίσματος (ss = ssss rr) 30

Χρήση της επιλεξιμότητας και της εκτίμησης κόστους στη βελτιστοποίηση ερωτήσεων (4) Παράδειγμα: Έστω ένα γνώρισμα κλειδί: των διακριτών τιμών (d) ενός γνωρίσματος; Η επιλεξιμότητας (sl) ενός γνωρίσματος; Πληθάριθμος επιλογής ενός γνωρίσματος (ss = ssss rr); dd = rr ssss = 1/rr ss = 1 31

Χρήση της επιλεξιμότητας και της εκτίμησης κόστους στη βελτιστοποίηση ερωτήσεων (5) Παραδείγματα συναρτήσεων κόστους για την πράξη της επιλογής (Κόστος μεθόδου Εii: C EEii μεταφορές μπλοκ) Ε1. Μέθοδος σειριακής αναζήτησης C EE1aa = bb Για συνθήκη ισότητας σε ένα κλειδί C EEEββ = bb 2 εγγραφή, αλλιώς C EEEββ = bb Ε2. Δυαδική αναζήτηση αν υπάρχει CC EEE = log 2 bb + ( ss bbbbbb ) 1 Για συνθήκη ισότητας σε ένα κλειδί CC EEE = log 2 bb, αφού s = 1 32

Χρήση της επιλεξιμότητας και της εκτίμησης κόστους στη βελτιστοποίηση ερωτήσεων (6) Παραδείγματα συναρτήσεων κόστους για την πράξη της επιλογής (συνέχεια) Ε3α. Χρήση πρωτεύοντος ευρετηρίου για την ανάκτηση μιας εγγραφής C EE3aa = χχ + 1 Ε3β. Χρήση κλειδιού κατακερματισμού για την ανάκτηση μιας εγγραφής CC EE3ββ = 1 33

Χρήση της επιλεξιμότητας και της εκτίμησης κόστους στη βελτιστοποίηση ερωτήσεων (7) Παραδείγματα συναρτήσεων κόστους για την πράξη της επιλογής (συνέχεια) Ε4. Χρήση ευρετηρίου διάταξης για την ανάκτηση πολλαπλών εγγραφών C EE4 = χχ + ( bb 2 ) Ε5. Χρήση ευρετηρίου συστάδων για την ανάκτηση πολλών εγγραφών CC EE5 = xx + ( ss bbbbbb ) Ε6. Χρήση δευτερεύοντος ευρετηρίου (Β + -δέντρου) Για σύγκριση ισότητας: C EE6αα = χχ + ss Για σύγκριση >, >=, < ή <=: C EE6ββ = χχ + bb II1 /2 + rr 2 34

Χρήση της επιλεξιμότητας και της εκτίμησης κόστους στη βελτιστοποίηση ερωτήσεων (8) Παραδείγματα συναρτήσεων κόστους για την πράξη της επιλογής (συνέχεια) Ε7. Συζευκτική επιλογή Χρήση της Ε1 ή μιας από τις μεθόδους Ε2 έως Ε6. Στη τελευταία περίπτωση χρησιμοποιούμε μια συνθήκη για την ανάκτηση των εγγραφών και στη συνέχεια ελέγχουμε αν η εγγραφή που προσκομίσθηκε στη μνήμη, ικανοποιεί τις υπόλοιπες συνθήκες της σύζευξης. Ε8. Συζευκτική επιλογή με χρήση σύνθετου ευρετηρίου Παρομοίως με τις Ε3α, Ε5 και Ε6α, ανάλογα με τον τύπο του ευρετηρίου 35

Χρήση της επιλεξιμότητας και της εκτίμησης κόστους στη βελτιστοποίηση ερωτήσεων (9) Χρειαζόμαστε μια εκτίμηση του μεγέθους του αρχείου που προκύπτει ως αποτέλεσμα της πράξης συνένωσης Παραδείγματα χρήσης των συναρτήσεων κόστους για συνένωση Επιλεξιμότητα συνένωσης (jjjj) jjjj = RR ccss RR SS = RR ccss RR SS Αν δεν υπάρχει συνθήκη συνένωσης c, τότε jjjj = 1; Αν η συνθήκη συνένωσης δεν ικανοποιείται από καμία πλειάδα των σχέσεων, τότε jjjj = 0; Γενικά, 0 jjjj 1; Μέγεθος του αρχείου του αποτελέσματος της συνένωσης RR cc SS = jjjj RR SS 36

Χρήση της επιλεξιμότητας και της εκτίμησης κόστους στη βελτιστοποίηση ερωτήσεων (10) Παραδείγματα χρήσης των συναρτήσεων κόστους για συνένωση (συνέχεια) Σ1. Εμφωλευμένοι βρόχοι Χρήση της σχέσης R για τον εξωτερικό βρόχο: C Σ1 = bb RR + bb RR bb ss + ( jjjj RR SS ) bbbbbb RRRR Σ2. Συνένωση με απλό βρόχο επανάληψης (χρήση μιας δομής προσπέλασης για ανάκτηση των εγγραφών που ικανοποιούν τη συνθήκη) Αν υπάρχει ευρετήριο για το γνώρισμα συνένωσης B της σχέσης S, με χχ Β επίπεδα ευρετηρίου, μπορούμε να ανακτήσουμε κάθε εγγραφή της σχέσης R και στη συνέχεια να χρησιμοποιήσουμε το ευρετήριο για την ανάκτηση των εγγραφών t της σχέσης S που ικανοποιούν τη tt BB = ss AA. Το κόστος εξαρτάται από το είδος του ευρετηρίου. 37

Χρήση της επιλεξιμότητας και της εκτίμησης κόστους στη βελτιστοποίηση ερωτήσεων (11) Παραδείγματα χρήσης των συναρτήσεων κόστους για συνένωση (συνέχεια) Σ2. Συνένωση με απλό βρόχο επανάληψης (συνέχεια) Για ένα δευτερεύον ευρετήριο: jjjj RR SS C Σ2αα = bb RR + RR (xx BB + ss BB ) + ( ) bbbbbb RRRR Για ένα ευρετήριο συστάδων: C Σ2ββ = bb RR + RR (xx BB + ss BB jjjj RR SS ) + ( ) bbbbbb BB bbbbbb RRRR Για ένα πρωτεύον ευρετήριο: jjjj RR SS C Σ2γγ = bb RR + RR (xx BB + 1) + ( ) bbbbbb RRRR Για ένα κλειδί κατακερματισμού σε ένα από τα δύο γνωρίσματα συνένωσης Β ή R jjjj RR SS C Σ2δδ = bb RR + RR h + ( ) bbbbbb RRRR Όπου h 1, ο μέσος αριθμός προσπελάσεων μπλοκ που απαιτούνται για ανάκτηση μιας εγγραφής, όταν δίνεται η τιμή του κλειδιού κατακερματισμού για αυτή την τιμή 38

Χρήση της επιλεξιμότητας και της εκτίμησης κόστους στη βελτιστοποίηση ερωτήσεων (12) Παραδείγματα χρήσης των συναρτήσεων κόστους για συνένωση (συνέχεια) Σ3. Συνένωση ταξινόμησης- συγχώνευσης jjjj RR SS C Σ3αα = CC SS + bb RR + bb SS + ( ) bbbbbb RRRR CC SS : κόστος ταξινόμησης. 39

Χρήση της επιλεξιμότητας και της εκτίμησης κόστους στη βελτιστοποίηση ερωτήσεων (13) Ερωτήσεις πολλαπλών σχέσεων και διάταξη συνενώσεων Μία ερώτηση με συνενώσεις n σχέσεων θα έχει n-1 πράξεις συνένωσης, και επομένως μπορεί να έχει ένα μεγάλο πλήθος από διαφορετικές διατάξεις συνενώσεων, όταν χρησιμοποιούμε αλγεβρικούς μετασχηματισμούς. Οι βελτιστοποιητές ερωτήσεων περιορίζουν τη δομή ενός δένδρου ερωτήσεων στα δένδρα σε βάθος προς τα αριστερά (ή σε βάθος προς τα δεξιά). Βαθύ προς τα αριστερά δένδρο Ένα δυαδικό δένδρο, όπου το δεξί παιδί κάθε μη τερματικού κόμβου είναι πάντα μια βασική σχέση. Προσφέρονται για σωλήνωση Επιτρέπει στον βελτιστοποιητή να χρησιμοποιήσει όλα τα μονοπάτια προσπέλασης στη βασική σχέση (το δεξί παιδί) για την εκτέλεση της συνένωσης. 40

Σημασιολογική βελτιστοποίηση ερωτήσεων Σημασιολογική βελτιστοποίηση ερωτήσεων Χρησιμοποιεί περιορισμούς που ορίζονται στο σχήμα της βάσης δεδομένων, προκειμένου να μετασχηματίσει την ερώτηση σε μία άλλη, η οποία θα εκτελείται πιο αποδοτικά Θεωρήστε την ερώτηση SQL: SELECT Ε.ΕΠΙΘΕΤΟ, M.ΕΠΙΘΕΤΟ FROM ΕΡΓΑΖΟΜΕΝΟΣ AS E, ΕΡΓΑΖΟΜΕΝΟΣ AS Μ WHERE Ε.ΠΡΟΪΣΤΑΜΕΝΟΣ=Μ.ΑΡ_ΤΑΥΤ AND Ε.ΜΙΣΘΟΣ>Μ.ΜΙΣΘΟΣ; Ας υποθέσουμε ότι στο σχήμα της βάσης δεδομένων είχαμε ορίσει τον περιορισμό ότι ένας εργαζόμενος δεν μπορεί να κερδίσει περισσότερα από τον άμεσο προϊστάμενό του. Αν ο σημασιολογικός βελτιστοποιητής ελέγξει για την ύπαρξη αυτού του περιορισμού, δεν χρειάζεται να εκτελέσει αυτή την ερώτηση, διότι γνωρίζει ότι το αποτέλεσμά της είναι το κενό σύνολο. 41

Σύνοψη κεφαλαίου Συνδυασμός Πράξεων με χρήση σωλήνωσης Χρήση ευριστικών μεθόδων στη βελτιστοποίηση ερωτήσεων Χρήση επιλεξιμότητας και εκτιμήσεων κόστους στη βελτιστοποίηση ερωτήσεων Σημασιολογική βελτιστοποίηση ερωτήσεων 42