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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΗΥ360 Αρχεία και Βάσεις εδοµένων

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

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

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

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

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

9. Φυσική Οργάνωση Αρχείων στο Δίσκο & Ευρετήρια

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Πληροφορική & Τηλεπικοινωνίες. K18 - Υλοποίηση Συστημάτων Βάσεων Δεδομένων Εαρινό Εξάμηνο

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

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

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

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

Εξωτερική Ταξινόμηση. Μ.Χατζόπουλος 1

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

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

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

ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ. Εξωτερική Αναζήτηση και Β-δέντρα Κεφάλαιο 16. Ε. Μαρκάκης Επίκουρος Καθηγητής

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

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

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

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

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

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

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

Εξωτερική Ταξινόμηση. Μ.Χατζόπουλος 1

Διάλεξη 11: Δέντρα Ι Εισαγωγή σε Δενδρικές Δομές Δεδομένων

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

Δομές Δεδομένων. Ενότητα 13: B-Δέντρα/AVL-Δέντρα. Καθηγήτρια Μαρία Σατρατζέμη. Τμήμα Εφαρμοσμένης Πληροφορικής. Δομές Δεδομένων

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

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

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

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

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

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

Πληροφορική & Τηλεπικοινωνίες K25 Ανάπτυξη Λογισμικού Εαρινό Εξάμηνο 2008 Καθηγητής Γιάννης Ιωαννίδης. Μέρος 2ο: Επίπεδο Ευρετηρίου Β+ Δένδρων

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

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

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

Οργάνωση Αρχείων. Διάγραμμα Σχεσιακού σχήματος. Ευρετήρια. Ταξινομημένα ευρετήρια B + δένδρα Ευρετήρια κατακερματισμού

Κεφάλαιο 5. Το Σχεσιακό Μοντέλο Δεδομένων και Περιορισμοί Σχεσιακών Βάσεων Δεδομένων

Αποθήκευση εδομένων. Μαγνητικοί ίσκοι. Μαγνητικές ταινίες για. Εισαγωγή

Διάλεξη 11: Δέντρα Ι - Εισαγωγή σε Δενδρικές Δομές Δεδομένων

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

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

Απεικόνιση Διαγράμματος Οντοτήτων-Συσχετίσεων σε Σχεσιακό Μοντέλο Δεδομένων

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Κανόνες μετατροπής Διαγράμματος Οντοτήτων-Συσχετίσεων σε Σχεσιακό Σχήμα. Δρ. Βαγγελιώ Καβακλή ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ,

Διάλεξη 17: Δυαδικά Δέντρα. Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

Αποθήκευση εδοµένων. Μαγνητικοί ίσκοι. Μαγνητικές ταινίες για. Εισαγωγή

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

Διασυνδεδεμένες Δομές. Λίστες. Προγραμματισμός II 1

Transcript:

Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-1

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

Θα μιλήσουμε για Τύποι Ταξινομημένων Ευρετηρίων ενός επιπέδου Πρωτεύοντα Ευρετήρια Ευρετήρια Συστάδες Δευτερεύοντα Ευρετήρια Ευρετήρια Πολλών Επιπέδων Δυναμικά Ευρετήρια Πολλών Επιπέδων με χρήση B-Δένδρων και B+-Δένδρων Ευρετήρια σε Πολλαπλά Κλειδιά Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-3

Ευρετήρια σαν Μέθοδοι Προσπέλασης Ένα ευρετήριο ενός επιπέδου είναι ένα βοηθητικό αρχείο που κάνει πιο αποτελεσματική την αναζήτηση μιας εγγραφής σε ένα αρχείο δεδομένων. Το ευρετήριο συνήθως ορίζεται σε ένα πεδίο του αρχείου (αν και μπορεί να ορισθεί σε πολλά πεδία) Μια μορφή ευρετηρίου είναι ένα αρχείο με καταχωρήσεις <τιμή πεδίου, δείκτης στην εγγραφή>, που είναι ταξινομημένο με τιμή πεδίου Το ευρετήριο λέγεται δρόμος προσπέλασης στο πεδίο. Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-4

Ευρετήρια σαν Μέθοδοι Προσπέλασης(συν.) Το αρχείο του ευρετηρίου συνήθως καταλαμβάνει σημαντικά μικρότερο πλήθος μπλοκ από ότι το αρχείο δεδομένων επειδή οι καταχωρήσεις του είναι κατά πολύ μικρότερες Μια δυαδική αναζήτηση στο ευρετήριο παράγει ένα δείκτη στην εγγραφή του αρχείου Τα ευρετήρια μπορούν επίσης να χαρακτηρισθούν σαν πυκνά ή αραιά Ένα πυκνό ευρετήριο έχει μια καταχώρηση ευρετηρίου για κάθε αναζήτηση τιμής κλειδιού (και επομένως κάθε εγγραφή) στο αρχείο δεδομένων. Ένα αραιό (ή μη πυκνό) ευρετήριο, από την άλλη, έχει καταχωρήσεις ευρετηρίου μόνο για κάποιες από τις τιμές αναζήτησης. Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-5

Ευρετήρια σαν Μέθοδοι Προσπέλασης(συν.) Παράδειγμα: Έστω το αρχείο δεδομένων ΕΡΓΑΖΟΜΕΝΟΣ(ΟΝΟΜΑ, ΑΡ_ΤΑΥΤ, ΔΙΕΥΘΥΝΣΗ, ΕΡΓΑΣΙΑ, ΜΙΣΘΟΣ,... ) Υποθέστε ότι: μέγεθος εγγραφής R=150 bytes μέγεθος μπλοκ B=512 bytes r=30000 εγγραφές Τότε, έχουμε: παράγοντας ομαδοποίησης Bfr= B div R= 512 div 150= 3 εγγραφές/μπλοκ πλήθος μπλοκ αρχείου b= (r/bfr)= (30000/3)= 10000 μπλοκ Για ένα ευρετήριο στο πεδίο ΑΡ_ΤΑΥΤ, υποθέστε μέγεθος πεδίου V ΑρΤΑΥΤ =9 bytes, υποθέστε μέγεθος δείκτη εγγραφής P R =7 bytes. Τότε: μέγεθος καταχώρησης ευρετηρίου R I =(V SSN + P R )=(9+7)=16 bytes παράγοντας ομαδοποίησης ευρετηρίου Bfr I = B div R I = 512 div 16= 32 κατχ/μπλοκ πλήθος μπλοκ ευρετηρίου b= (r/ Bfr I )= (30000/32)= 938 μπλοκ η δυαδική αναζήτηση απαιτεί log 2 bi= log 2 938= 10 μπλοκ προσπελάσεις Σε σχέση με το κόστος της μέσης γραμμικής αναζήτησης που είναι: (b/2)= 10000/2= 5000 μπλοκ προσπελάσεις Αν οι εγγραφές του αρχείου είναι ταξινομημένες, η δυαδική αναζήτηση θα ήταν: log 2 b= log 2 10000= 14 μπλοκ προσπελάσεις Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-6

Τα ευρετήρια ορίζονται σε ένα ή περισσότερα πεδία που ονομάζονται πεδίο(α) ή γνώρισμα(τα) ευρετηριοποίησης. Πρωτεύον Ευρετήριο Ευρετήριο Συστάδων Δευτερεύον Ευρετήριο Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-7

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

Πρωτεύον ευρετήριο στο πεδίο κλειδί ταξινόμησης Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-9

ΑΡ_ΚΥΚΛ ΜΑΡΚΑ ΜΟΝΤΕΛΟ Ευρετήριο AAA1212 BBA1212 ΑΑΑ1212 FIAT PUNTO AAB2343 FORD ESCORT BAA2356 OPEL ASTRA BBΑ2112 FIAT STYLO BBB2343 FORD MONDEO EAA2256 CITROEN SAXO YEA1412 YEΑ1412 FIAT PUNTO YYZ5667 SEAT IBIZA XXB2468 OPEL OMEGA Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-10

Τύποι Ευρετηρίων ενός Επιπέδου Ευρετήριο Συστάδα Ορίζεται σε ένα ταξινομημένο αρχείο Το αρχείο δεδομένων είναι ταξινομημένο σε ένα πεδίο που δεν είναι κλειδί, σε αντίθεση από το πρωτεύον ευρετήριο, που απαιτεί ότι το πεδίο ταξινόμησης στο αρχείο δεδομένων έχει μια διακριτή τιμή για κάθε εγγραφή. Περιλαμβάνει μια καταχώρηση ευρετηρίου για κάθε διακριτή τιμή του πεδίου η καταχώρηση ευρετηρίου δείχνει στο πρώτο μπλοκ δεδομένων που περιέχει εγγραφές με αυτή την τιμή πεδίου. Είναι ένα ακόμη παράδειγμα μη πυκνού ευρετηρίου όπου η εισαγωγή και η διαγραφή είναι σχετικά εύκολη με ένα ευρετήριο συστάδα. Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-11

Ένα παράδειγμα ευρετηρίου συστάδας Ένα ευρετήριο συστάδα στο πεδίο ταξινόμησης ΚΩΔ_ΤΜΗΜ που δεν είναι κλειδί στο αρχείο ΕΡΓΑΖΟΜΕΝΟΣ. Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-12

ΑΡ_ΤΑΥΤ ΑΡΚΥΚΛ ΠΟΣΟΣΤ_ΙΔ Ευρετήριο A122122 Α122156 Β345345 Α122122 Α122122 Α122122 Α122156 Α122156 Β345345 Β345345 Β345345 Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-13

ΑΡ_ΤΑΥΤ ΑΡΚΥΚΛ ΠΟΣΟΣΤ_ΙΔ Ευρετήριο A122122 Α122156 Α122122 Α122122 Α122122 Α122156 Α122156 Α122156 δείκτης μπλοκ null δείκτης μπλοκ Α122156 Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-14

Ένα ακόμη παράδειγμα ευρετηρίου συστάδας Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-15

Τύποι Ευρετηρίων ενός Επιπέδου Δευτερεύον Ευρετήριο Ένα δευτερεύον ευρετήριο υποστηρίζει ένα δευτερεύοντα τρόπο προσπέλασης ενός αρχείου για το οποίο υπάρχει ήδη πρωτεύουσα οργάνωση. Το δευτερεύον ευρετήριο μπορεί να είναι σε ένα πεδίο που είναι υποψήφιο κλειδί και έχει μοναδική τιμή σε κάθε εγγραφή, ή ένα πεδίο που δεν είναι κλειδί με διπλές τιμές. Το ευρετήριο είναι ένα ταξινομημένο αρχείο με δύο πεδία. Το πρώτο πεδίο είναι ίδιου τύπου δεδομένων με κάποιο πεδίο που δεν είναι κλειδί του αρχείου δεδομένων και είναι το πεδίο ευρετηρίου. Το δεύτερο πεδίο είναι ή δείκτης μπλοκ ή δείκτης εγγραφής. Μπορεί να υπάρχουν πολλά δευτερεύοντα ευρετήρια (και επομένως, πεδία ευρετηρίασης) για το ίδιο αρχείο. Περιλαμβάνει μια καταχώρηση για κάθε εγγραφή στο αρχείο δεδομένων επομένως, είναι ένα πυκνό ευρετήριο. Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-16

Παράδειγμα ενός Πυκνού Πρωτεύοντος Ευρετηρίου Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-17

Ένα Παράδειγμα Δευτερεύοντος Ευρετηρίου Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-18

Ιδιότητες Τύπων Ευρετηρίων Τύπος Ευρετηρίου Πλήθος Καταχωρήσεων του Ευρετηρίου (Πρώτου Επιπέδου) Πυκνό η Μη Πυκνό Άγκυρες μπλοκ στο Αρχείο Δεδομένων Πρωτεύον Ευρετήριο Πλήθος μπλοκ του αρχείου δεδομένων Μη πυκνό Ναι Ευρετήριο Συστάδων πλήθος διαφορετικών τιμών του πεδίου Μη Πυκνό Ναι/όχι α ευρετηρίασης Δευτερεύον Ευρετήριο πάνω σε πεδίο-κλειδί Πλήθος εγγραφών αρχείου δεδομένων Πυκνό όχι Δευτερεύον Ευρετήριο πάνω σε πεδίο-μη κλειδί Πλήθος εγγραφών β η πλήθος διαφορετικών τιμών του πεδίου ευρετηριοποίησης γ Πυκνό ή μη πυκνό όχι Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-19

Ευρετήρια Πολλών Επιπέδων Επειδή ένα ευρετήριο ενός επιπέδου είναι ένα ταξινομημένο αρχείο, μπορούμε να δημιουργήσουμε ένα πρωτεύον ευρετήριο στο ίδιο το ευρετήριο Στην περίπτωση αυτή, το αρχικό αρχείο ευρετηρίου ονομάζεται πρώτο επίπεδο ευρετηρίου και το ευρετήριο του ευρετηρίου ονομάζεται δεύτερο επίπεδο ευρετηρίου. Μπορούμε να επαναλάβουμε τη διαδικασία αυτή, δημιουργώντας ένα τρίτο, τέταρτο... επίπεδο, μέχρι που όλες οι καταχωρήσεις στο ψηλότερο επίπεδο να χωράνε σε ένα μπλοκ μνήμης. Ένα ευρετήριο πολλών επιπέδων μπορεί να δημιουργηθεί οποιοδήποτε τύπο ευρετηρίου πρώτου επιπέδου (πρωτεύον, δευτερεύον, συστάδα) όσο το πρώτο επίπεδο ευρετηρίου αποτελείται από περισσότερα από ένα μπλοκ δίσκου Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-20

Πρωτεύον Ευρετήριο δύο επιπέδων Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-21

Ευρετήρια Πολλών Επιπέδων Ένα τέτοιο ευρετήριο πολλών επιπέδων είναι μια μορφή δένδρου αναζήτησης Ωστόσο, η εισαγωγή και η διαγραφή καταχωρήσεων στο ευρετήριο αποτελεί σοβαρό πρόβλημα επειδή κάθε επίπεδο του ευρετηρίου είναι ένα ταξινομημένο αρχείο. Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-22

Δομή Ευρετηρίου Καταχωρήσεις Ευρετηρίου Εγγραφές Αρχείου σε συστάδα Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-23

Δομή Ευρετηρίου Καταχωρήσεις Ευρετηρίου Εγγραφές Αρχείου δενδρικό ευρετήριο χωρίς συστάδα Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-24

Μπορούμε να κατασκευάσουμε ευρετήρια σε δευτερεύοντα πεδία. Στην περίπτωση αυτή έχουμε διαφορετικούς τρόπους υλοποίησης Πυκνό ευρετήριο. Μια καταχώρηση για κάθε εγγραφή. Μεταβλητού μήκους εγγραφές που για κάθε τιμή του πεδίου περιέχουν μια λίστα από διευθύνσεις. Χρησιμοποίηση ενδιάμεσου επιπέδου ευρετηρίου (που χρησιμοποιείται και πιο συχνά). Υπάρχει μια καταχώρηση για κάθε διαφορετική τιμή του πεδίου με δείκτη σε δεύτερο επίπεδο που υπάρχει μια λίστα από διευθύνσεις Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-25

Τιμή_Πεδίου Διευθ_Μπλοκ Ξεχωριστή καταχώρηση για κάθε εγγραφή Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-26

Επαναλαμβανόμενο πεδίο με τις διευθύνσεις Τιμή_Πεδίου Διευθύνσεις_Μπλοκ Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-27

Μπλοκ με Δείκτες εγγραφών Αρχείο Δεδομένων Τιμή Πεδίο 1 2 Δείκτης Μπλοκ Χρήση Ενδιάμεσου Επιπέδου Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-28

Ένας κόμβος σε ένα δένδρο αναζήτησης με δείκτες στα υποδένρα του Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-29

Ένα δένδρο αναζήτησης τάξεως p = 3. Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-30

ISAM αρχεία (Indexed Sequential Access Method) Δημιουργούμε ένα δεύτερο αρχείο με μια εγγραφή για κάθε σελίδα του αρχικού αρχείου, της μορφής <πρώτο κλειδί στη σελίδα, δείκτης στη σελίδα> ταξινομημένο προς το κλειδί Το ζευγάρι <key, pointer> αναφέρονται σαν καταχώρηση. Κάθε κλειδί στο ευρετήριο αποτελεί διαχωριστή για τα περιεχόμενα των σελίδων που δείχνουν οι δείκτες. Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-31

Πολυεπίπεδα Ευρετήρια 1 μπλοκ Στη μνήμη 1-1000000 100 μπλοκ 1-10000 10001-20000 999001-1000000 10000 μπλοκ 1-100 101-200 9999901-10000000 1-10 11-20 21-30 9999991-10000000 Αρχείο δεδομένων Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-32

Αρχεία ISAM (Indexed Sequential Access Method) p 0 k 1 p 1 k 2 p 2 k m p m Σελίδα του ευρετηρίου Το ζεύγος κλειδί, δείκτης αποτελεί μια καταχώρηση του ευρετηρίου (k i, p i ) Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-33

Αντί να γίνεται αναζήτηση στο αρχείο δεδομένων η αναζήτηση γίνεται στο ευρετήριο. Εκεί μπορεί να γίνει δυαδική αναζήτηση σε μικρότερο αρχείο. Η ιδέα είναι αν μπορώ να μεταφέρω την οργάνωση του ευρετηρίου αναδρομικά μέχρι το αρχικό βοηθητικό αρχείο να χωράει στη μνήμη. Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-34

Σελίδες δεδομένων Σελίδες Ευρετηρίου Σελίδες Υπερχείλισης Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-35

Εναλλακτικά μπορούμε να υλοποιήσουμε την μέθοδο θέτοντας στα φύλα μόνο τιμή κλειδιού και διεύθυνση στο αρχείο. Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-36

Ρίζα 40 20 33 51 63 10* 15* 20* 27* 33* 37* 40* 46* 51* 55* 63* 97* Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-37

Ρίζα Εισαγωγή 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* Υπερχείλιση Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-38

Ρίζα Διαγραφή 42, 51, 97 Πρωτεύουσες Σελίδες Ενδιάμεσοι κόμβοι 40 20 33 51 63 10 15 20 27 33 37 40 46 55 63 23 48 41 Υπερχείλιση Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-39

Το κόστος της αναζήτησης σε προσπελάσεις στο δίσκο είναι όσο και το ύψος του ευρετηρίου συν την προσπέλαση στη σελίδα των δεδομένων συν τις προσπελάσεις στην υπερχείλιση. Όταν δημιουργηθεί το ISAM αρχείο οι διαγραφές και οι εισαγωγές επηρεάζουν τα φύλα. Σαν αποτέλεσμα δημιουργούνται μακρές λίστες από σελίδες υπερχείλισης. Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-40

Η αναζήτηση στο ευρετήριο εξαρτάται από το ύψος του. Αν επομένως το πλήθος των πεδίων ανά σελίδα ευρετηρίου είναι F (λέγεται fun out) και αν N το πλήθος των πρωτευόντων σελίδων φύλων τότε η αναζήτηση απαιτεί log F N προσπελάσεις. Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-41

Σαν μια λύση στο πρόβλημα αυτό είναι η φόρτωση των φύλων μόνο σε ένα ποσοστό (80% για παράδειγμα). Μια τέτοια οργάνωση είναι τα VSAM (Virtual Storage Access Method) αρχεία που αναπτύχθηκαν από την IBM και θεωρούνται προκάτοχοι των Β-δένδρων. Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-42

ISAM αρχεία (συν) K1, k2 kn Αρχείο ευρετηρίου Σελ. 1 Σελ. 2 Σελ. 3 Σελ. Ν Αρχείο δεδομένων Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-43

ISAM αρχεία (συν). Το προηγούμενο βήμα μπορεί να επεκταθεί στο κτίσιμο ενός ευρετηρίου πολλών επιπέδων Ενδιάμεσοι κόμβοι..................... Σελίδα υπερχείλισης Σελίδες φύλα Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-44

Δυναμικά Πολυεπίπεδα Ευρετήρια με Χρήση B-Δένδρων και B+-Δένδρων Τα περισσότερα ευρετήρια πολλών επιπέδων χρησιμοποιούν δομές δεδομένων B-δένδρων ή B+δένδρων λόγω του προβλήματος εισαγωγής και διαγραφής Αυτό αφήνει σε κάθε κόμβο του δένδρου (μπλοκ στο δίσκο) ελεύθερο χώρο για νέες καταχωρήσεις Αυτές οι δομές δεδομένων αποτελούν παραλλαγές των δένδρων αναζήτησης που υποστηρίζουν αποτελεσματική εισαγωγή και διαγραφή νέων τιμών αναζήτησης. Στις δομές δεδομένων B-δένδρων και B+-δένδρων, κάθε κόμβος αντιστοιχεί σε ένα μπλοκ του δίσκου Κάθε κόμβος είναι από γεμάτος ή μέχρι τη μέση Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-45

Δυναμικά Πολυεπίπεδα Ευρετήρια με Χρήση B-Δένδρων και B+-Δένδρων(συν.) Η εισαγωγή σε ένα κόμβο που δεν είναι γεμάτος είναι πολύ αποδοτική Αν ένας κόμβος είναι γεμάτος η εισαγωγή προκαλεί διάσπαση σε δύο κόμβους Η διάσπαση μπορεί να διαδοθεί σε άλλα επίπεδα του δένδρου Μια διαγραφή είναι πολύ αποδοτική αν ένας κόμβος δεν πέφτει κάτω από το μισό Αν μια διαγραφή οδηγήσει σε κόμβο με λιγότερες από μισές καταχωρήσεις, πρέπει να συνενωθεί με γειτονικούς κόμβους Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-46

Διαφορά μεταξύ B-δένδρου και B+δένδρου Σε ένα Β-δένδρου, υπάρχουν δείκτες προς εγγραφές δεδομένων σε όλα τα επίπεδα του δένδρου Σε ένα B+-δένδρο, όλοι οι δείκτες προς τις εγγραφές δεδομένων υπάρχουν στους κόμβους φύλα Ένα B+-δένδρο μπορεί να έχει λιγότερα επίπεδα (ή μεγαλύτερη χωρητικότητα τιμών αναζήτησης) από το αντίστοιχο B-δένδρο Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-47

Δομές B-δένδρου Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-48

Οι κόμβοι ενός B+-δένδρου FIGURE 14.11 The nodes of a B+-tree (a) Internal node of a B+-tree with q 1 search values. (b) Leaf node of a B+-tree with q 1 search values and q 1 data pointers. Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-49

Ένα παράδειγμα εισαγωγής σε B+-δένδρο Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-50

Ένα παράδειγμα διαγραφής σε ένα B+δένδρο Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-51

Σύνοψη Τύποι διατεταγμένων ευρετηρίων ενός επιπέδου Πρωτεύοντα ευρετήρια Ευρετήρια Συστάδες Δευτερεύοντα Ευρετήρια Ευρετήρια πολλών επειπέδων Δυναμικά ευρετήρια πολλών επιπέδων με χρήση B-δένδρων και B+-δένδρων Ευρετήρια σε πολλά κλειδιά Δίαβλος, Επιμέλεια Μ.Χατζόπουλος Διαφάνεια 14-52