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

Σχετικά έγγραφα
Επεξεργασία Ερωτήσεων

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

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

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

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

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

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

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

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

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

ΕΠΕΞΕΡΓΑΣΙΑ ΚΑΙ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΕΡΩΤΗΣΕΩΝ

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

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

ΚΑΤΑΝΕΜΗΜΕΝΕΣ ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ

Σχεδιασµός. Κατανεµηµένες Βάσεις εδοµένων Από πάνω προς τα κάτω Κυρίως στο σχεδιασµό συστηµάτων από την αρχή Κυρίως σε οµογενή συστήµατα

ΚΑΤΑΝΕΜΗΜΕΝΕΣ ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ

ΚΑΤΑΝΕΜΗΜΕΝΕΣ ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ

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

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

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

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

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΙI

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

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

Σχεσιακή Άλγεβρα Σχεδιασμός Βάσεων Δεδομένων

Σχεδιασµός Σχεσιακών Σχηµάτων

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

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

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

Βελτιστοποίηση Ερωτημάτων Κεφ. 14

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

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

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

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

Σχεσιακή Άλγεβρα. Σχεσιακή Άλγεβρα

Βάσεις εδοµένων Ευαγγελία Πιτουρά 2

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

Σχεσιακός Λογισµός. Σχεσιακός Λογισµός Πλειάδων. σχεσιακά πλήρης γλώσσα

Ορισµοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL

Σχεσιακή Άλγεβρα. Βάσεις Δεδομένων : Σχεσιακή Άλγεβρα 1

Σχεσιακή Άλγεβρα. Προγράµµατα που απαντούν σε ερωτήσεις για τον παρόν στιγµιότυπο της βάσης δεδοµένων (quering)

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

Σχεσιακή Άλγεβρα. Προγράµµατα που απαντούν σε επερωτήσεις για τον παρόν στιγµιότυπο της βάσης δεδοµένων (querying)

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

ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ Relational Model. SQL Μαθ. #11

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

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

Μετατροπή Σχήµατος Ο/Σ σε Σχεσιακό

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

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

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

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

Σχεσιακή Άλγεβρα. Εισαγωγή. Εισαγωγή. Εισαγωγή. Παράδειγμα. Εισαγωγή. Ταινία Τίτλος Έτος Διάρκεια Είδος. Παίζει Όνομα-Ηθοποιού Τίτλος Έτος.

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


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

Βάσεις Δεδομένων (Databases)

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

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

Σχεσιακή Άλγεβρα. Προγράμματα που απαντούν σε επερωτήσεις για τον τρέχον στιγμιότυπο της βάσης δεδομένων (querying)

Λογικός Σχεδιασµός Σχεσιακών Σχηµάτων: Αποσύνθεση. Βάσεις εδοµένων Ευαγγελία Πιτουρά 1

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

Σχεδιασµός Σχεσιακών Σχηµάτων

Βάσεις Δεδομένων. Σχεσιακό Μοντέλο Δεδομένων. Βασίλειος Βεσκούκης Ορισμός Βάσης Δεδομένων Δομή Περιορισμοί

Βάσεις εδοµένων Ευαγγελία Πιτουρά 2

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

Κανονικοποίηση Σχήµατος. Βάσεις εδοµένων Ευαγγελία Πιτουρά 1

Σχεσιακός Λογισµός. Σχεσιακό Μοντέλο. Έννοιες Τυπικές Γλώσσες Ερωτήσεων Σχεσιακή Άλγεβρα Σχεσιακός Λογισµός Πλειάδων Σχεσιακός Λογισµός Πεδίου

ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ (Relational Model) Μαθ. #10

Ευρετήρια. Το ευρετήριο αρχείου είναι ένα διατεταγµένο αρχείο µε σταθερού µήκους εγγραφές

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

Εισαγωγή. Σχεδιασµός µιας Β

Ηλεκτρονικοί Υπολογιστές II

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

Μετατροπή Σχήµατος Ο/Σ σε Σχεσιακό

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

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

Εισαγωγή. Σχεσιακό Μοντέλο. Τυπικές Γλώσσες Ερωτήσεων Σχεσιακή Άλγεβρα Σχεσιακός Λογισµός Πλειάδων Σχεσιακός Λογισµός Πεδίου

Σχεδιασµός µιας Β. Εισαγωγή. Μετατροπή σε σχεσιακό -> είσοδο σε ένα Σ Β. Εισαγωγή. Ιδέες Ο/Σ Σχέσεις Σχεσιακό Σ Β

Αλγόριθµοι και Πολυπλοκότητα

Διάλεξη 10: Σχεσιακή Άλγεβρα και Σχεσιακός Λογισμός (Relational Algebra/Calculus) ΙI

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

4.2 Μέθοδος Απαλοιφής του Gauss

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

(Μέρος 3:Γλώσσα Ορισµού, Γλώσσα Τροποποίησης, Ενσωµατωµένη SQL) Βάσεις εδοµένων Ευαγγελία Πιτουρά 2

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

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

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

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

Διάλεξη 14: Γλώσσα Επεξεργασίας Δεδομένων/ Data Manipulation Language (SQL DML) II. Διδάσκων: Παναγιώτης Ανδρέου

Γραµµική Άλγεβρα. Εισαγωγικά. Μέθοδος Απαλοιφής του Gauss

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

DISTINCT, LIKE, NULL, AND, OR, BETWEEN

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

Transcript:

Ερώτηση SQL Ερώτηση : Επανάληψη και Ασκήσεις Συντακτική Ανάλυση & Μετάφραση Έκφραση της Σχεσιακής Άλγεβρας Σχέδιο Εκτέλεσης Μηχανή Υπολογισµού Στατιστικά Στοιχεία εδοµένα Αποτέλεσµα Κατανεµηµένες Βάσεις εδοµένων 2002-2003 Ευαγγελία Πιτουρά 1 Κατανεµηµένες Βάσεις εδοµένων 2002-2003 Ευαγγελία Πιτουρά 2 1. Συντακτική Ανάλυση (Parsing) & Μετάφραση Τα βασικά βήµατα στην επεξεργασία µιας ερώτησης είναι 1. Συντακτική Ανάλυση & Μετάφραση 2. Η SQL ερώτηση µεταφράζεται σε µια εσωτερική µορφή αφού γίνει ο απαραίτητος συντακτικός και σηµασιολογικός έλεγχος (π.χ., τα ονόµατα που αναφέρονται είναι ονόµατα σχέσεων που υπάρχουν) Αντικατάσταση των όψεων από τον ορισµό τους Σε ποια εσωτερική µορφή; Έκφραση της σχεσιακής άλγεβρας 3. Υπολογισµός select A 1, A 2,, A n from R 1, R 2,, R m where P π A1, A2,, An (σ P (R 1 x R 2 x x R m )) Κατανεµηµένες Βάσεις εδοµένων 2002-2003 Ευαγγελία Πιτουρά 3 Κατανεµηµένες Βάσεις εδοµένων 2002-2003 Ευαγγελία Πιτουρά 4 Κεντρικοποιηµένο Σ Β : Ερωτήσεων 2. έντρο ερώτησης ή τελεστών Μια SQL ερώτηση µπορεί να µεταφραστεί σε διαφορετικές (ισοδύναµες) εκφράσεις της σχεσιακής άλγεβρας select balance from account where balance < 25000 σ balance < 2500 (π balance (account)) π balance (σ balance < 2500 (account)) Φύλλα: σχέσεις εισόδου Εσωτερικοί κόµβοι: πράξεις της σχεσιακής άλγεβρας Εκτέλεση δέντρου ερώτησης Κατανεµηµένες Βάσεις εδοµένων 2002-2003 Ευαγγελία Πιτουρά 5 Κατανεµηµένες Βάσεις εδοµένων 2002-2003 Ευαγγελία Πιτουρά 6

Κεντρικοποιηµένο Σ Β : Ερωτήσεων Κεντρικοποιηµένο Σ Β : Ερωτήσεων Ευριστικοί Κανόνες 1. ιάσπαση των πράξεων επιλογής µε συζευκτικές συνθήκες σε ακολουθίες πράξεων επιλογής 4. Συνδυασµός µιας πράξης καρτεσιανού γινοµένου µε µια πράξη επιλογής που ακολουθεί 2. Μετατοπίζουµε την πράξη επιλογής όσο πιο κάτω επιτρέπεται από τα γνωρίσµατα που περιλαµβάνονται στη συνθήκη 5. ιάσπαση και µετακίνηση των λιστών προβολής όσο πιο κάτω γίνεται στο δέντρο 3. Επαναδιευθέτηση των φύλλων ώστε να εκτελούνται πρώτα οι σχέσεις που έχουν τις πιο περιοριστικές πράξεις επιλογής 6. Εντοπισµός υποδέντρων µε οµάδες πράξεων που µπορεί να εκτελεστούν µε κοινό αλγόριθµο Κατανεµηµένες Βάσεις εδοµένων 2002-2003 Ευαγγελία Πιτουρά 7 Κατανεµηµένες Βάσεις εδοµένων 2002-2003 Ευαγγελία Πιτουρά 8 βασικές (primitive) πράξεις: πράξη + αλγόριθµος Σχέδιο εκτέλεσης (execution plan): µια ακολουθία από βασικές πράξεις π balance σ balance < 2500, χρησιµοποίησε το ευρετήριο 1 account Τα διαφορετικά σχέδια εκτέλεσης έχουν και διαφορικό κόστος : η διαδικασία επιλογής του σχεδίου εκτέλεσης που έχει το µικρότερο κόστος Εκτίµηση του κόστους (συνήθως χρήση στατιστικών στοιχείων) Κατανεµηµένες Βάσεις εδοµένων 2002-2003 Ευαγγελία Πιτουρά 9 Κατανεµηµένες Βάσεις εδοµένων 2002-2003 Ευαγγελία Πιτουρά 10 σε Κατανεµηµένο Σ Β 3. Εκτέλεση Μηχανή εκτέλεσης που εκτελεί τις βασικές πράξεις Τι θα συζητήσουµε: 1. Μετασχηµατισµός ερωτήσεων που απευθύνονται σε καθολικές σχέσεις σε ερωτήσεις που απευθύνονται σε συγκεκριµένα τµήµατα της κατανεµηµένης βάσης. 2. Μεθόδους που βελτιστοποιούν την αποτίµηση µιας ερώτησης. Κατανεµηµένες Βάσεις εδοµένων 2002-2003 Ευαγγελία Πιτουρά 11 Κατανεµηµένες Βάσεις εδοµένων 2002-2003 Ευαγγελία Πιτουρά 12

1ο Βήµα: Ανάλυση Ερωτήσεων SQL ερώτηση SQL ερώτηση Ολικό Σχήµα Σχήµα Τµηµάτων Στατικά Στοιχεία για τα Τµήµατα Τοπικά Σχήµατα Ανάλυση Μετασχηµατισµός Ολική Τοπική Καθολική Ερώτηση (Ερώτηση σε σχεσιακή άλγεβρα σε κατανεµηµένες (καθολικές) σχέσεις) Ερώτηση Τµηµάτων Βελτιστοποιηµένη Ερώτηση Τµηµάτων µε Τελεστές Επικοινωνίας Βελτιστοποιηµένες Τοπικές Ερωτήσεις Κεντρικοποιηµένα (σε κάποιο «ειδικό» κόµβο Ολικό Σχήµα Ανάλυση Καθολική Ερώτηση (Ερώτηση σε σχεσιακή άλγεβρα σε κατανεµηµένες σχέσεις) 1. Λεξική και συντακτική ανάλυση 2. Παραγωγή του δέντρου ερώτησης (Σηµείωση: τα φύλλα αντιστοιχούν σε καθολικές σχέσεις) 3. Πιθανές βελτιστοποιήσεις Κατανεµηµένες Βάσεις εδοµένων 2002-2003 Ευαγγελία Πιτουρά 13 Κατανεµηµένες Βάσεις εδοµένων 2002-2003 Ευαγγελία Πιτουρά 14 2ο Βήµα: Μετασχηµατισµός Ερώτησης Παράδειγµα (οριζόντια τµηµατοποίηση) Σχήµα Τµηµάτων Καθολική Ερώτηση Μετασχηµατισµός Ερώτησης 1 = σ ΕΝΟ Ε3 () 2 = σ E3 < ΕΝΟ Ε6 () 3 = σ ΕΝΟ > Ε6 () select ENAME from, ASG, PROJ where.eno= ASG.ENO and ASG.PNO = ROJ.PNO and ENAME <> J. DOE and PNAME = CAD/CAM and (DUR = 12 OR DUR = 24) Ερώτηση Τµηµάτων 1. Καθορισµός των τµηµάτων που συµµετέχουν στην ερώτηση 2. Αντικατάσταση της σχέσης από τα τµήµατά της 3. ASG ASG1 = σ ΕΝΟ Ε3 (ASG) ASG2 = σ ΕΝΟ > Ε3 (ASG) Αντικατάσταση του µε το (1 2 3) Αντικατάσταση του ASG µε το (ASG1 ASG2) Νέο δέντρο ερώτησης Κατανεµηµένες Βάσεις εδοµένων 2002-2003 Ευαγγελία Πιτουρά 15 Κατανεµηµένες Βάσεις εδοµένων 2002-2003 Ευαγγελία Πιτουρά 16 Παράδειγµα Ελαχιστοποιήσεις για Οριζόντια Τµηµατοποίηση 1 = σ ΕΝΟ Ε3 () 2 = σ E3 < ΕΝΟ Ε6 () 3 = σ ΕΝΟ > Ε6 () ASG ASG1 = σ ΕΝΟ Ε3 (ASG) ASG2 = σ ΕΝΟ > Ε3 (ASG) Παραλληλισµός Γενικά η ελαχιστοποίηση για οριζόντια τµήµατα αφορά (µετά την αναδόµηση των δέντρων ερώτησης) τον καθορισµό των υποδέντρων που παράγουν άδειες σχέσεις και την απαλοιφή τους Χρήση της προσεταιριστικότητας µεταξύ ένωσης και συνένωσης (R1 R2) J (S1 S2) = (R1 J S1) (R1 J S2) (R2 J S1) (R2 J S2) 1. Ελαχιστοποίηση µε επιλογή 2. Ελαχιστοποίηση µε συνένωση Νέο δέντρο ερώτησης Απλοποιήσεις; Κατανεµηµένες Βάσεις εδοµένων 2002-2003 Ευαγγελία Πιτουρά 17 Κατανεµηµένες Βάσεις εδοµένων 2002-2003 Ευαγγελία Πιτουρά 18

Ελαχιστοποιήσεις για Οριζόντια Τµηµατοποίηση Ελαχιστοποιήσεις για Οριζόντια Τµηµατοποίηση Ελαχιστοποίηση µε Επιλογή Αν η συνθήκη της επιλογής αντιβαίνει τη συνθήκη επιλογής της κατάτµησης Έστω τµήµα R j : R j = σ Pj (R) σ Pi (R j ) =, x R: (Pi(x) Pj(x)) 1 = σ ΕΝΟ Ε3 () 2 = σ E3 < ΕΝΟ Ε6 () 3 = σ ΕΝΟ > Ε6 () Παράδειγµα select * from where ENO = E5 Ελαχιστοποίηση µε Συνένωση υνατή αν η συνθήκη για την κατάτµηση είναι µε βάση το γνώρισµα της συνένωσης. Σε αυτήν την περίπτωση, καταµερισµός των συνενώσεων και της ένωσης και απαλοιφή των άχρηστων συνενώσεων Κατανεµηµένες Βάσεις εδοµένων 2002-2003 Ευαγγελία Πιτουρά 19 Κατανεµηµένες Βάσεις εδοµένων 2002-2003 Ευαγγελία Πιτουρά 20 Ελαχιστοποιήσεις για Κάθετη Τµηµατοποίηση Ελαχιστοποιήσεις για Κάθετη Τµηµατοποίηση 1 = π ΕΝΟ, ΕΝΑΜΕ () 2 = π ΕΝΟ, TITLE () select ENAME from Αντικατάσταση του µε 1 J 2 Απλοποίηση Ελαχιστοποίηση µε Προβολή Άχρηστη να τα γνωρίσµατα της προβολής δεν ανήκουν στο τµήµα! Γενικά η ελαχιστοποίηση για κάθετα τµήµατα αφορά (µετά την αναδόµηση των δέντρων ερώτησης) τον καθορισµό των υποδέντρων που παράγουν άχρηστες ενδιάµεσες σχέσεις και την απαλοιφή τους 1. Ελαχιστοποίηση µε προβολή Κατανεµηµένες Βάσεις εδοµένων 2002-2003 Ευαγγελία Πιτουρά 21 Κατανεµηµένες Βάσεις εδοµένων 2002-2003 Ευαγγελία Πιτουρά 22 Ελαχιστοποιήσεις Ελαχιστοποιήσεις για Υβριδική Τµηµατοποίηση Οι κανόνες για την κεντρικοποιηµένη περίπτωση συν: 1. Απαλοιφή άδειων σχέσεων που προκύπτουν από µη συµβατές επιλογές σε οριζόντια τµήµατα 2. Απαλοιφή άχρηστων σχέσεων που προκύπτουν από προβολές σε κάθετα τµήµατα 3. Κατανοµή των συνενώσεων πάνω από τις ενώσεις και απαλοιφή των άχρηστων συνενώσεων 1 = σ ΕΝΟ 4 (π ΕΝΟ, ΕΝΑΜΕ ()) 2 = σ ΕΝΟ > 4 (π ΕΝΟ, ENAME ()) 3 = π ΕΝΟ, TITLE () select ENAME from where ENO = E5 Κατανεµηµένες Βάσεις εδοµένων 2002-2003 Ευαγγελία Πιτουρά 23 Κατανεµηµένες Βάσεις εδοµένων 2002-2003 Ευαγγελία Πιτουρά 24

Ολική Ολική Ερωτήσεων Εύρεση ενός καλού (όχι απαραίτητα βέλτιστου) ολικού πλάνου Ολική Ερώτηση Τµηµάτων Βελτιστοποιηµένη Ερώτηση Τµηµάτων µε Τελεστές Επικοινωνίας 1. Ελαχιστοποίηση κάποιας συνάρτησης κόστους 2. Κατανεµηµένη επεξεργασία συνένωσης Bushy/linear δέντρα Ποιες σχέσεις να µεταφέρουµε που Μεταφορά όλης της σχέσης ή όταν χρειάζεται 3. Χρήση ή όχι της ηµι-συνένωσης 4. Μέθοδοι υπολογισµού συνένωσης Κατανεµηµένες Βάσεις εδοµένων 2002-2003 Ευαγγελία Πιτουρά 25 Κατανεµηµένες Βάσεις εδοµένων 2002-2003 Ευαγγελία Πιτουρά 26 Ελαχιστοποίηση Κόστους Τοπική Ολικό Κόστος Χρόνος απόκρισης για µια ερώτηση: χρόνος που περνά από την υποβολή της ερώτησης µέχρι την ολοκλήρωση της Σε κάθε κόµβο Τοπικά Σχήµατα Τοπική Πλάνο εκτέλεσης Χρησιµοποίησε τεχνικές κεντρικοποιηµένης βελτιστοποίησης για την εύρεση του καλύτερου (τοπικά) τρόπου εκτέλεσης Κατανεµηµένες Βάσεις εδοµένων 2002-2003 Ευαγγελία Πιτουρά 27 Κατανεµηµένες Βάσεις εδοµένων 2002-2003 Ευαγγελία Πιτουρά 28 Περίληψη Ευριστικών Κανόνων Κανόνας 1 Βασιζόµενοι στην επιµεριστικότητα των µοναδιαίων τελεστών σε σχέση µε τους δυαδικούς, σπρώχνουµε επιλογές και προβολές όσο πιο χαµηλά γίνεται στο δέντρο (µε αποτέλεσµα να µειώνουµε γρήγορα και τοπικά το µέγεθος της εµπλεκόµενης πληροφορίας). Για παράδειγµα, αντί για να κάνουµε την επιλογή σ CITY='RHO' (TASK J DEPT_TASK), προτιµήθηκε να σπρώξουµε την επιλογή µόνο στα τµήµατα TASK1 και TASK2, ώστε να µειώσουµε το κόστος µεταφοράς δεδοµένων. Κανόνας 2 Βασιζόµενοι στην αντιµεταθετικότητα και τη µοναδική ποσότητα των µοναδιαίων τελεστών, παράγουµε συνδυασµούς από επιλογές και προβολές σε κάθε εµπλεκόµενη σχέση. Στο προηγούµενο παράδειγµα, αντί να εµπλέξουµε όλο το TASK1, προτιµήθηκε να χρησιµοποιηθεί η έκφραση π TNUM (σ CITY='RHO' (TASK1)), η οποία σαφώς µειώνει το µέγεθος της αποτιµούµενης σχέσης. Κατανεµηµένες Βάσεις εδοµένων 2002-2003 Ευαγγελία Πιτουρά 29 Κατανεµηµένες Βάσεις εδοµένων 2002-2003 Ευαγγελία Πιτουρά 30

Κανόνας 3 Μπορούµε να απαλείφουµε φύλλα του δέντρου (τµήµατα δηλαδή των καθολικών σχέσεων), αν ο συνδυασµός των αλγεβρικών εκφράσεων που τα ορίζουν µε τις αλγεβρικές εκφράσεις που τους επιβάλλονται έρχεται σε σύγκρουση. Για παράδειγµα, η έκφραση σ CITY='RHO' (TASK2) ισοδυναµεί µε την έκφραση σ CITY='RHO' σ CITY='KAST' (TASK) η οποία προφανώς εµπεριέχει αντίφαση και δεν έχει νόηµα να αποτιµηθεί. Κανόνας 4 Mπορούµε να εκτελούµε τις συνενώσεις πριν από τις ενώσεις (ανεβάζουµε τις ενώσεις όσο πιο ψηλά µπορούµε στο δέντρο). Με τον τρόπο αυτό, εκτελούµε τις συνενώσεις τοπικά, µε αποτέλεσµα να µειώνουµε νωρίς την πληροφορία που διακινούµε στο δίκτυο. (Αντίστοιχα, σε µια περίπτωση κάθετης κατάτµησης, θα µπορούσε να συµβαίνει το ίδιο µε µια προβολή). Κατανεµηµένες Βάσεις εδοµένων 2002-2003 Ευαγγελία Πιτουρά 31 Κατανεµηµένες Βάσεις εδοµένων 2002-2003 Ευαγγελία Πιτουρά 32 Κανόνας 5 Όπου έχουµε αυξηµένη µετα-πληροφορία, µπορούµε να τη χρησιµοποιούµε για να αποφεύγουµε άσκοπες συνδέσεις. Κανόνας 6 Χρησιµοποιούµε όσο το δυνατό πιο συχνά semi-joins αντί για joins, µε σκοπό να µειώσουµε τη διακινούµενη πληροφορία. Για παράδειγµα, αν γνωρίζουµε ότι DEPTNUM < 10 AREA = NORTH, έστω και αν αυτό δε φαίνεται στον ορισµό των τµηµάτων, µπορούµε να αποφύγουµε τη συνένωση ενός τµήµατος µε AREA = SOUTH µε κάποιο τµήµα DEPT_TASK µε συνθήκη DEPTNUM < 10. Κατανεµηµένες Βάσεις εδοµένων 2002-2003 Ευαγγελία Πιτουρά 33 Κατανεµηµένες Βάσεις εδοµένων 2002-2003 Ευαγγελία Πιτουρά 34 Άσκηση 1: Μετασχηµατισµός Άσκηση 2: Ολικός Χρόνος και Χρόνος Απόκρισης PROJ PROJ1 = σ PNO P2 (PROJ) PROJ2 = σ PNO > P2 (PROJ) (ENO, ENAME, TITLE) PROJ(PNO, PNAME, BUDGET) ASG(ENO, PNO, RESP, DUR) select BUDGET from ASG, PROJ Κόµβος 2 Κόµβος 1 ASG Κόµβος3 PROJ Αποτέλεσµα στον size() = 700 κόµβο 1 size(asg) = 100 size(result) = 500 size(proj) = 300 size ( J ASG) = 300 size(asg J PROJ) = 200 size( J PROJ) = 400 where PROJ.PNO = ASG.PNO and ASG.PNO =P4 ιαφορετικοί τρόποι εκτέλεσης (χωρίς semijoin) Αν size(r1) < size(r2) R1 R2 Αν size(r12) < size(r2) Υπόθεση: µεταφέρουµε πάντα την µικρότερη σχέση Κατανεµηµένες Βάσεις εδοµένων 2002-2003 Ευαγγελία Πιτουρά 35 Κατανεµηµένες Βάσεις εδοµένων 2002-2003 Ευαγγελία Πιτουρά 36

Άσκηση 3 Employees(eid, did, sal) Departments(did, mgrid, budget) mgrid ξένο κλειδί (eid) Κάθε πλειάδα 20 bytes, µέγεθος eid 10 bytes, µέγεθος mgrid 10 bytes, sal, budget τιµές οµοιόµορφα κατανεµηµένες 0 1.000.000. Μέγεθος σελίδας: 4000 bytes Employees: 100.000 σελίδες Departments: 5.000 σελίδες Άσκηση 3 Employees(eid, did, sal) Departments(did, mgrid, budget) mgrid ξένο κλειδί (eid) Κάθε πλειάδα 20 bytes, µέγεθος eid 10 bytes, µέγεθος mgrid 10 bytes, sal, budget τιµές οµοιόµορφα κατανεµηµένες 0 1.000.000. Μέγεθος σελίδας: 4000 bytes Employees: 100.000 σελίδες Departments: 5.000 σελίδες Ι/Ο t d επικοινωνία t s Ι/Ο t d επικοινωνία t s Άσκηση 3(α) select * from Employees E, Departments D where E.eid = D.mgrid 1% employees είναι managers. Σχέση Εmp στη Νάπολη, σχέση Dept στο Βερολίνο, αποτέλεσµα στο Νέο ελχί. Κόστος των παρακάτω. Κόστος join R1 J R2: 3(size(R1) + size(r2)) 1. Υπολογισµός στην Ν, µεταφορά Dept στο Ν, µεταφορά αποτελέσµατος στο D 2. Υπολογισµός στο Β, µεταφορά Emp στο Β, µεταφορά αποτελέσµατος στο D 3. Υπολογισµός της ερώτησης στη Ν, µε semijoin, µεταφορά αποτελέσµατος στο D 4. Υπολογισµός της ερώτησης στo B, µε semijoin, µεταφορά αποτελέσµατος στο D Κατανεµηµένες Βάσεις εδοµένων 2002-2003 Ευαγγελία Πιτουρά 37 Άσκηση 3(b) Αποθηκευµένη σε 10 κόµβους. Dept οριζόντια κατάτµηση και στους 10 κόµβους µε βάση το did, µε τον ίδιο αριθµό πλειάδων σε κάθε κόµβο. Emp οριζόντια κατάτµηση µε βάση την τιµή στο πεδίο sal, sal 100.000 στον 1ο κόµβο, 100.000 < sal 200.000 στον 2ο κόµβο κοκ. Ειδικά το sal 100.000 έχει αντίγραφα σε όλους τους κόµβους. ώστε το καλύτερο πλάνο για τα παρακάτω: 1. Υπολογισµός φυσικής συνένωσης µε βάση την υπόθεση ότι µεταφέρουµε τη µικρότερη σχέση 2. Εύρεση του πιο υψηλόµισθου υπαλλήλου 3. Εύρεση του πιο υψηλόµισθου υπαλλήλου µε µισθό µικρότερο των 100.000 Κατανεµηµένες Βάσεις εδοµένων 2002-2003 Ευαγγελία Πιτουρά 38