Κεφάλαιο 7. ISAM και B- έντρα Φυσικός Σχεδιασµός για Βάσεις εδοµένων. ΙΒ οµές Ευρετηρίων Φυσικός Σχεδιασµός Β Σελίδα 3.53

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

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

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

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

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

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

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

Ευρετήρια και Κατακερματισμός

Δεντρικά Ευρετήρια. Δέντρα Αναζήτησης

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

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

εντρικά Ευρετήρια έντρα Αναζήτησης

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

Ευρετήρια και Κατακερµατισµός

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Κεφάλαιο 6. Πρωτεύουσες Οργανώσεις Αρχείων Φυσικός Σχεδιασµός Αποθήκευση Εγγραφών. Ι.Β Πρωτεύουσες Οργανώσεις Αρχείων Σελίδα 3.1

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

Κεφάλαιο 6. Πρωτεύουσες Οργανώσεις Αρχείων Φυσικός Σχεδιασµός Αποθήκευση Εγγραφών. Ι.Β Πρωτεύουσες Οργανώσεις Αρχείων Σελίδα 3.1

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

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

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

ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ. Επίπεδα Αφαίρεσης Σ Β. Αποθήκευση Εγγραφών - Ευρετήρια. ρ. Βαγγελιώ Καβακλή ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ, Επίπεδο Όψεων.

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

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

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

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

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

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

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

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

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

Σύστηµα Αρχείων και Καταλόγων

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

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

Βάσεις Δεδομένων ΙΙ Ενότητα 6

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

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

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

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

Βάσεις Δεδομένων ΙΙ Ενότητα 5

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

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

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

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

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

Τα δεδομένα συνήθως αποθηκεύονται σε αρχεία στο δίσκο

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

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

Λεξικό, Union Find. ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ

Λεξικό, Union Find. ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ

Λεξικό, Union Find. ημήτρης Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Εθνικό Μετσόβιο Πολυτεχνείο

Κεφάλαιο 13. Αποθήκευση σε ίσκους, Βασικές οµέςαρχείων, και Κατακερµατισµός. ιαφάνεια 13-1

Δυναμικός Κατακερματισμός

#2 Αλγόριθµοι, οµές εδοµένων και Πολυπλοκότητα

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

Αντικείµενο: Θεµελιώδες πρόβληµα της επιστήµης µας εδοµένα

έντρα ομές εδομένων 3ο εξάμηνο ιδάσκων: Χρήστος ουλκερίδης ιαφάνειες προσαρμοσμένες από το υλικό της Μαρίας Χαλκίδη

Λεξικό, Union Find. ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Επιµέλεια Θοδωρής Πιερράτος

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

Λεξικό, Union Find. ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Αποθήκευση και Οργάνωση αρχείων. Βάσεις Δεδομένων Μάθημα 2ο Διδάσκων: Μαρία Χαλκίδη

Cuckoo Hashing. Αλγόριθμοι και Πολυπλοκότητα. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ

Βασικές δοµές δεδοµένων. Ορολογία λιστών. 8.1 Βασικές έννοιες δοµών δεδοµένων 8.2 Υλοποίηση δοµών δεδοµένων 8.3 Μια σύντοµη υπόθεση εργασίας

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

ENOTHTA 8 IAXEIPIΣH KAI ΣYΣTHMATA APXEIΩN


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

ΠΑΡΑΡΤΗΜΑ: QUIZ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ

Advanced Data Indexing

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

ΤΙΤΛΟΣ ΕΡΓΑΣΙΑΣ. Πετρογεωργάκης Μανούσος Σπυρόπουλος Σταύρος

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

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

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων

Ανάκτηση Πληροφορίας

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

Διδάσκων: Παναγιώτης Ανδρέου

Transcript:

Κεφάλαιο 7 ISAM και B- έντρα Φυσικός Σχεδιασµός για Βάσεις εδοµένων ΙΒ οµές Ευρετηρίων Φυσικός Σχεδιασµός Β Σελίδα 3.53

ιαχείριση Μνήµης.. SET-ORIENTED DBMS Εφαρµογή Προγράµµατα οσοληψιών Database Access Methods ιαχείριση Πλειάδων Associative Access TUPLE- ORIENTED Logging and Recovery ιαχείριση Εγγραφών Κύρια Άµεση Εξωτερική Near line Εξωτερική Manages Buffer Manager BLOCK-ORIENTED Manages File Manager Manages Archive Manager ιαχείριση Ενδιάµεσης Μνήµης ιαχείριση Αρχείων ΙΒ οµές Ευρετηρίων Φυσικός Σχεδιασµός Β Σελίδα 3.54

οµές Ευρετηρίων Ένα ευρετήριο (index) είναι µια βοηθητική δοµή αρχείου που κάνει πιο αποδοτική την αναζήτηση µιας εγγραφής σε ένα αρχείο Το Ευρετήριο καθορίζεται (συνήθως) σε ένα γνώρισµα του αρχείου Συχνά αποκαλείται access path (µονοπάτι πρόσβασης) στο γνώρισµα Η δοµή ευρετηρίου (αρχείο) καταλαµβάνει µικρότερο χώρο από το ίδιο το αρχείο (οι καταχωρήσεις είναι µικρότερες και λιγότερες) Κάνοντας υαδική αναζήτηση στο Ευρετήριο βρίσκουµε τον είκτη στο Μπλοκ όπου αποθηκεύεται η εγγραφή που θέλουµε Μια καταχώρηση / εγγραφή στο Ευρετήριο έχει την µορφή: Τιµή Κλειδιού είκτης στο Μπλοκ της εγγραφής ΙΒ οµές Ευρετηρίων Φυσικός Σχεδιασµός Β Σελίδα 3.55

Ευρετήρια Τα Ευρετήρια (ενός επιπέδου) χωρίζονται σε: Πρωτεύον Ευρετήριο: ορίζεται σε ένα αρχείο που είναι διατεταγµένο στο (κύριο) κλειδί. Περιλαµβάνει µια καταχώρηση για κάθε Μπλοκ. Η καταχώρηση έχει την τιµή του κλειδιού της πρώτης εγγραφής στο Μπλοκ. (συχνά ονοµάζεται, µη-πυκνό ευρετήριο --- sparse index ή non-dense index) Ευρετήριο Συστάδων (Clustering Index): ορίζεται σε ένα αρχείο που είναι διατεταγµένο σε γνώρισµα που δεν είναι κλειδί. Περιλαµβάνει µια καταχώρηση για κάθε ξεχωριστή τιµή του γνωρίσµατος. Η καταχώρηση δείχνει το πρώτο Μπλοκ που περιέχει εγγραφές µε αυτή την τιµή γνωρίσµατος ευτερεύον Ευρετήριο (Secondary Index): ορίζεται σε ένα αρχείο που είναι µη διατεταγµένο στο γνώρισµα. Περιλαµβάνει µια καταχώρηση για κάθε Εγγραφή (συχνά ονοµάζεται, πυκνό ευρετήριο -dense index) ΙΒ οµές Ευρετηρίων Φυσικός Σχεδιασµός Β Σελίδα 3.56

Ευρετήρια και Αρχεία - Στόχοι Οι εγγραφές ενός αρχείου τοποθετούνται σε (κατάλληλα) Μπλοκ µε την υποστήριξη µιας πρωτεύουσας δοµής αρχείου / ευρετηρίου (ISAM έντρου, Β- έντρου ή Κατακερµατισµού) ή ακόµη και σε Σωρούς. Στη συνέχεια, οι εγγραφές µπορεί να ανακληθούν µέσω των τιµών Κλειδιών (TID Tuple Identifier ή RID Record Identifier) µε την υποστήριξη των δοµών που Επιπλέον, χρησιµοποιήθηκαν δηµιουργούνται για την δευτερεύουσες αποθήκευσή τους δοµές ευρετηρίων ΙΒ οµές Ευρετηρίων Φυσικός Σχεδιασµός Β Σελίδα 3.57

Ευρετήρια Πολλών Επιπέδων Τα Αρχεία Ευρετηρίων είναι απλά Αρχεία, άρα και σε αυτά µπορούν να οριστούν Ευρετήρια Καταλήγουµε λοιπόν σε µια ιεραρχία δοµών ευρετηρίων (πρώτο επίπεδο, δεύτερο επίπεδο, κλπ.) Κάθε επίπεδο του ευρετηρίου είναι ένα διατεταγµένο αρχείο, συνεπώς, Εισαγωγές / ιαγραφές εγγραφών απαιτούν επιπλέον δουλειά (επικαιροποίηση του ευρετηρίου) Ένα πολύ-επίπεδο ευρετήριο αποτελεί ένα έντρο Αναζήτησης µε την υπόθεση ότι το πρώτο επίπεδο χωρά σε ένα Μπλοκ ΙΒ οµές Ευρετηρίων Φυσικός Σχεδιασµός Β Σελίδα 3.58

Indexed Sequential Access Method (ISAM) Το ISAM είναι µια πολύ-επίπεδη οµή Ευρετηρίου ( έντρο) για άµεση πρόσβαση σε εγγραφές αρχείου διατεταγµένου στο Κλειδί Κάθε κόµβος του έντρου είναι ένα Μπλοκ στο ίσκο. Οι κόµβοι του έντρου κρατούν < τιµή κλειδιού, δείκτης > ζεύγη, ταξινοµηµένα στην τιµή κλειδιού. Οι εσωτερικοί κόµβοι δείχνουν σε χαµηλότερου επιπέδου κόµβους ενώ τα φύλλα-κόµβοι δείχνουν σε Μπλοκ του αρχείου (Σχέσης). Ένας είκτης δείχνει ένα υπό-δέντρο µε τιµές κλειδιού ΜΕΓΑΛΥΤΕΡΕΣ ή ΙΣΕΣ της αντίστοιχης τιµής κλειδιού και ΜΙΚΡΟΤΕΡΕΣ της τιµής Κλειδιού του επόµενου είκτη 9 18 55 60 78 90 ΙΒ οµές Ευρετηρίων Φυσικός Σχεδιασµός Β Σελίδα 3.59

Παράδειγµα ISAM ( ευτερεύον Ευρετήριο) ISAM στο Salary 10 40 10 20 30 40 50 60 Gary 10 Mike 15 Lisa 20 Shirley 25 Bob 30 Robin 35 Ivan 40 Bill 45 Ron 50 Jill 55 Keith 60 Dan 65 Scott 43 OVERFLOW ΙΒ οµές Ευρετηρίων Φυσικός Σχεδιασµός Β Σελίδα 3.60

ISAM έντρο -- --Παράδειγµα (2) Κάθε κόµβος δύναται να έχει 2 καταχωρήσεις ΡΙΖΑ 40 20 33 51 63 10* 15* 20* 27* 33* 37* 40* 46* 51* 55* 63* 97* ΙΒ οµές Ευρετηρίων Φυσικός Σχεδιασµός Β Σελίδα 3.61

Μετά την εισαγωγή των 23*, 48*, 41*, 42*...... ΜΠΛΟΚ ΕΥΡΕΤΗΡΙΟΥ ΡΙΖΑ 40 20 33 51 63 ΜΠΛΟΚ ΑΡΧΕΙΟΥ 10* 15* 20* 27* 33* 37* 40* 46* 51* 55* 63* 97* ΜΠΛΟΚ ΥΠΕΡΧΕΙΛΙΣΗΣ 23* 48* 41* 42* ΙΒ οµές Ευρετηρίων Φυσικός Σχεδιασµός Β Σελίδα 3.62

Μετά την διαγραφή των 42*, 51*, 97* ΡΙΖΑ 40 20 33 51 63 40* 46* 55* 10* 15* 20* 27* 33* 37* 63* 23* 48* 41* Παρατηρείστε ότι το 51* είναι στο ευρετήριο, αλλά όχι στο Αρχείο! ΙΒ οµές Ευρετηρίων Φυσικός Σχεδιασµός Β Σελίδα 3.63

Η Επίδοση του ISAM ΕΠΙ ΟΣΗ (PERFORMANCE). Έστω ότι έχουµε D Σελίδες (Μπλοκ) για εδοµένα και k δείκτες για κάθε κόµβο (υποθέτουµε ότι το D = k L ) ΙΑ ΙΚΑΣΙΑ ΑΝΑΖΗΤΗΣΗΣ: Σειριακή Σάρωση (scan): D υαδική Αναζήτηση Σχέσης: log 2 D + 1 υαδική Αναζήτηση (µονό επίπεδο): (log 2 (D/k) + 1) + 1 ιάσχιση του ISAM έντρου: log k D + 1 = L + 1 ΙΒ οµές Ευρετηρίων Φυσικός Σχεδιασµός Β Σελίδα 3.64

ISAM -- -- ΣΧΟΛΙΑ ΠΛΕΟΝΕΚΤΗΜΑΤΑ: Παρέχει έναν ταξινοµηµένο κατάλογο για το Αρχείο (ή Σχέση) Εξαιρετική δοµή για ακριβείς ερωτήσεις (exact queries) π.χ., Salary = 400000 Το ISAM διευκολύνει την εκτέλεση των ερωτήσεων διακύµανσης (range queries). π.χ., Salary µεταξύ 350000 και 600000 ΜΕΙΟΝΕΚΤΗΜΑΤΑ Είναι µια ΣΤΑΤΙΚΗ δοµή που εύκολα χάνει την ισορροπία της (unbalanced) - ισορροπία ύψους και πληρότητας των κόµβων Αν στο Αρχείο γίνονται πολλές ενηµερώσεις (volatile δεδοµένα), τότε το Αρχείο µπορεί να χάσει την ταξινόµησή του. Το Ευρετήριο απαιτεί µεγάλο χώρο το ίσκο ΙΒ οµές Ευρετηρίων Φυσικός Σχεδιασµός Β Σελίδα 3.65

B + - έντρα Το B + - έντρο είναι µια πολύ-επίπεδη δοµή ευρετηρίου για ένα διατεταγµένο αρχείο Οι κόµβοι-φύλλα περιέχουν ταξινοµηµένες εγγραφές (πλειάδες), οι άλλοι (εσωτερικοί) κόµβοι έχουν ειδική µορφή Ένας κόµβος αντιστοιχεί σε ένα Μπλοκ (Σελίδα) Κάθε κόµβος κρατιέται κάτι µεταξύ γεµάτος και µισό-γεµάτος Οι Εισαγωγές σε κόµβους, που δεν είναι γεµάτοι, γίνονται αποδοτικά; Αν ένας κόµβος είναι γεµάτος, τότε έχουµε διάσπαση Οι ιαγραφές γίνονται πολύ αποδοτικά αν ο κόµβος δεν καθίσταται λιγότερο από µισό-γεµάτος (ώστε να απαιτήσει διάσπαση) Η δοµή έντρου παραµένει ανά πάσα στιγµή ΙΣΟΡΡΟΠΗΜΕΝΗ ΙΒ οµές Ευρετηρίων Φυσικός Σχεδιασµός Β Σελίδα 3.66

Μορφή Εσωτερικών Κόµβων: B + - έντρα -- --Σύνοψη P 1 K 1 P 2 K 2...... P n-1 K n-1 P n K 1 < K 2 <... K n-1 Το P 1 δείχνει ένα κόµβο που περιέχει τιµές κλειδιού n, n< K 1 Το P 2 δείχνει ένα κόµβο που περιέχει τιµές κλειδιού n, K 1 < = n < K 2 Παραλλαγές των B + - έντρων: B- έντρα : Σαν τα B + - έντρα, αλλά οι εσωτερικοί κόµβοι περιέχουν επιπλέον δείκτες σε δεδοµένα. Είναι συνήθως πιο µεγάλα και είναι δύσκολο να υλοποιηθούν, ενίοτε όµως, είναι ταχύτερα B*- έντρα : Σαν τα B + - έντρα, αλλά κρατούν κάθε κόµβο γεµάτο (τουλάχιστον) κατά τα 2/3. Μικρότερα και ταχύτερα δέντρα, αλλά πολύ χειρότερα για Εισαγωγές / ιαγραφές ΙΒ οµές Ευρετηρίων Φυσικός Σχεδιασµός Β Σελίδα 3.67

B + - έντρα Τα πλέον δηµοφιλή Ευρετήρια Εισαγωγή / ιαγραφή µε κόστος log F N --- κρατούν το έντρο σε ισορροπηµένη µορφή. (F = εξάπλωση, N = αριθµός των φύλλων) Ελάχιστη πληρότητα 50% (εκτός της Ρίζας). Κάθε κόµβος περιέχει d <= m <= 2d καταχωρήσεις. Το d ονοµάζεται Τάξη του έντρου. Εξαιρετική δοµή ΚΑΙ για exact queries ΚΑΙ για range queries. Καταχωρήσεις Ευρετηρίου (Άµεση Αναζήτηση) Καταχωρήσεις εδοµένων («Σύνολο ακολουθίας») ΙΒ οµές Ευρετηρίων Φυσικός Σχεδιασµός Β Σελίδα 3.68

Παράδειγµα Β+ έντρου Η αναζήτηση ξεκινά από τη Ρίζα, και οι συγκρίσεις των κλειδιών µας οδηγούν στα φύλλα (όπως στο ISAM). Αναζήτηση για τα 5*, 15*, όλες οι καταχωρήσεις >= 24*... ΡΙΖΑ 13 17 24 30 2* 3* 5* 7* 14* 16* 19* 20* 22* 24* 27* 29* 33* 34* 38* 39* Αναζητώντας το 15*, γνωρίζουµε ότι ΕΝ είναι στο Αρχείο! ΙΒ οµές Ευρετηρίων Φυσικός Σχεδιασµός Β Σελίδα 3.69

B + - έντρα Πρακτικά Στοιχεία Τυπική Τάξη: 100. Τυπικός Παράγων Πληρότητας: 67%. Μέση τιµή εξάπλωσης (fan out) = 133 Τυπικές υνατότητες: Ύψος 4: 133 4 = 312,900,700 εγγραφές Ύψος 3: 133 3 = 2,352,637 εγγραφές ύναται να κρατά τα υψηλότερα επίπεδα στον buffer : Επίπεδο 1 = 1 Μπλοκ = 8 Kbytes Επίπεδο 2 = 133 Μπλοκ = 1 Mbyte Επίπεδο 3 = 17,689 Μπλοκ = 133 MBytes ΙΒ οµές Ευρετηρίων Φυσικός Σχεδιασµός Β Σελίδα 3.70

Η Εισαγωγή µιας καταχώρησης δεδοµένων (εγγραφής) Βρες το σωστό Φύλλο L. Βάλε την καταχώρηση στο L. Αν το L έχει αρκετό χώρο, τελείωσες! Αλλιώς, πρέπει να διασπαστεί το L (στο L και ένα νέο κόµβο L2)» Κάνε ισόρροπη ανακατανοµή των καταχωρήσεων, (µεσαίο κλειδί)» Βάλε νέο δείκτη ευρετηρίου στον πατέρα του L να δείχνει στο L2» Η παραπάνω διαδικασία µπορεί να χρειάζεται να γίνει αναδροµικά Σε διάσπαση εσωτερικών κόµβων, κάνε το ίδιο, αλλά σπρώξε απάνω το µεσαίο κλειδί. (διαφοροποίηση από τα φύλλα) Οι διασπάσεις κόµβων µεγαλώνουν το δέντρο Η διάσπαση της Ρίζας υψώνει το δέντρο ΙΒ οµές Ευρετηρίων Φυσικός Σχεδιασµός Β Σελίδα 3.71

Η Εισαγωγή της καταχώρησης 8* Καταχώρηση στον πατέρα κόµβο. 5 Το 5* ανεβαίνει απάνω, αλλά Παραµένει και στο φύλλο 2* 3* 5* 7* 8* 17 Καταχώρηση στον Πατέρα Κόµβο Το 17* ανεβαίνει απάνω και παρουσιάζεται µόνο Μία φορά στο Ευρετήριο (σε αντίθεση µε Φύλλα) 5 13 24 30 ΙΒ οµές Ευρετηρίων Φυσικός Σχεδιασµός Β Σελίδα 3.72

Τελικό B+ έντρο Μετά την Εισαγωγή του 8* Root 17 5 13 24 30 2* 3* 5* 7* 8* 14* 16* 19* 20* 22* 24* 27* 29* 33* 34* 38* 39* Η ΡΙΖΑ διασπάστηκε οδηγώντας σε αύξηση του ύψους. ΙΒ οµές Ευρετηρίων Φυσικός Σχεδιασµός Β Σελίδα 3.73

Η ιαγραφή µιας καταχώρησης δεδοµένων (εγγραφής) Αρχίζοντας από τη Ρίζα, βρες το φύλλο L όπου ανήκει η καταχώρηση ιέγραψε την καταχώρηση. Αν η L είναι τουλάχιστον µισό-γεµάτη, τελείωσες! Αν η L έχει µόνο d-1 καταχωρήσεις,» Προσπάθησε να κάνεις ανακατανοµή, δανειζόµενος το sibling (γειτονικός κόµβος µε τον ίδιο πατέρα του L).» Αν η ανακατανοµή αποτύχει, συγχώνευσε το L και το sibling. Αν έγινε συγχώνευση, πρέπει να διαγραφεί η καταχώρηση (που δείχνει στο L ή το sibling) από τον πατέρα του L. Η συγχώνευση µπορεί να φτάσει στη Ρίζα, µειώνοντας το ύψος του έντρου. ΙΒ οµές Ευρετηρίων Φυσικός Σχεδιασµός Β Σελίδα 3.74

Το Παράδειγµα µετά την ιαγραφή του 19* και του 20* ΡΙΖΑ 17 5 13 27 30 2* 3* 5* 7* 8* 14* 16* 22* 24* 27* 29* 33* 34* 38* 39* Η ιαγραφή του 19* ήταν εύκολη Η ιαγραφή του 20* is έγινε µε ανακατανοµή. Το µεσαίο κλειδί ανέβηκε. ΙΒ οµές Ευρετηρίων Φυσικός Σχεδιασµός Β Σελίδα 3.75

Τέλος, η ιαγραφή του 24* Απαιτείται ΣΥΓΧΩΝΕΥΣΗ! 30 22* 27* 29* 33* 34* 38* 39* Root 5 13 17 30 2* 3* 5* 7* 8* 14* 16* 22* 27* 29* 33* 34* 38* 39* ΙΒ οµές Ευρετηρίων Φυσικός Σχεδιασµός Β Σελίδα 3.76

Συµπίεση του Προθέµατος Κλειδιού Γίνεται για να επιτευχθεί µεγαλύτερη εξάπλωση (fan-out) Εφόσον οι τιµές κλειδιού στους κόµβους ουσιαστικά µόνο κατευθύνουν την κυκλοφορία συχνά τις συµπιέζουµε Π.χ., Αν έχουµε συνεχόµενες καταχωρήσεις ευρετηρίου τις Dannon Yogurt, David Smith and Devarakonda Murthy, µπορούµε να περικόψουµε τον David Smith σε Dav. (όπως βέβαια και τις άλλες καταχωρήσεις)» Αυτό ΕΝ είναι πάντα Σωστό! Αν, για παράδειγµα, υπάρχει καταχώρηση Davey Jones, έχουµε πρόβληµα (Το σωστό θα ήταν να συµπιέσουµε το David Smith σε Davi)» Γενικά, όταν γίνεται συµπίεση, πρέπει να παραµείνει κάθε καταχώρηση µεγαλύτερη από τις τιµές του αριστερού υπό-δέντρου Οι εισαγωγές / διαγραφές χρειάζονται ανάλογες τροποποιήσεις ΙΒ οµές Ευρετηρίων Φυσικός Σχεδιασµός Β Σελίδα 3.77

Μαζική Εισαγωγή B+ έντρου (Bulk Loading) Αν έχουµε πολλές εγγραφές και θέλουµε να δηµιουργήσουµε ένα B+ έντρο σε κάποιο γνώρισµα, χρησιµοποιώντας τις παραπάνω µεθόδους (εγγραφή προς εγγραφή) θα έχουµε µεγάλη καθυστέρηση Το Bulk Loading είναι εξαιρετικά πιο αποδοτικό Αρχικοποίηση: Ταξινόµησε όλες τις καταχωρήσεις (δεδοµένα), βάλε δείκτη στον πρώτο κόµβο φύλλο (Μπλοκ) σε µια νέα (Ρίζα) Σελίδα (Μπλοκ) ΡΙΖΑt Ταξινοµηµένα Μπλοκ δεδοµένων --- Χωρίς να έχουν µπει ακόµη σε B+ έντρο 3* 4* 6* 9* 10* 11* 12* 13* 20* 22* 23* 31* 35* 36* 38* 41* 44* ΙΒ οµές Ευρετηρίων Φυσικός Σχεδιασµός Β Σελίδα 3.78

Bulk Loading - Συνέχεια ΡΙΖΑ 10 20 6 12 23 35 εν έχουν ακόµη Μπει στο Β+ έντρο 3* 4* 6* 9* 10* 11* 12* 13* 20* 22* 23* 31* 35* 36* 38* 41* 44* ΡΙΖΑ 20 10 35 εν έχουν ακόµη Μπει στο Β+ έντρο 6 12 23 38 3* 4* 6* 9* 10* 11* 12* 13* 20* 22* 23* 31* 35* 36* 38* 41* 44* ΙΒ οµές Ευρετηρίων Φυσικός Σχεδιασµός Β Σελίδα 3.79

Σύνοψη του Bulk Loading Εναλλακτικός Τρόπος 1: Πολλαπλές Εισαγωγές Αργός εν καταλήγει σε σειριακή τοποθέτηση των φύλλων Εναλλακτικός Τρόπος 1:Bulk Loading Πλεονεκτήµατα στη Λειτουργία (π.χ., έλεγχο συνδροµικότητας) Μικρότερος αριθµός από I/Os κατά την διάρκεια εισαγωγής Σειριακή τοποθέτηση των φύλλων στο ίσκο Ελέγχει καλύτερα τον παράγοντα πληρότητας ΙΒ οµές Ευρετηρίων Φυσικός Σχεδιασµός Β Σελίδα 3.80

ΣΥΝΟΨΗ για οµές Ευρετηρίων Η υλοποίηση ευρετηρίων µε οµές έντρων είναι ιδανική για RANGE QUERIES και πολύ καλή για EXACT (equality) QUERIES. To ISAM είναι µια Στατική οµή. Μόνο φύλλα κόµβοι αλλάζουν απαιτούνται κόµβοι υπερχείλισης Οι αλυσίδες των κόµβων υπερχείλισης επηρεάζουν αρνητικά την επίδοση των αναζητήσεων / ανακλήσεων εγγραφών. Το B+ tree είναι µια υναµική οµή. Οι Εισαγωγές / ιαγραφές δεν αλλάζουν την ισορροπία του έντρου; log F N είναι το κόστος αναζήτησης. Υψηλή εξάπλωση (F) σηµαίνει ότι το βάθος δεν ξεπερνά το 3 ή 4. Σχεδόν πάντα, η καλύτερη δοµή (λαµβάνοντας υπόψη την πρακτική χρήση) ΙΒ οµές Ευρετηρίων Φυσικός Σχεδιασµός Β Σελίδα 3.81

ΣΥΝΟΨΗ για οµές Ευρετηρίων (2) Στην πράξη, 67% πληρότητα είναι ο Μέσος όρος για Αρχεία Προτιµάται το Β+ - έντρο από το ISAM, διότι προσαρµόζεται στην αύξηση του αρχείου πολύ καλύτερα Η Συµπίεση Κλειδιών αυξάνει την εξάπλωση και µειώνει το ύψος Το Bulk loading είναι πολύ ταχύτερο από τις επαναλαµβανόµενες εισαγωγές όταν δηµιουργείται ένα B+ δέντρο για πολλά δεδοµένα Ένα από τα πλέον βελτιστοποιηµένα τµήµατα του DBMS. ΙΒ οµές Ευρετηρίων Φυσικός Σχεδιασµός Β Σελίδα 3.82

Πλήρης ιαδικασία Ανάπτυξης Β Ανεξάρτητα του DBMS Εξαρτώµενο του επιλεγµένου DBMS. Μικρόκοσµος (π.χ., µε Σχεσιακό Μοντέλο) Λογικό Μοντέλο -- Σχήµατα / Όψεις Απαιτήσεις Β Εννοιολογικό Μοντέλο (Σχήµα) Συλλογή Απαιτήσεων και Ανάλυση Εννοιολογικός Σχεδιασµός Βάσης (π.χ., µε E-R Model) E-R ιάγραµµα Λογικός Σχεδιασµός Βάσης Βάση εδοµένων Φυσικός Σχεδιασµός Βάσης Φυσικό Μοντέλο Εσωτερικό Σχήµα Πλήρωση Βάσης ΙΒ οµές Ευρετηρίων Φυσικός Σχεδιασµός Β Σελίδα 3.83

Επισκόπηση του Φυσικού Σχεδιασµού Μετά τον ER σχεδιασµό και τον Λογικό σχεδιασµό (Σχεσιακό µοντέλο), έχουµε τα εννοιολογικό και λογικό (µε τις όψεις) σχήµατα για τη Βάση εδοµένων. Το επόµενο βήµα είναι ο Φυσικός Σχεδιασµός, δηλαδή η επιλογή των δοµών αποθήκευσης των σχέσεων, η επιλογή των ευρετηρίων, οι αποφάσεις για συστάδες -γενικά ότι είναι απαραίτητο για να επιτευχθούν οι προσδοκώµενες Επιδόσεις χρήσης της Β. Η υλοποίηση µιας (φυσικής) Σχεσιακής Βάσης εδοµένων περιλαµβάνει τη δηµιουργία ΚΑΤΑΛΟΓΩΝ ΣΥΣΤΗΜΑΤΟΣ (directory system tables) ΙΒ οµές Ευρετηρίων Φυσικός Σχεδιασµός Β Σελίδα 3.84

ΚΑΤΑΛΟΓΟΙ ΣΥΣΤΗΜΑΤΟΣ Για κάθε Σχέση (Relation): Όνοµα, Όνοµα Αρχείου, οµή Αρχείου (π.χ., Αρχείο Σωρού) Όνοµα Γνωρίσµατος και Τύπος, για κάθε Γνώρισµα Όνοµα Ευρετηρίου, για κάθε Ευρετήριο Περιορισµοί Ακεραιότητας Για κάθε Ευρετήριο: οµή (π.χ. B+ δέντρο) και πεδία για αναζήτηση Για κάθε Όψη (view): Όνοµα Όψης και Ορισµός αυτής Επιπλέον, στατιστικά στοιχεία χρήσης, δικαιοδοσίες, µέγεθος ενδιάµεσης µνήµης, κλπ. Οι Κατάλογοι σε ένα Σχεσιακό Σύστηµα αποθηκεύονται και οι ίδιο σαν Σχέσεις ΙΒ οµές Ευρετηρίων Φυσικός Σχεδιασµός Β Σελίδα 3.85

Υλοποίηση Σχέσεων (α) Κάθε Σχέση υλοποιείται µε ένα ξεχωριστό αρχείο Για µικρές σχέσεις, ένας Σωρός - heap ίσως αρκεί Για µεγαλύτερες Σχέσεις, ISAM, B-tree, ή Hashing Ορισµός δευτερευόντων ευρετηρίων σε γνωρίσµατα π.χ.µε τις εντολές: modify R to isam on A 1 index on R is S(A 1 ) (β) Σχέσεις υλοποιούνται όπως στο DBTG- ίκτυο Αποθήκευσε σχετιζόµενες πλειάδες (από διαφορετικές Σχέσεις) µαζί Χρησιµοποίησε δοµές µε πολλές λίστες (π.χ., συστάδες) ΙΒ οµές Ευρετηρίων Φυσικός Σχεδιασµός Β Σελίδα 3.86

Φυσικός Σχεδιασµός Για να κάνουµε όσο το δυνατόν καλύτερο τον Φυσικό Σχεδιασµό, πρέπει να : Κατανοήσουµε το Φόρτο Εργασίας (workload) Ποια είναι τα πιο σηµαντικά queries και πόσο συχνά εµφανίζονται. Ποια είναι τα πιο σηµαντικά updates και πόσο συχνά εµφανίζονται. Ποια είναι η επιθυµητή επίδοση για την εκτέλεση αυτών των queries και updates. ΙΒ οµές Ευρετηρίων Φυσικός Σχεδιασµός Β Σελίδα 3.87

Η κατανόηση του φόρτου εργασίας Για κάθε Ερώτηση (query) στο workload: Σε ποιες σχέσεις έχει πρόσβαση? Ποια Γνωρίσµατα ανακαλεί? Ποια Γνωρίσµατα υπεισέρχονται στις συνθήκες για selection/join? Πόσο επιλεκτικές είναι αυτές οι συνθήκες? Για κάθε Ενηµέρωση (insert / delete/ update ) στο workload: Ποια Γνωρίσµατα υπεισέρχονται στις συνθήκες για selection/join? Πόσο επιλεκτικές είναι αυτές οι συνθήκες? Ο τύπος της ενηµέρωσης (INSERT/DELETE/UPDATE), και τα Γνωρίσµατα που θα επηρεασθούν ΙΒ οµές Ευρετηρίων Φυσικός Σχεδιασµός Β Σελίδα 3.88

Αποφάσεις που Απαιτούνται Τι ευρετήρια πρέπει να δηµιουργηθούν? Ποιες σχέσεις πρέπει να έχουν ευρετήρια? Ποια γνωρίσµατα χρησιµοποιούνται για αναζήτηση? Πρέπει να ορίσουµε πολλαπλά ευρετήρια? Για κάθε ευρετήριο, τι είδους ευρετήριο πρέπει να είναι? Συστάδες? έντρο / Κατακερµατισµός? υναµικό / Στατικό? Πυκνό / Μη-πυκνό? Χρειάζονται αλλαγές και στο εννοιολογικό / λογικό Σχήµα? ιαφορετικό κανονικοποιηµένο Σχήµα? Denormalization (µήπως χρειάζεται από-κανονικοποίηση?) Όψεις, Επανάληψη εδοµένων (replication) ΙΒ οµές Ευρετηρίων Φυσικός Σχεδιασµός Β Σελίδα 3.89

ΕΠΙΛΟΓΗ ΕΥΡΕΤΗΡΙΩΝ Προσέγγιση: Θεώρησε τα πιο σηµαντικά queries στη σειρά. Θεώρησε την καλύτερη εκτέλεση (σχέδιο) µε τα υπάρχοντα ευρετήρια, και δες αν υπάρχει ακόµη καλύτερη εκτέλεση µε ένα επιπλέον ευρετήριο. Αν είναι έτσι, δηµιούργησέ το Πριν δηµιουργήσουµε ένα ευρετήριο, πρέπει να συνυπολογίσουµε και την επίδρασή του σε ενηµερώσεις του φορτίου εργασίας! Η εξισορρόπηση είναι ότι ένα ευρετήριο κάνει τις ερωτήσεις ΠΙΟ ΓΡΗΓΟΡΕΣ και τις ενηµερώσεις ΠΙΟ ΑΡΓΕΣ Επιπλέον, απαιτεί και χώρο στον ίσκο ΙΒ οµές Ευρετηρίων Φυσικός Σχεδιασµός Β Σελίδα 3.90

Θέµατα για Επιλογή των Ευρετηρίων Γνωρίσµατα στο WHERE clause είναι υποψήφια για ευρετηρίαση Συνθήκη µε ακριβές ταίριασµα (ισότητα) µας οδηγεί σε ευρετήριο κατακερµατισµού (hash index.) Ερωτήσεις διακύµανσης µας οδηγούν σε tree index.» Το ευρετήριο συστάδων είναι ιδιαίτερα αποδοτικό για τέτοιου είδους ερωτήσεις ειδικά αν έχουµε πολλές ίσες τιµές. Προσπαθούµε πάντα να επιλέξουµε ευρετήρια που εξυπηρετούν όσα το δυνατό περισσότερα queries. Μια και µόνο µία συστάδα-ευρετήριο µπορεί να υπάρχει ανά Σχέση, διάλεξε την ΜΟΝΟ αν υπάρχει σηµαντικό query που επωφελείται. ΙΒ οµές Ευρετηρίων Φυσικός Σχεδιασµός Β Σελίδα 3.91

Θέµατα για Επιλογή των Ευρετηρίων (2) Ευρετήρια για πολλαπλά γνωρίσµατα δηµιουργούνται όταν η WHERE clause περιέχει πολλές συνθήκες Αν υπάρχουν επιλογές διακύµανσης, πρέπει να προσεχθεί η σειρά των γνωρισµάτων Όταν υπάρχει συνθήκη συνένωσης: Ανάλογα µε τη µέθοδο υλοποίησης της συνένωσης που υποστηρίζεται από το Σύστηµα, για παράδειγµα,» Το ευρετήριο µπορεί να είναι κατακερµατισµού αν η µέθοδος υλοποίησης συνένωσης είναι nested loop» Clustered B+ έντρο σε γνωρίσµατα συνένωσης είναι καλά για Sort-Merge µέθοδο συνένωσης, κλπ. ΙΒ οµές Ευρετηρίων Φυσικός Σχεδιασµός Β Σελίδα 3.92

Παραδείγµατα Hash ευρετήριο στο D.dname υποστηρίζει επιλογή για Toy Αν υπάρχει αυτό, τότε δεν χρειάζεται ευρετήριο στο D.dno Hash ευρετήριο στο E.dno µας επιτρέπει πρόσβαση σε (inner) Emp πλειάδες για κάθε επιλογή µιας (outer) Dept πλειάδας Τι θα γινόταν αν το WHERE περιελάµβανε: ``... AND E.age=25? Ανάκληση των Emp πλειάδων µε index στο E.age, µετά, συνένωση µε Dept πλειάδες (βάσει της επιλογής του dname). Άρα, αν το E.age index ήδη υπάρχει, αυτό το query δεν δίνει πολλά κίνητρα για την πρόσθεση του E.dno index. SELECT E.ename, D.mgr FROM Emp E, Dept D WHERE D.dname= Toy AND E.dno=D.dno ΙΒ οµές Ευρετηρίων Φυσικός Σχεδιασµός Β Σελίδα 3.93

Παραδείγµατα Clustering B+ tree index στο E.age µπορεί να χρησιµοποιηθεί για την ανάκληση των πλειάδων Θεωρήστε το GROUP BY query. Αν για πολλές πλειάδες το E.age > 10, η χρήση του E.age index και µετά η ταξινόµηση του αποτελέσµατος είναι αργή - Clustered E.dno index ίσως είναι καλύτερη SELECT E.dno FROM Emp E WHERE E.age>40 SELECT E.dno, COUNT (*) FROM Emp E WHERE E.age> 10 GROUP BY E.dno Ερωτήσεις µε Ισότητα Clustering στο E.hobby βοηθά πολύ! SELECT E.dno FROM Emp E WHERE E.hobby=Stamps ΙΒ οµές Ευρετηρίων Φυσικός Σχεδιασµός Β Σελίδα 3.94

Ευρετήρια για Πολλαπλά Γνωρίσµατα Για ανάκληση Emp εγγραφών µε age=30 AND sal=4000, ένα ευρετήριο στο <age,sal> είναι καλύτερο από ένα ευρετήριο στο age ή /και ένα ευρετήριο στο sal. Αυτά τα ευρετήρια αποκαλούνται ΣΥΝΘΕΤΑ ευρετήρια Αν η συνθήκη είναι: 20<age<30 AND 3000<sal<5000: Clustered tree index στο <age,sal> ή στο <sal,age> συνίσταται. Αν η συνθήκη είναι: age=30 AND 3000<sal<5000: Clustered <age,sal> index πολύ καλύτερο από το <sal,age> index! Τα σύνθετα ευρετήρια απαιτούν πολύ χώρο στο ίσκο. ΙΒ οµές Ευρετηρίων Φυσικός Σχεδιασµός Β Σελίδα 3.95

ΣΥΝΟΨΗ Η Ανάπτυξη µιας Βάσης εδοµένων περιλαµβάνει πολλές φάσεις: ανάλυση απαιτήσεων, εννοιολογικό σχεδιασµό, λογικό σχεδιασµό, φυσικό σχεδιασµό και tuning (ρύθµιση). Εν γένει, πρέπει να πηγαίνουµε µπρος-πίσω από φάση σε φάση για τον βέλτιστο σχεδιασµό, και αποφάσεις σε κάποια φάση επηρεάζουν τις δυνατότητες στις άλλες φάσεις. Κατανοώντας τον τύπο του φόρτου εργασίας για την εφαρµογή και τις προσδοκώµενες επιδόσεις, είναι σηµαντικό προαπαιτούµενο για τον καλύτερο φυσικό σχεδιασµό Ποια είναι τα πλέον συχνά /σηµαντικά queries? Ποια γνωρίσµατα / σχέσεις εµπλέκονται? κλπ. ΙΒ οµές Ευρετηρίων Φυσικός Σχεδιασµός Β Σελίδα 3.96

ΣΥΝΟΨΗ (2) Τα ευρετήρια χρησιµοποιούνται για την ταχύτερη εκτέλεση των πράξεων Τα ευρετήρια πρέπει επίσης να ενηµερώνονται στις Ενηµερώσεις του Αρχείου. Επέλεξε ευρετήρια για να εξυπηρετηθούν όσες δυνατόν περισσότερες Σχέσεις / Αρχεία.. Η δηµιουργία Συστάδας (Cluster) αποτελεί πολύ σηµαντική απόφαση; Μια και ΜΟΝΟ ένα Γνώρισµα ανά Σχέση µπορεί να είναι clustered!. Τα στατικά ευρετήρια πρέπει περιοδικά να ξανά-δηµιουργούνται Τα Στατιστικά στοιχεία στους Καταλόγους Συστήµατος πρέπει περιοδικά να ανανεώνονται / ενηµερώνονται ΙΒ οµές Ευρετηρίων Φυσικός Σχεδιασµός Β Σελίδα 3.97