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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ονοματεπώνυμο: Αριθμός Μητρώου:

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

ΗΥ460 Συστήματα Διαχείρισης Βάσεων Δεδομένων Χειμερινό Εξάμηνο 2018 Project

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

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

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

Εξεταστική Περίοδος Ιουνίου 2004

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

Μάθημα Βάσεις Δεδομένων ΙΙ - Ασκήσεις Επανάληψης. 01 Εκφώνηση

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

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

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

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

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

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

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

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

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

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

ΗΥ360 Αρχεία και Βάσεις εδοµένων ιδάσκων: ημήτρης Πλεξουσάκης

ΗΥ-360 Αρχεία και Βάσεις Δεδομένων Διδάσκων: Δ. Πλεξουσάκης. Φροντιστήριο SQL Examples ΙΙ Ξένου Ρουμπίνη

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

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

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

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

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

Θέματα Υλοποίησης Σχεσιακών ΣΔΒΔ

ΗΥ-360 Αρχεία και Βάσεις Δεδομένων Διδάσκων: Δ. Πλεξουσάκης. Φροντιστήριο SQL Examples Ξένου Ρουμπίνη

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

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

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

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

ΗΥ360 Αρχεία και Βάσεις εδοµένων ιδάσκων:. Πλεξουσάκης

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

Μεταπτυχιακό µάθηµα θεµελίωσης Βάσεων εδοµένων ιδάσκων: Β. Βασσάλος

ΗΥ360 Αρχεία και Βάσεις εδοµένων ιδάσκων: ημήτρης Πλεξουσάκης

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

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

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

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

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

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

Αλγόριθμοι Ταξινόμησης Μέρος 4

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

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

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

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

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

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

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

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

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

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

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


ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ ΙΙ. Επεξεργασία οσοληψιών. το πώς βλέπει το Σ Β τα προγράµµατα των χρηστών. οσοληψία (transaction)

2. Να τροποποιηθεί κατάλληλα η παραπάνω παράσταση ώστε στο αποτέλεσµα να προκύπτουν τα ονοµατα των προµηθευτών και όχι οι κωδικοί τους (Μονάδες 1,0)

Φροντιστήριο 4. Άσκηση 1. Λύση. Πανεπιστήµιο Κρήτης, Τµήµα Επιστήµης Υπολογιστών HY463 - Συστήµατα Ανάκτησης Πληροφοριών Εαρινό Εξάµηνο

Σχεδίαση Βάσεων Δεδομένων

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

Διαδικασιακός Προγραμματισμός

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

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

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

Επαναληπτικές ασκήσεις

Επεξεργασία οσοληψιών

Σημεία ελέγχου (Checkpoints)

Εικονική Μνήµη. Κεφάλαιο 8. Dr. Garmpis Aristogiannis - EPDO TEI Messolonghi

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

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

Βάσεις Δεδομένων 2. Φροντιστήριο Δοσοληψίες Τεχνικές ελέγχου συνδρομικότητας. Ημερ: 05/5/2009 Ακ.Έτος

ΠΡΟΓΡΑΜΜΑ ΣΠΟΥ ΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ

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

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

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

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

Φροντιστήριο Σχεσιακή Άλγεβρα (μέρος 2 ο ) - Σχεσιακός Λογισμός Δημητράκη Κατερίνα

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

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

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

2 η Σειρά Ασκήσεων Ημερομηνία Παράδοσης: 14/11/2016

Transcript:

Πανεπιστήµιο Κρήτης Τµήµα Επιστήµης Υπολογιστών ΗΥ-460 Συστήµατα ιαχείρισης Βάσεων εδοµένων ηµήτρης Πλεξουσάκης Βασίλης Χριστοφίδης Ονοµατεπώνυµο: Αριθµός Μητρώου: Τελική Εξέταση (3 ώρες) Ηµεροµηνία: 7 Σεπτεµβρίου 2004 Θέµα 1 (15 µονάδες) ( ιαχείριση οσοληψιών) Αποφασίστε αν οι παρακάτω προτάσεις είναι αληθείς ή ψευδείς και δικαιολογείστε την απάντησή σας 1. Κάθε πρόγραµµα σύγχρονης εκτέλεσης που παράγεται από έναν προγραµµατιστή δοσοληψιών (transaction scheduler) που χρησιµοποιεί διαµοιραζόµενο (shared) και αποκλειστικό (exclusive) κλείδωµα είναι σειριακοποιήσιµο (serializable). Η πρόταση είναι αληθής. Όλοι οι προγραµµατιστές δοσοληψιών που χρησιµοποιούν διαµοιραζόµενο (shared) και αποκλειστικό (exclusive) κλείδωµα, παράγουν προγράµµατα σύγχρονης εκτέλεσης που είναι conflictserializable. Στη χειρότερη περίπτωση, παράγουν σειριακά προγράµµατα εκτέλεσης. Παραδειγµα: 2PL 2. Η τεχνική Undo Logging είναι λιγότερο αποδοτική από τις τεχνικές Redo Logging και Undo / Redo Logging. H πρόταση είναι ψευδής. Παράδειγµα όπου η χρήση Undo logging είναι αποδοτικότερη: append-only archives. 3. Η χρήση της στρατηγικής LRU (least recently used) για την αντικατάσταση των σελίδων της ενδιάµεσης µνήµης (buffer replacement policy) είναι η καλύτερη επιλογή όταν χρησιµοποιούµε extensible hashing. H πρόταση είναι ψευδής. Υπάρχει περίπτωση να αντικατασταθούν µπλοκ που περιέχουν το directory. Θέµα 2 (15 µονάδες) ( ιαχείριση οσοληψιών) Σας δίνεται το παρακάτω πρόγραµµα σύγχρονης εκτέλεσης S = R1(X), R2(X), W1(Y), R3(Y), W1(Z), W2(Y), C1, W3(Z), C3, C2

1. Κατασκευάστε το γράφο προτεραιότητας (precedence graph) και αποφασίστε αν το S είναι conflict-serializable. G = T1 T3 T2 O γράφος δεν περιέχει κύκλο, άρα είναι conflict-serializable 2. ώστε ένα ισοδύναµο πρόγραµµα σύγχρονης εκτέλεσης S το οποίο ακολουθεί το πρωτόκολλο 2PL. S = R1(X), W1(Y), W1(Z), C1, R2(X), R3(Y), W3(Z), C3, W2(Y), C2 3. Είναι απαραίτητη η κατασκευή γράφου προτεραιότητας για το S προκειµένου να αποφασίσουµε αν είναι conflict-serializable; Γιατί; Όχι. Το εγγυάται το 2PL. Θέµα 3 (20 µονάδες) ( ιαχείριση οσοληψιών) Θεωρείστε ότι τα στοιχεία A,B,C,D,E, τα οποία αποθηκεύονται σε µια βάση δεδοµένων, έχουν στην τρέχουσα κατάστασή της τις τιµές 10, 12, 45, 65 και 2 αντίστοιχα. Θεωρείστε επίσης το ακόλουθο log για τη βάση δεδοµένων: <START T1> <T1, C, 35> <T1, D, 450> <START T2> <T2, C, 18> <T2, B, 12> <T1, D, 500> <COMMIT T1> <START CKPT (T2)> <END CKPT> <T2, D, 18> <START T3> <T3, C, 45> <T3, E, 2> <T2, A, 10> <COMMIT T3> <COMMIT T2> 1. Θα µπορούσε το παραπάνω log να είναι ένα undo log για τις ενέργειες οι οποίες είχαν σαν αποτέλεσµα τα στοιχεία A,B,C,D,E να έχουν τις τρέχουσες τιµές; Γιατί; Όχι γιατί σε ένα undo log, όλες οι ενεργές δοσοληψίες στην αρχή του checkpoint πρέπει να κάνουν commit πριν το τέλος του checkpoint.

2. Θα µπορούσε το παραπάνω log να είναι ένα redo log για τις ενέργειες οι οποίες είχαν σαν αποτέλεσµα τα στοιχεία A,B,C,D,E να έχουν τις τρέχουσες τιµές; Γιατί; Όχι γιατί θα έπρεπε η τιµή του D να είναι 500 αφού η Τ1 κάνει commit πριν από το checkpoint ή 18, η τιµή δηλαδή που γράφει η Τ2. Θέµα 4 (20 µονάδες) (Βελτιστοποίηση Επερωτήσεων) Σας δίνεται το ακόλουθο σχεσιακό σχήµα (τα κλειδιά είναι υπογραµµισµένα): EMPLOYEE (SSN, Name, Dept) PROJECT (SSN, PID, Name, Budget) Το γνώρισµα SSN (δηλ. ο κωδικός αριθµός ενός υπαλλήλου που εργάζεται σε ένα έργο) είναι εξωτερικό κλειδί στον πίνακα PROJECT. Σε ένα έργο µπορούν να εργάζονται πολλοί υπάλληλοι, ωστόσο ισχύει και η συναρτησιακή εξάρτηση PID Name, Budget (συνεπώς ο πίνακας PROJECT δεν έχει κανονικοποιηθεί). Υποθέστε τα παρακάτω στατιστικά στοιχεία για την σχεσιακή βάση δεδοµένων EMPLOYEE- PROJECT: 10.000 πλειάδες (tuples) στον πίνακα EMPLOYEE 20.000 πλειάδες (tuples) στον πίνακα PROJECT 40 πλειάδες ανά µπλοκ (Μπλοκing factor) για κάθε πίνακα Αποταµιευτής (buffer) 10 µπλοκ Το γνώρισµα E.Name έχει 1.000 διακριτές τιµές Το γνώρισµα Budget παίρνει ακέραιες τιµές από 1 έως το 100 (οµοιόµορφα κατανεµηµένες) Ευρετήρια: a. Πίνακας EMPLOYEE: i. Στο Name: Unclustered, hash ii. Στο SSN, Clustered, 3-level B + tree b. Πίνακας PROJECT: i. Στο SSN: Unclustered, hash ii. Στο Budget: Clustered, 2-level B + tree 1. (4 µονάδες) Σχεδιάστε σε δενδρική µορφή την αλγεβρική έκφραση της παρακάτω επερώτησης SQL όπου οι επιλογές και οι προβολές (σ,π) έχουν προωθηθεί (push) όσο το δυνατόν περισσότερο πιο κοντά στους πίνακες: SELECT P.Budget, E.Name, P.Name FROM EMPLOYEE E, PROJECT P WHERE E.SSN= P.SSN AND P.Budget >99 AND E.Name = John ORDER BY P.Budget

ORDER BY Budget π Budget, EmpName, ProjName SSN =SSN Rename EMPLOYEE.Name to EmpName and PROJECT.Name to ProjName π Name, SSN π SSN, Budget, Name σ Name= John σ Budget>99 EMPLOYEE PROJECT 2. (16 µονάδες) Βρείτε το «καλύτερο» πλάνο εκτέλεσης της αλγεβρικής έκφρασης του προηγούµενου ερωτήµατος. ικαιολογήστε την απάντησή σας δίνοντας το κόστος εκτέλεσης κάθε τελεστή της αλγεβρικής έκφρασης. Select EMPLOYEE στο Name και PROJECT στο Budget. r E =10000, r P =20000, bfr=40, n B =10, d E.Name =1000, d P.Budget =100 Κόστος του selection: σ Name= John s =r/d=10000/1000 = 10 Έχουµε unclustered hash index στο Name (θεωρώντας 1.2 disk I/O ανά index search) cost1 = 1.2 x 10 = 12 µπλοκ accesses. Το αποτέλεσµα θα περιέχει 10 πλειάδες. Αριθµός µπλοκs για το αποτέλεσµα, b1 = s/bfr = 10/40 = 1 µπλοκ. Κόστος του selection: σ Budget >99 s =r/d = 20000/100 = 200 Έχουµε Clustered, 2-level B + tree index cost2 = x + s/bfr = 2 + 200/40 = 2 + 5 = 7 µπλοκ accesses. Αριθµός µπλοκs για το αποτέλεσµα, b2 = s/bfr = 200/40 = 5 µπλοκs. Κόστος του join και του project Τα αποτελέσµατα b1 και b2 µπορούν να αποθηκευτούν στην κύρια µνήµη. n B = 10 b1 + b2 = 1 + 5 = 6 b1 + b2 < n B Θα χρησιµοποιηθεί Sort-Merge-Join, και στη συνέχεια project. Μπορούµε να ταξινοµήσουµε τα πάντα στη µνήµη (n B > b1+b2) και µετά να κάνουµε merge, select και project σε pass (επίσης στη µνήµη). Έτσι το συνολικό κόστος θα είναι cost1 + cost2 = 12 + 7 = 19 µπλοκ accesses.

Θέµα 5 (20 µονάδες) (Εξωτερική Ταξινόµηση) Θέλουµε να ταξινοµήσουµε (sort) τις ακόλουθες τιµές 84, 22, 19, 11, 60, 68, 31, 29, 58, 23, 45, 93, 48, 31, 7 κάνοντας τις παρακάτω υποθέσεις: Έχουµε διαθέσιµη µνήµη για ταξινόµηση 3 αποταµιευτές ενός µπλοκ Θέλουµε να χρησιµοποιήσουµε εξωτερική ταξινόµηση µε 2-way merge Ένα µπλοκ µπορεί να αποθηκεύσει µέχρι 2 τιµές 1. (10 µονάδες) Για κάθε πέρασµα (pass) της ταξινόµησης δείξτε το περιεχόµενο όλων των ενδιάµεσων αρχείων στο παρακάτω διάγραµµα. Σηµείωση: To αρχικό στάδιο του αλγορίθµου σας δίνεται παρακάτω. Για την απάντηση της άσκησης χρειάζεται µόνο να συµπληρώσετε τα κενά στο διάγραµµα. 84, 22 19,11 60,68 31,29 58,23 45,93 48,31 7 22,84 11,19 60,68 29,31 23,58 45,93 31,48 7 11,19 29,31 23,45 7,31 22,84 60,68 58,93 48 11,19 22,29 31,60 68,84 7,11 19,22 23,29 31,31 45,48 58,60 68,84 93 7,23 31,45 48,58 93 2. (5 µονάδες) Ποιος είναι ο ελάχιστος αριθµός περασµάτων που χρειάζεστε για να ταξινοµήσετε 100 σελίδες δεδοµένων (του ενός µπλοκ) έχοντας στην διάθεσή σας µνήµη 10 µπλοκ; ικαιολογήστε την απάντησή σας.

log B 1 N / = 1+ log 10 = 1+ 2 = 3 1+ B 9 3. (5 µονάδες) Ποιος είναι ο ελάχιστος αριθµός µπλοκ µνήµης που χρειάζεστε για να ταξινοµήσετε σε 3 περάσµατα 500.000 σελίδες δεδοµένων (του ενός µπλοκ); ικαιολογήστε την απάντησή σας. Σηµείωση: Η εξίσωση log a x=b είναι ισοδύναµη µε την εξίσωση a b =x. Solve the equation 1+ log 1 500000 / B = 3 ( B 1) 2 2 = 500000/ B or < B( B 1) B for B to get N so B=81 (or B=80 is acceptable). Θέµα 6 (10 µονάδες) (Ευρετήρια Κατακερµατισµού) Μια σχεσιακή βάση δεδοµένων χρησιµοποιεί ευρετήρια κατακερµατισµού (hash indexes) µε τα παρακάτω χαρακτηριστικά: Ένα µπλοκ µπορεί να αποθηκεύσει µέχρι 60 κλειδιά αναζήτησης. Ο πίνακας τον οποίο θέλουµε να ευρετηριάσουµε περιέχει 3600 εγγραφές. Το γνώρισµα του πίνακα στο οποίο δηµιουργούµε το ευρετήριο µπορεί να περιέχει διπλότυπα. Σηµείωση: Θυµηθείτε ότι ένας πίνακας κατακερµατισµού δεν περιέχει τις εγγραφές µιας σχέσης αλλά αναφορές (pointers) σ αυτές τις εγγραφές. 1. (2.5 µονάδες) Χρησιµοποιώντας γραµµικό κατακερµατισµό (linear hash index) µέσης κάλυψης (average utilization) 30%, πόσα µπλοκ χρειάζονται στην χειρότερη περίπτωση οι κάδοι (buckets) που δηµιουργούνται; Η χειρότερη περίπτωση είναι όταν όλες οι εγγραφές έχουν την ίδια τιµή κλειδιού. Τότε θα τοποθετηθούν σε ένα µπλοκ, και επιπλέον σε µπλοκ υπερχείλισης, συνολικά, λοιπόν, σε 3600/60 = 60 µπλοκ. Για την επίτευξη 30% χρήσης, ο πίνακας κατακερµατισµού πρέπει να έχει (60*100/30) = 200 µπλοκ, 199 άδεια και 1 γεµάτο (µε 59 υπερχείλισης σε αλυσίδα). 2. (2.5 µονάδες) Στην προηγούµενη περίπτωση, πόσες προσπελάσεις Ε/Ε µας κοστίζει η αναζήτηση (lookup) ενός κλειδιού (µαζί µα την ανάγνωση της εγγραφής); 61 IOs: 1 για την ανάγνωση του κάδου, συν 59 για την ανάγνωση του τελευταίου µπλοκ στην αλυσίδα υπερχείλισης, συν 1 για την ανάγνωση της εγγραφής δεδοµένων. 3. (2.5 µονάδες) Χρησιµοποιώντας επεκτάσιµο κατακερµατισµό (extensible hash index), ποιο είναι το µεγαλύτερο δυνατό µέγεθος (χείριστη περίπτωση) του πίνακα κατακερµατισµού;

εν υπάρχει όριο η χειρότερη περίπτωση και πάλι προκύπτει όταν όλες οι εγγραφές έχουν όµοια κλειδιά. 4. (2.5 µονάδες) Χρησιµοποιώντας επεκτάσιµο κατακερµατισµό (extensible hash index), ποιο είναι το µικρότερο δυνατό µέγεθος (βέλτιστη περίπτωση) του πίνακα κατακερµατισµού; Στη βέλτιστη περίπτωση, ο πίνακας κατακερµατισµού έχει 64 µπλοκ (60 για τα δεδοµένα, έτσι 32 στοιχεία (entries) δεν αρκούν για να δείξουν προς αυτά τα 60 µπλοκ).