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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Κατακερματισμός (Hashing)

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

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

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

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

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

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

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

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

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

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

Άσκηση 1. με κόκκινο χρώμα σημειώνονται οι κρίσιμοι κόμβοι

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

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

Ενότητα 6: Κατακερματισμός Ασκήσεις και Λύσεις

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

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

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

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

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

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

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

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

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

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

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Δέντρα Αναζήτησης. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

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

Δυναμικά Σύνολα. Δυναμικό σύνολο. Tα στοιχεία του μεταβάλλονται μέσω εντολών εισαγωγής και διαγραφής. διαγραφή. εισαγωγή

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

Πίνακες Συμβόλων. εισαγωγή αναζήτηση επιλογή. εισαγωγή. αναζήτηση

Δομές Αναζήτησης. εισαγωγή αναζήτηση επιλογή. εισαγωγή. αναζήτηση

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

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

Δυναμικά Σύνολα. Δυναμικό σύνολο. Tα στοιχεία του μεταβάλλονται μέσω εντολών εισαγωγής και διαγραφής. διαγραφή. εισαγωγή

Δομές Δεδομένων και Αλγόριθμοι

Δυναμικά Σύνολα. Δυναμικό σύνολο. Tα στοιχεία του μεταβάλλονται μέσω εντολών εισαγωγής και διαγραφής. διαγραφή. εισαγωγή

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

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Συστήματα Αρχείων. Διδάσκoντες: Καθ. Κ. Λαμπρινουδάκης Δρ. Α. Γαλάνη

Προηγμένη Ευρετηρίαση Δεδομένων (ΠΜΣ) Ενδεικτικές ερωτήσεις-θέματα για την εξέταση της θεωρίας

Αποθήκευση Δεδοµένων

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

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

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

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Κατακερματισμός. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Transcript:

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

Θεωρία Άτρακτος/αυλάκι : ομόκεντροι κύκλοι στον δίσκο Κύλινδρος: οι άτρακτοι με την ίδια διάμετρο σε κάποιο πακέτο δίσκων Μπλοκ ή Τομείς(sectors): μέρη της ατράκτου Ισομεγέθη μπλοκ ή σελίδες : καθορίζονται κατά την διαδικασία της μορφοποίησης στατικά. Χωρίζονται με διάκενα μεταξύ τους interblock gaps Συστάδα (cluster) : συνεχόμενα μπλοκ

Δίσκος Τομέας (Sector) (= block=page) Κεφαλή Ανάγνωσης/ Εγγραφής Δίσκος(platter) Κύλινδρος (cylinder) Άτρακτος (track)

Θεωρία Εγγραφή record : μορφή αποθήκευσης των δεδομένων στον δίσκο. Αποτελείται από τιμές (values) που αντιστοιχούν σε συγκεκριμένα πεδία (fields) της εγγραφής Αρχείο File : ακολουθία από εγγραφές Εγγραφές σταθερού μήκους : όλες οι εγγραφές στο αρχείο έχουν το ίδιο μέγεθος σε Byte Εγγραφές μεταβλητού μήκους

Θεωρία Για αρχεία με εγγραφές σταθερού μήκους Παράγοντας κανονικοποίησης bfr= B/R B=μέγεθος ενός μπλοκ σε bytes R=μέγεθος εγγραφής σε bytes Αχρησιμοποίητος χώρος B-(bfr*R) bytes Εκτεινόμενη οργάνωση (spanned) μία εγγραφή μπορεί να εκτείνεται σε περισσότερα από ένα μπλοκ Μέσο πλήθος εγγραφών ανά μπλοκ του αρχείου bfr # μπλοκ για ένα αρχείο r εγγραφών r : το πλήθος των εγγραφών του αρχείου b : το πλήθος των μπλοκ που απαιτούνται για την αποθήκευση ενός αρχείου r εγγραφών b= r/bfr μπλοκ Μη εκτεινόμενη οργάνωση (unspanned) η εγγραφή δεν επιτρέπεται να εκτείνεται σε περισσότερα από ένα μπλοκ

Εκφώνηση Ένα αρχείο έχει r=20.000 εγγραφές του τύπου φοιτητής με σταθερό μήκος. Κάθε εγγραφή έχει τα ακόλουθα πεδία: ΟΝΟΜΑ (30 byte) ΑΤ(9 byte) Διεύθυνση(40 byte) Τηλέφωνο (9 byte) Ημερ_Γεν(8 byte) Φύλο (1 byte) Κύρια_κατεύθυνση(4 byte) Δευτερεύσουσα_κατεύθυνση (4 byte) Έτος( 4 byte) Κωδ_Πτυχίου(3 byte)

ΑΣΚΗΣΗ 1 - Εκφώνηση Το αρχείο είναι αποθηκευμένο σε δίσκο με τα εξής χαρακτηριστικά Μέγεθος μπλοκ B=512 byte Πλήθος μπλοκ ανά άτρακτο=20 Πλήθος ατράκτων ανά επιφάνεια = 400 Ένα πακέτο δίσκων αποτελείται από 15 δίσκους διπλής όψης

ΑΣΚΗΣΗ 1-Ερωτήσεις Ποια είναι η συνολική χωρητικότητα της ατράκτου; Πόσοι κύλινδροι υπάρχουν σε έναν δίσκο; Ποια είναι η συνολική χωρητικότητα ενός κυλίνδρου; Ποια είναι η συνολική χωρητικότητα ενός πακέτου δίσκων; Υπολογίστε το μέγεθος εγγραφής R σε byte. Υπολογίστε τον παράγοντα ομαδοποίησης bfr και τον αριθμό των μπλοκ b, υποθέτοντας μη εκτεινόμενη οργάνωση

ΑΣΚΗΣΗ 1 - Απαντήσεις Ποια η συνολική χωρητικότητα της ατράκτου; 20 μπλοκ * 512 Byte = 10kb Πόσοι κύλινδροι υπάρχουν σε έναν δίσκο; Όσοι και οι άτρακτοι κύλινδρος: το σύνολο των ατράκτων με την ίδια διάμετρο. Άρα 400

ΑΣΚΗΣΗ 1-Απαντήσεις Ποια είναι η συνολική χωρητικότητα ενός κυλίνδρου 1 κύλινδρος 15 δίσκοι * δυο επιφάνειες = 30 άτρακτοι. Άρα: χωρητικότητα 30 * 10=300 kb Ποια είναι η συνολική χωρητικότητα ενός πακέτου δίσκων 1 πακέτο δίσκων = 400 κύλινδροι. Άρα Χωρητικότητα 300 * 400=120Mb

ΑΣΚΗΣΗ 1-Απαντήσεις Υπολογίστε το μέγεθος εγγραφής R σε byte (30byte +9+40+9+8+1+4+4+4+3+1 σημάδι διαγραφής σε κάθε εγγραφή) R=113 Υπολογίστε τον παράγοντα ομαδοποίησης bfr και τον αριθμό των μπλοκ b, υποθέτοντας μη εκτεινόμενη οργάνωση bfr= B/R = 512/113 = 4 b= r/bfr =20000/4=5000 μπλοκ

Θεωρία - Πρωτεύουσες μέθοδοι για την οργάνωση των εγγραφών Τεχνική των μη ταξινομημένων εγγραφών Αρχείο σωρού τοποθετεί τις εγγραφές στον δίσκο χωρίς καμία ιδιαίτερη διάταξη Γραμμική αναζήτηση ΜΠ:(b/2)block Εύκολη διαγραφή - εισαγωγή Τεχνική ταξινομημένων εγγραφών Ταξινομημένο (ή σειριακό) αρχείο-διατηρεί τις εγγραφές σε διάταξη σύμφωνα με την τιμή κάποιου συγκεκριμένου πεδίου (κλειδί ταξινόμησης) Δυαδική αναζήτηση ΜΠ: log 2 (b) block Δύσκολη εισαγωγή αρχείο υπερχείλισης Τεχνική κατακερματισμένων εγγραφών Κατακερματισμένο αρχείο χρησιμοποιεί συνάρτηση κατακερματισμού που εφαρμόζεται σε κάποιο πεδίο (κλειδί κατακερματισμού) για να προσδιορίσει την διεύθυνση των εγγραφών στον δίσκο

Θεωρία ευρετήρια Ένα ευρετήριο (index) είναι μια βοηθητική δομή αρχείου που κάνει πιο αποδοτική την αναζήτηση μιας εγγραφής σε ένα αρχείο Το ευρετήριο καθορίζεται (συνήθως) σε ένα γνώρισμα του αρχείου που καλείται πεδίο ευρετηριοποίησης (indexing field) Το ευρετήριο αρχείου είναι ένα διατεταγμένο αρχείο με σταθερού μήκους εγγραφές Για ένα αρχείο μπορούμε να ορίσουμε περισσότερα από ένα ευρετήρια Αρχείο Ευρετηρίου Αρχείο Δεδομένων Γνώρισμα ευρετηρίου Δείκτης στο block της εγγραφής Μπλοκ στον δίσκο Γνώρισμα ευρετηρίου υπόλοιπα γνωρίσματα

Πρωτεύον Ευρετήριο Ευρετήριο ορισμένο επί του πεδίου κλειδιού διάταξης ενός διατεταγμένου αρχείου εγγραφών Το πρωτεύον ευρετήριο είναι ένα μη πυκνό ευρετήριο Πυκνό ευρετήριο: μια καταχώρηση για κάθε τιμή αναζήτησης (εγγραφή του αρχείου δεδομένων) Αραιό ευρετήριο: καταχωρήσεις μόνο για μερικές από τις τιμές αναζήτησης Το κλειδί αναζήτησης του ευρετηρίου είναι συνήθως το πρωτεύων κλειδί των εγγραφών.

ΑΣΚΗΣΗ 2-Αναζήτηση χωρίς ευρετήριο σε διατεταγμένο αρχείο Διατεταγμένο αρχείο r = 30000 εγγραφές Μέγεθος μπλοκ B=1024 byte Εγγραφές σταθερού μεγέθους μη εκτεινόμενες Μήκος εγγραφής R=100 byte Ποιος ο απαιτούμενος αριθμός προσπελάσεων μπλοκ στον δίσκο για να βρεθεί η ζητούμενη εγγραφή στην ΜΠ; 1. Παράγοντας σελιδοποίησης bfr= (Β/R) =10 εγγραφές ανά μπλοκ 2. Απαιτούμενος αριθμός μπλοκ b= (r/bfr) =3000 μπλοκ 3. Δυαδική αναζήτηση log 2 b = log 2 3000 =12 προσπελάσεις μπλοκ

ΑΣΚΗΣΗ 2 βελτίωση στην αναζήτηση με χρήση ευρετηρίου Υποθέστεγιατοίδιοαρχείοότι Μήκος πεδίου κλειδιού διάταξης αρχείου V=9byte Μήκος δείκτη block P=6 byte Ποιος ο απαιτούμενος αριθμός προσπελάσεων μπλοκ στον δίσκο για να βρεθεί η ζητούμενη εγγραφή στην ΜΠ; Μέγεθος κάθε καταχώρησης στο αρχείο ευρετηρίου Ri=9+6=15byte Παράγοντας ομαδοποίησης στο ευρετήριο bfri= (Β/R i ) bfri=1024/15=68 καταχωρήσεις ανά μπλοκ Ολικός αριθμός καταχωρήσεων του ευρετηρίου είναι r i r i =#τωνμπλοκτωναρχείωνδεδομένων=3000 αριθμός των μπλοκ που απαιτούνται για το ευρετήριο είναι b i = (r i /bfr i ) = (3000/68) =45 block Για μια δυαδική αναζήτηση θα απαιτούνταν (log 2 b i ) = (log 2 45) =6 προσπελάσεις block Για την αναζήτηση μιας εγγραφής χρειαζόμαστε μία επιπλέον προσπέλαση άρα 7 προσπελάσεις block

Θεωρία - Δευτερεύον Ευρετήριο Οι εγγραφές του αρχείου δεν είναι διατεταγμένες ως προς το πεδίο ευρετηριοποίησης το πεδίο ευρετηριοποίησης μπορεί είτε να είναι υποψήφιο κλειδί είτε όχι Πυκνό ευρετήριο: μία καταχώρηση για κάθε εγγραφή του αρχείου δεδομένων Μήκος εγγραφής σταθερό ή μεταβλητό Μία εγγραφή ευρετηρίου για κάθε τιμή του πεδίου ευρετηριοποίησης + ένα ενδιάμεσο επίπεδο για την διαχείριση των πολλαπλών δεικτών

ΑΣΚΗΣΗ 3 Γραμμική αναζήτηση Διατεταγμένο αρχείο r = 30000 εγγραφές Μέγεθος μπλοκ B=1024 byte Εγγραφές σταθερού μεγέθους μη εκτεινόμενες Μήκος εγγραφής R=100 byte Ποιος ο απαιτούμενος αριθμός προσπελάσεων μπλοκ στον δίσκο για να βρεθεί η ζητούμενη εγγραφή στην ΜΠ με χρήση γραμμικής αναζήτησης; Παράγοντας σελιδοποίησης bfr= (Β/R) =10 εγγραφές ανά μπλοκ Απαιτούμενος αριθμός μπλοκ b= (r/bfr) =3000 μπλοκ Για γραμμική αναζήτηση στο αρχείο στο αρχείο θα χρειαζόμασταν b/2=3000/2=1500 προσπελάσεις μπλοκ στην ΜΠ.

ΑΣΚΗΣΗ 3 Χρήση δευτερεύοντος ευρετηρίου Κατασκευάζουμε δευτερεύον αρχείο Υποθέστε ότι Μήκος πεδίου-κλειδί του αρχείου V=9byte Μήκος δείκτη block P=6 byte Δεδομένα ίδια με την προηγούμενη άσκηση Ποιος ο απαιτούμενος αριθμός προσπελάσεων μπλοκ στον δίσκο για να βρεθεί η ζητούμενη εγγραφή στην ΜΠ με χρήση δευτερεύοντος ευρετηρίου Μέγεθος κάθε καταχώρησης στο ευρετήριο R i =9+6=15byte Παράγοντας ομαδοποίησης στο ευρετήριο bfri= (Β/R i ) =1024/15=68 καταχωρήσεις ανά μπλοκ Σε ένα πυκνό δευτερεύον ευρετήριο. O ολικός αριθμός καταχωρήσεων r i είναι ίσος με το πλήθος εγγραφών του αρχείου δεδομένων που είναι 30000. αριθμός των μπλοκ που απαιτούνται για το ευρετήριο είναι b i = (r i /bfr i ) = (30000/68) =442 block Για μια δυαδική αναζήτηση θα απαιτούνταν (log 2 b i ) = (log 2 442) =9 προσπελάσεις block Για την αναζήτηση μιας εγγραφής χρειαζόμαστε μία επιπλέον προσπέλαση άρα 10 προσπελάσεις block

Πολυεπίπεδα ευρετήρια Στόχος : να μειώσουμε το ευρετήριο που διεξάγουμε την αναζήτηση κατά έναν παράγοντα bfr i =fo (παράγοντας διακλάδωσης) Αν fo>2 τοτε log fo b i <log 2 b i προσπελάσεις μπλοκ fo σταθερό για κάθε επίπεδο Το πρώτο επίπεδο χρειάζεται (r 1 /f o ) μπλοκ =r 2 = # καταχωρήσεων για το 2 ο επιπέδο κτλ. Κάθε επίπεδο ελαττώνει τον αριθμό των καταχωρήσεων του προηγούμενου κατά έναν παράγοντα fo Ισχύει : 1 (r 1 /((fo) t ) Ένα πολυεπίπεδο ευρετήριο με r 1 καταχωρήσεις στο πρώτο επίπεδο θα έχει t= (log fo (r 1 )) t = το πλήθος των επιπέδων που θα έχει το ευρετήριο

4 7 12 14 25 Επίπεδο Ρίζα (1 Block) 36 4 49 108 F O = 3 4 14 33 49 69 86 108 129 142 27 33 36 38 49 51 66 69 74 80 86 100 103 36 108 111 125 129 133 136 142 Αρχείο δεδομένων 144 158

Άσκηση 4 Χρήση πολυεπίπεδων ευρετηρίων Υποθέστε ότι Μήκος πεδίου κλειδιού διάταξης αρχείου V=9byte Μήκος δείκτη block P=6 byte Λοιπά στοιχεία όμοια με τις προηγούμενες ασκήσεις Ποιος ο απαιτούμενος αριθμός προσπελάσεων μπλοκ στον δίσκο για να βρεθεί η ζητούμενη εγγραφή στην ΜΠ με χρήση πολυεπίπεδου ευρετηρίου Μέγεθος κάθε καταχώρησης στο αρχείο R i =9+6=15byte Παράγοντας ομαδοποίησης στο ευρετήριο bfri= (Β/R i ) =1024/15=68 καταχωρήσεις ανά μπλοκ Παράγοντας διακλάδωσης fo = bfri=68 αριθμός των μπλοκ πρώτου επιπέδου b 1 = (r 1 /fo) = 442 block αριθμός των μπλοκ δεύτερου επιπέδου b 2 = (b 1 /fo) = 7 block αριθμός των μπλοκ τρίτου επιπέδου b 3 = (b2/fo) = 1block Άρα t=3 και το τρίτο επίπεδο είναι το κορυφαίο Για την αναζήτηση μιας εγγραφής χρειαζόμαστε μία προσπέλαση για κάθε μπλοκ κάθε επιπέδου συν ένα μπλοκ από το αρχείο δεδομένων άρα 3+1=4 προσπελάσεις block

Θεωρία Β-δέντρα (B-trees) Κάθε κόμβος του δέντρου είναι ένα block στο δίσκο Ισοζυγισμένο: όλοι οι κόμβοι-φύλλα στο ίδιο επίπεδο Ένα Β-δέντρο τάξεως (order) p ορίζεται ως εξής: 1. Κάθε εσωτερικός κόμβος είναι της μορφής q <= p, όπου P i δείκτης δέντρου, K i τιμή αναζήτησης, Pr i δείκτης δεδομένων <P 1, <K 1, Pr 1 >, P 2, <K 2, Pr 2 >, <K q-1, Pr q-1 >, P q >, P 1 K 1 Pr 1... K j-1 Pr j-1 P j P q-1 K q-1 Pr q-1 P q Συμβολισμός K i * X < K 1 K j-1 < X < K j K q-1 < X

Β-δέντρα 2. Σε κάθε κόμβο Κ1 < Κ2 < Κ q -1 3. Για όλες τις τιμές X στο υποδέντρο που δείχνει το Pj ισχύει Κj-1 < X < Kj για 1 < j < q, X < Kj για j =1, και Κj -1 < Χ γιαj = q 4. Κάθε κόμβος έχει το πολύ p δείκτες δέντρου 5. Κάθε κόμβος εκτός της ρίζα και των φύλλων έχει τουλάχιστον (p/2) δείκτες δέντρου. Η ρίζα έχει τουλάχιστον 2 εκτός αν είναι ο μόνος κόμβος του δέντρου. 6. Ένας κόμβος με q δείκτες δέντρου περιέχει q - 1 τιμές πεδίου αναζήτησης (και άρα και q - 1 δείκτες δεδομένων) 7. Όλα τα φύλλα βρίσκονται στο ίδιο επίπεδο. Τα φύλλα έχουν την ίδια δομή εκτός του ότι οι δείκτες δέντρου είναι null.

Εισαγωγή σε Β-δέντρο Εισαγωγή σε φύλλο; σε περίπτωση υπερχείλισης προώθησε την μέση τιμή στο επάνω επίπεδο (περιοδικά) Διέσπασε (split) ώστε να διατηρούνται οι ιδιότητες ενός B - tree Εάν υπάρχουν μέσες τιμές; (Π.χ., τάξη 4) Επιλέγουμε ποιον κόμβο θα προωθήσουμε προς τα επάνω Το ύψος αυξάνεται όταν υπάρξει υπερχείλιση και διασπαστεί η ρίζα Αυτόματη αύξηση και αναδιοργάνωση (συγκριτικά με ISAM!)

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

Διαγραφή Β-δέντρα Περιπτώσεις 1 η Περίπτωση: διαγραφή κλειδιού από κόμβο φύλο - χωρίς υποχείλιση 2 η Περίπτωση: διαγραφή κλειδιού από εσωτερικό κόμβο - χωρίς υποχείλιση 3 η Περίπτωση: διαγραφή κλειδιού από εσωτερικό κόμβο - υποχείλιση και πλούσιος γειτονικός κόμβος 4 η Περίπτωση: διαγραφή κλειδιού από εσωτερικό κόμβο - υποχείλιση και φτωχός γειτονικός κόμβος

Άσκηση 5 Σε κάθε υποερώτημα της παρούσας άσκησης σας δίνεται ένα στιγμιότυπο της ανάπτυξης ενός B-tree. Εσείς καλείστε να σχεδιάσετε το δέντρο που θα προκύψει μετά από μία πράξη εισαγωγής ή διαγραφής

Άσκηση 5-1 Εισαγωγή του στοιχείου 75 45 78 11 21 65 112 Λύση : 45 78 11 21 65 75 112

Άσκηση 5-2 Εισαγωγή του στοιχείου 20 45 78 11 21 65 112 Λύση : 45 20 78 11 21 65 112

Άσκηση 5-3 Διαγραφή του στοιχείου 21 45 78 11 21 65 112 Λύση : 45 78 11 65 112

Άσκηση 5-4 Διαγραφή του στοιχείου 45 45 78 11 21 65 112 Λύση : 21 78 11 65 112 Επέλεξε το μεγαλύτερο κλειδί από το αριστερότερο υποδέντρο (ή το μικρότερο από το δεξί υπόδεντρο)

Άσκηση 5-5 Διαγραφή του στοιχείου 65 45 78 11 21 65 112 Λύση : 21 78 11 45 112

Άσκηση 5-6 Διαγραφή του στοιχείου 21 45 78 11 21 65 112 Λύση : 45 78 Πλούσιος γείτονας = μπορεί να δώσει ένα κλειδί χωρίς υπερχείλιση Δανείζει ένα κλειδί : πάντα ΔΙΑΜΕΣΟΥ του ΜΗΤΡΙΚΟΥ ΚΟΜΒΟΥ! 11 65 112

Άσκηση 5-7 Διαγραφή του στοιχείου 112 45 78 11 21 65 112 Συγχώνευσε, αποσπώντας ένα κλειδί από τον πατέρα Ακριβώςτοαντίθετοαπότηνεισαγωγή: διέσπασε και προώθησε προς τα επάνω, vs. Συγχώνευσε και προώθησε προς τα κάτω Λύση : 45 11 21 65 78

Β-δέντρα πρακτικά: Πρακτικά: <6 6 >6 <9 9 >9 ΑΦΜ 3 7 1 3 7 13 6 9 1

Β + - δέντρα Διευκολύνουν σειριακές πράξεις Ενώνουν όλους τους κόμβους φύλλα μαζί Αντιγράφουν κλειδιά των εσωτερικών κόμβων ώστε να βεβαιωθεί ότι κάθε κλειδί εμφανίζεται στο επίπεδο των φύλλων

Β + - δέντρα - Ιδιότητες Για ένα B+-δέντρο τάξης n ισχύει (n δείκτες): Όλα τα μονοπάτια από την ρίζα ως το επίπεδο των φύλλων έχουν το ίδιο μήκος Κάθε κόμβος που δεν είναι ρίζα ή φύλλο έχει το ελάχιστο [n/2] και το μέγιστο n παιδιά Ένας κόμβος φύλλο έχει το ελάχιστο [(n 1)/2] και το μέγιστο n-1 τιμές Ειδικές περιπτώσεις: Εάν η ρίζα δεν είναι φύλλο θα πρέπει να έχει τουλάχιστον δύο παιδιά Εάν η ρίζα είναι φύλλο (δηλ δεν υπάρχουν άλλοι κόμβοι στο δέντρο), μπορεί να έχει το ελάχιστο 0 και το μέγιστο (n-1) τιμές

Β + - δέντρα Δομή κόμβων Τυπικός κόμβος K i : Οι τιμές των κλειδιών αναζήτησης (search-key) P i : δείκτες προς τους κόμβους παιδιά (για εσωτερικούς κόμβους) ή προς εγγραφές ή κάδους εγγραφών (για κόμβους φύλλα) Τα κλειδιά αναζήτησης σε έναν κόμβο είναι διατεταγμένα K 1 < K 2 < K 3 <... < K n 1

Κόμβοι φύλλα σε ένα Β + -δέντρο Ιδιότητες Για κάθε i = 1, 2,..., n 1 οδείκτηςp i, είτε δείχνει σε εγγραφές αρχείων με τιμή κλειδιού αναζήτησης K i, είτε σε κάποιο κάδο δεικτών προς εγγραφές αρχείων, όπου κάθε εγγραφή έχει κλειδί αναζήτησης με τιμή K i. Θα χρησιμοποιήσουμε την δομή κάδων μόνο εάν τα κλειδιά αναζήτησης δεν αποτελούν πρωτεύων κλειδί Εάν οι κόμβοι L i,l J είναι φύλλα και i< j, τότε οι τιμές των κλειδιών αναζήτησης του L i είναι μικρότερες από τις τιμές των κλειδιών αναζήτησης του L j ΟδείκτηςP n δείχνει στον επόμενο κόμβο φύλλο κατά την φορά διάταξης των κλειδιών αναζήτησης

Ιδιότητες εσωτερικών κόμβων των Β + - δέντρων Οι εσωτερικοί κόμβοι σχηματίζουν ένα πολύ-επίπεδο αραιό ευρετήριοπροςτουςκόμβουςφύλλα. Για έναν εσωτερικό κόμβο με m δείκτες, έχουμε: Όλες οι τιμές των κλειδιών αναζήτησης του υποδέντρου στο οποίο δείχνει ο δείκτης P 1 είναι μικρότερες από K 1 Για 2 i n 1, όλα τα κλειδιά αναζήτησης στο υπόδεντρο στο οποίο δείχνει ο δείκτης P i θα έχει τιμές μεγαλύτερες ή ίσες του K i 1 και μικρότερες του K m 1

B-Tree vs B+-Tree B-tree (επάνω) και B+-tree (κάτω) για ίδιο σύνολο δεδομένων

Β + - δέντρα - Εισαγωγή Π.χ., εισαγωγή 8 <6 6 >=6 <9 9 >=9 1 3 6 7 9 13

Β + - δέντρα - Εισαγωγή Π.χ., εισαγωγή 8 <6 6 >=6 <9 9 >=9 1 3 6 7 9 13 8

Β + - δέντρα - Εισαγωγή Π.χ., εισαγωγή 8 <6 1 3 6 >=6 <9 6 9 >=9 7 8 9 13 Αντέγραψε την μεσαία τιμή επάνω

Β + - δέντρα - Εισαγωγή Π.χ., εισαγωγή 8 <6 6 >=6 <9 9 7 >=9 1 3 6 7 8 9 13 Αντέγραψε την μεσαία τιμή επάνω

Β + - δέντρα - Εισαγωγή Π.χ., εισαγωγή 8 <6 6 >=6 <9 9 7 Σε περίπτωση υπερχείλισης σε εσωτερικό κόμβο απλά προώθησε την μεσαία τιμή >=9 1 3 6 7 8 9 13 Αντέγραψε την μεσαία τιμή επάνω

Β + - δέντρα - Εισαγωγή Π.χ., εισαγωγή 8 <6 <7 7 >=7 6 9 <9 >=6 >=9 1 3 6 7 8 9 13 Τελικό Δέντρο

B-Trees vs B+-Trees Πλεονεκτήματα ευρετηρίων που υλοποιούνται με B-Trees: Μπορεί να χρησιμοποιηθούν λιγότεροι κόμβοι από ένα αντίστοιχο B + -Tree. Μερικές φορές είναι δυνατό να βρούμε την τιμή του κλειδιού αναζήτησης πριν προσπελάσουμε τον κόμβο φύλλο. Μειονεκτήματα ευρετηρίων που υλοποιούνται με B-Trees: Μόνο ένα μικρό κλάσμα των κλειδιών αναζήτησης μπορεί να βρεθούν νωρίς Οι εσωτερικοί κόμβοι είναι συνήθως μεγαλύτεροι, έτσι ο βαθμός διακλάδωσης(fan-out)fo μειώνεται. Έτσι, τα B-Trees έχουν συνήθως μεγαλύτερο βάθος από τα αντίστοιχα B + -Trees. Η εισαγωγή και διαγραφή περισσότερο πολύπλοκη απ ότι στα B + -Trees Υλοποίηση δυσκολότερη από ότι για B + -Trees. Τυπικά τα πλεονεκτήματα των B-Trees δεν καταργούν τα μειονεκτήματα

Θεωρία - Τεχνική κατακερματισμένων εγγραφών Εσωτερικός κατακερματισμός Έχουμε Μ θέσεις κατακερματισμού Αναδίπλωση : εφαρμογή μιας αριθμητικής πράξης σε τμήμα/τα της τιμής του πεδίου κατακερματισμού για τον υπολογισμό της διεύθυνσης κατακερματισμού Σύγκρουση: η τιμή του πεδίου κατακερματισμού αντιστοιχίζεται σε διεύθυνση που ήδη χρησιμοποιείται Ανοιχτή διευθυνσιοδότηση Σε διαδοχική θέση Αλυσιδωτή σύνδεση Διατηρούμε περιοχές θέσεων υπερχείλισης Πολλαπλός κατακερματισμός Εφαρμογή δεύτερης μεθ. Επίλυσης συγκρούσεων Ανοιχτή διεύθυνση

Θεωρία - Τεχνική κατακερματισμένων εγγραφών Εξωτερικός κατακερματισμός (για αρχεία δίσκου) Κάδος= block ή συστάδααπόblock Ησυνάρτησηh(K) απεικονίζει κλειδί σε αριθμό κάδου Στατικός κατακερματισμός (χώρος διευθύνσεων σταθερός) Δυναμικός κατακερματισμός Επεκτατός κατακερματισμός (Extendible hashing) Διατηρείται πίνακας με 2 d διευθύνσεις κάδων d=ολικό βάθος 2 προσπελάσεις block 1στον κατάλογο 1 στον αντίστοιχο κάδο Γραμμικός κατακερματισμός (Linear hashing) Επιτρέπουμε σε ένα αρχείο κατακερματισμού να επεκτείνει ή να συρρικνώνει τους κάδους του δυναμικά Ύπαρξη ξεχωριστής αλυσίδας υπερχείλισης για κάθε κάδο

Θεωρία - Γραμμικός κατακερματισμός Κάδοι 0,1...Μ-1 Συνάρτηση κατακερματισμού h(k)=k mod M Υπερχείλιση στον κάδο 0 Δημιουργία νέου κάδου Μ Οι εγγραφές του κάδου 0 κατανέμονται στους δύο κάδους (h i+1 (K)=K mod 2M n = Ν Ν+1 όταν συμβεί διάσπαση Αν n=m όλοι οι κάδοι έχουν διασπαστεί Ανάκτηση μιας εγγραφής με τιμή κατακερματισμού Κ 1. Εφαρμόζουμε h i στο Κ 2. Αν h i (Κ) <n τότε h i+1 (Κ) διότι ο κάδος έχει διαπαστεί 3. Αν n =M n=0

Εκφώνηση Προϊόν με κλειδί Π# με τιμές: 2369,3760,4692,4871,5659,1821,1074,7117,1620,2428, 3943,4750,6975,4981,9208 Οχτώ κάδους 0...7 Κάθε κάδος 1 μπλοκ 2 εγγραφές h(k)= K mod 8 1. Φορτώστε τις εγγραφές στο αρχείο με την σειρά που δίνονται με χρήση της h(k).

Λύση 0 3760 9208 1. 2369 mod 8 = 1 2. 3760 mod 8 = 0 3. 4692 mod 8 = 4, 4. 4871 mod 8 = 7 5. 5659 mod 8 = 3 6. 1821 mod 8 = 5, 7. 1074 mod 8 = 2 8. 7117 mod 8 = 5, 9. 1620 mod 8 = 4, 10. 2428 mod 8 = 4, 2428 mod16 = 12 11. 3943 mod 8 = 7, 12. 4750 mod 8 = 6 13. 6975 mod 8 = 7, 6975 mod16 = 15 14. 4981 mod 8 = 5, 4981 mod16 = 13 15. 9208 mod 8 = 0, 1 2 3 4 5 6 7 12 13 2369 1074 5659 4692 1821 4750 4871 2428 4981 1620 7117 3943 2428 4981 6975 15 6975

Θεωρία - Γραμμικός κατακερματισμός Παράγοντας φόρτωσης αρχείου : μας δίνει τον αριθμό των κάδων που χρησιμοποιούνται l = r ( bfr* N) r= το τρέχουν πλήθος εγγραφών. bfr=το μέγιστο πλήθος εγγραφών που μπορούν να χωρέσουν σε έναν κάδο. Ν=το τρέχον πλήθος κάδων του αρχείου.

Άσκηση 6 Υποθέστε ότι θέλουμε να δημιουργήσουμε ένα γραμμικό αρχείο κατακερματισμού με παράγοντα φόρτωσης 0.7 και παράγοντα ομαδοποίησης 20 εγγραφές ανά κάδο που αρχικά θα περιέχει 120.000 εγγραφές. Πόσους κάδους πρέπει να τοποθετήσουμε στην πρωτεύουσα περιοχή; Πόσα μπιτ πρέπει να χρησιμοποιηθούν για τις διευθύνσεις κάδων

Δεδομένα l = 0.7 Bfr=20 r=120.000 Λύση: #Κάδων N=r/(bfr*l)=120.000/(20*0.7) = 8572. #bit για τις διευθύνσεις κάδων: 2 Χ >8572 2 Χ =2 14 >8572>2 13 Χ=14

Τέλος Ευχαριστώ!!!