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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Δοµές Δεδοµένων

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

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

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

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

Τμήμα Πληροφορικής ΑΠΘ

BΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΕΞΕΤΑΣΗ (Σεπτεμβρίου)

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

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

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

Επανάκτηση δεδομένων. (εμπλουτισμένο υλικό)

Βάσεις Δεδομένων ΙΙ. Διάλεξη 3 η Tεχνικές Aνάκαμψης. Ιδιότητες Δοσοληψιών

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

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Μανουσόπουλος Χρήστος

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

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

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

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

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

Έλεγχος Ταυτοχρονισμού

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ. Επιλέγει όλες τις πλειάδες, από μια σχέση R, που ικανοποιούν τη συνθήκη επιλογής.

ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ : Γ ΛΥΚΕΙΟΥ ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ & ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΜΗΜΑ: Γ2

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

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

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

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

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

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

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

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

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

Ενδεικτικές Ερωτήσεις Θεωρίας

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

Transcript:

ΗΥ460 Τελική Εξέηαζη 29 Ιανουαπίου 2013 Σελίδα 1 από 8 Πανεπιστήμιο Κρήτης Τμήμα Επιστήμης Υπολογιστών ΗΥ-460 Συστήματα Διαχείρισης Βάσεων Δεδομένων Δημήτρης Πλεξουσάκης Βασίλης Χριστοφίδης Επαναληπτική Εξέταση (3 ώρες) Ημερομηνία: Τρίτη, 29 Ιανουαρίου 2013 Ονοματεπώνυμο: Αριθμός Μητρώου: Άσκηση 1 (15 μονάδες) (Επεκτατός Κατακερματισμός) Υποθέστε ότι μια βάση δεδομένων χρησιμοποιεί ένα ευρετήριο κατακερματισμού (hash index) στη σχέση R. Το ευρετήριο έχει υλοποιηθεί χρησιμοποιώντας επεκτατό κατακερματισμό (extensible hashing). Υποθέστε ότι η εισαγωγή μιας εγγραφής (record) στη σχέση R από έναν πελάτη επιφέρει διπλασιασμό του μεγέθους του καταλόγου του ευρετηρίου από n σε 2n καταχωρήσεις (directory entries). Για τους σκοπούς της άσκησης, θεωρήστε ότι δεν έχουν γίνει διαγραφές από το ευρετήριο, παρά μόνο εισαγωγές. α) (6 μονάδες) Πόσους κάδους κατακερματισμού (hash buckets) έχει το ευρετήριο, αμέσως πριν την εισαγωγή που επιφέρει τον διπλασιασμό του μεγέθους του καταλόγου; (Οι εγγραφές του καταλόγου ευρετηρίου δείχνουν στους κάδους κατακερματισμού). Δώστε τον μέγιστο και τον ελάχιστο αριθμό κάδων κατακερματισμού που μπορεί να έχει το ευρετήριο χρησιμοποιώντας εκφράσεις που βασίζονται στο n. Ένας νέος κάδος κατακερματισμού θα δημιουργηθεί το ελάχιστο, κάθε φορά που διπλασιάζεται ο κατάλογος. Όταν n=2, θα υπάρχουν 2 κάδοι κατακερματισμού. Όταν n=4, θα υπάρχουν το λιγότερο 3 κάδοι. Όταν n=8 θα υπάρχουν το λιγότερο 4 κάδοι, και ούτω καθ εξής. Γενικά, ο ελάχιστος αριθμός κάδων κατακερματισμού για έναν κατάλογο μεγέθους n, θα είναι log 2 n+1. Ο μέγιστος αριθμός είναι n. Σε αυτή την περίπτωση, κάθε καταχώρηση του καταλόγου δείχνει σε ξεχωριστό κάδο. β) (3 μονάδες) Έστω k ο ακριβής αριθμός κάδων κατακερματισμού στο ευρετήριο, αμέσως πριν την εισαγωγή που διπλασιάζει το μέγεθός του. Πόσους κάδους κατακερματισμού θα έχει το ευρετήριο αμέσως μετά την εισαγωγή; Εκφράστε την απάντηση σας με βάση το k. Ο διπλασιασμός του μεγέθους του καταλόγου επέρχεται όταν ένας κάδος κατακερματισμού γεμίσει και είναι απαραίτητο να διασπαστεί, έχοντας ως αποτέλεσμα τη δημιουργία ενός νέου κάδου. Αμέσως μετά την εισαγωγή ο αριθμός των κάδων θα είναι k+1. γ) (3 μονάδες) Πόσοι κάδοι κατακερματισμού θα έχουν ακριβώς μία καταχώρηση που να δείχνει σε αυτούς, αμέσως μετά την εισαγωγή που διπλασιάζει το μέγεθος του καταλόγου; Δύο κάδοι (ο κάδος που διασπάται και νέος κάδος που δημιουργείται) θα έχουν ακριβώς μια εγγραφή καταλόγου που να δείχνουν σε αυτούς. Όλοι οι άλλοι κάδοι θα έχουν τουλάχιστον δύο. δ) (3 μονάδες) Ποιος είναι ο μέγιστος αριθμός καταχωρίσεων καταλόγου που θα μπορούσαν να δείχνουν σε ένα και μόνο κάδο κατακερματισμού του ευρετηρίου;

ΗΥ460 Τελική Εξέηαζη 29 Ιανουαπίου 2013 Σελίδα 2 από 8 Αν ένα κάδος κατακερματισμού δε διασπάται, θα διπλασιάζεται ο αριθμός των δεικτών (pointers) κάθε φορά που διπλασιάζεται ο κατάλογος. Έτσι στην πιο ακραία περίπτωση, οι μισές από τις καταχωρήσεις καταλόγου (n από τις 2n) θα μπορούσαν να δείχνουν σε ένα και μόνο κάδο. Άσκηση 2 (15 μονάδες) (B+δενδρικά ευρετήρια) α) (5 μονάδες) Θεωρείστε S(b,c) με τα ακόλουθα στατιστικά: T(S) = 4,000, B(S) = 1,000 (κάθε μπλοκ περιέχει 4 πλειάδες), V(S,b) = 200 (αριθμός διακριτών τιμών του γνωρίσματος b στη σχέση S) Υποθέστε ότι έχουμε διαθέσιμο ένα B+ δενδρικό ευρετήριο για το γνώρισμα b της S. To δέντρο έχει 4 επίπεδα και κάθε κόμβος περιέχει 4 κλειδιά. Κάθε κλειδί αντιστοιχεί σε μια διακριτή τιμή του b στην S. Θεωρείστε ότι κάθε κόμβος ευρετηρίου καταλαμβάνει ένα μπλοκ. Για λόγους απλότητας, θεωρούμε ότι οι πλειάδες με την ίδια τιμή b αποθηκεύονται διαδοχικά στο δίσκο, αλλά μπορούν να εξαπλώνονται σε διαφορετικά μπλοκ. Υπολογίστε τον αριθμό Ε/Ε δίσκου (Ι/Ο) που απαιτούνται στην χειρότερη περίπτωση για να εκτελεστεί η ακόλουθη επερώτηση: SELECT * FROM S WHERE b = 100 Η σωστή απάντηση είναι 10. Η επερώτηση θα χρησιμοποιήσει 4 Ε/Ε για τα 4 επίπεδα του ευρετηρίου και 6 Ε/Ε για τα μπλοκ που καταλαμβάνονται από T(S)/V(S,b) = 20 πλειάδες και αντιστοιχούν σε μια τιμή του γνωρίσματος b. (20 πλειάδες μπορούν να καταλαμβάνουν 5 μπλοκ, ή στη χειρότερη περίπτωση 6 μπλοκ). β) (3 μονάδες) Θεωρείστε ένα Β+ δέντρο με n=9 (τάξη του δέντρου) και h=4 (ύψους του δέντρου). Ποιος είναι ο μέγιστος αριθμός εγγραφών που μπορούν να ευρετηριαστούν σε αυτό το δέντρο; Η σωστή απάντηση είναι: 9 4-9 3. γ) (3 μονάδες) Θεωρείστε ένα Β+ δέντρο με n=9 (τάξη του δέντρου) και h=4 (ύψους του δέντρου). Ποιος είναι ο ελάχιστος αριθμός των φύλλων σε αυτό το δέντρο; Η σωστή απάντηση είναι 2 * 5 2. δ) (4 μονάδες) Ποιο από τα παρακάτω δεν μπορεί να συμβεί, ως αποτέλεσμα της εισαγωγής μιας εγγραφής σε ένα B+ δέντρο; (i) (ii) (iii) (iv) (v) Το ύψος του δέντρου δεν αλλάζει. Το ύψος του δέντρου αυξάνεται κατά ένα. Το δέντρο παραμένει ισορροπημένο (balanced). Το ίδιο κλειδί εισάγεται και στη ρίζα (root node) και σε κόμβο φύλλο (lead node) Το ίδιο κλειδί εισάγεται και στη ρίζα (root node) και σε εσωτερικό κόμβο (interior node)

ΗΥ460 Τελική Εξέηαζη 29 Ιανουαπίου 2013 Σελίδα 3 από 8 Η σωστή απάντηση είναι η v Άσκηση 3 (12 μονάδες) (Σχεδίαση Φυσικού Σχήματος) Υποθέστε ότι μια σχεσιακή περιέχει την ακόλουθη μεγάλη σχέση: Track(ReleaseID, TrackNum, Title, Length, Location) Η βάση δεδομένων χρησιμοποιεί ένα συσταδοποιημένο Β+ δενδρικό ευρετήριο στο σύνθετο κλειδί ReleaseID,TrackNum. Επίσης διαθέτει ένα μη-συσταδοποιημένο Β+ δενδρικό ευρετήριο στο TrackNum. α) (6 μονάδες) Δώστε ένα παράδειγμα από ενός απλού SQL ερωτήματος σε έναν πίνακα (χωρίς ενημερώσεις (updates), εισαγωγές (insertions) ή διαγραφές (deletions)), το οποίο θα απαιτήσει μικρότερο αριθμό Ε/Ε (I/O) του δίσκου για να απαντηθεί χρησιμοποιώντας το συσταδοποιημένο ευρετήριο από ότι το μη-συσταδοποιημένο. Το παράδειγμά σας θα πρέπει να απαιτεί λιγότερες Ε/Ε λειτουργίες για να εκτελεστεί χρησιμοποιώντας το συσταδοποιημένο ευρετήριο από ότι μια πλήρη σάρωση πίνακα (full table scan), δηλ. χωρίς τη χρήση κάποιων από τα δύο ευρετήρια. Για μια πιο πλήρη απάντηση, εξηγήστε σύντομα γιατί κοστίζει λιγότερο η χρήση του συσταδοποιημένου ευρετηρίου. select * from Track where ReleaseID > 'xxx' Το δευτερεύον ευρετήριο δεν μπορεί να χρησιμοποιηθεί για να εκτελεστεί αυτή η επερώτηση. Θα είναι πιο γρήγορο να εκτελεστεί αυτή η επερώτηση χρησιμοποιώντας το συσταδοποιημένο ευρετήριο από ότι μια πλήρη σάρωση πίνακα εάν το κατηγόρημα είναι αρκετά επιλεκτικό, δηλ. εάν αρκετές εγγραφές δεν ικανοποιούν το κατηγόρημα, αφού το ευρετήριο μπορεί να χρησιμοποιηθεί για να αποφύγουμε να διαβάσουμε πλειάδες που δεν το ικανοποιούν. Μια άλλη πιθανή απάντηση θα ήταν ένα ερώτημα που θα επέστρεφε αποτελέσματα ταξινομημένα ως προς ReleaseID ή ως προς ReleaseID,TrackNum. select * from Track where ReleaseID > 'xxx' β) (6 μονάδες) Δώστε ένα παράδειγμα από ενός απλού SQL ερωτήματος σε έναν πίνακα (χωρίς ενημερώσεις (updates), εισαγωγές (insertions) ή διαγραφές (deletions)), το οποίο θα απαιτήσει μικρότερο αριθμό Ε/Ε για να απαντηθεί χρησιμοποιώντας το μη-συσταδοποιημένο ευρετήριο από ότι το συσταδοποιημένο. Το παράδειγμά σας θα πρέπει να απαιτεί λιγότερες Ε/Ε λειτουργίες για να εκτελεστεί χρησιμοποιώντας το μησυσταδοποιημένο ευρετήριο από ότι μια πλήρη σάρωση πίνακα (full table scan) που χρησιμοποιεί κανένα ευρετήριο. Για μια πιο πλήρη απάντηση, εξηγήστε σύντομα γιατί γιατί κοστίζει λιγότερο η χρήση του μη-συσταδοποιημένου ευρετηρίου. select (distinct) TrackNum from Track Αυτή η επερώτηση μπορεί να απαντηθεί μόνο χρησιμοποιώντας το μη συσταδοποιημένο ευρετήριο καμία πρόσβαση στα δεδομένα δεν θα απαιτηθεί. Θα μπορούσε επίσης να απαντηθεί χρησιμοποιώντας το συσταδοποιημένο ευρετήριο, αλλά σε αυτή την περίπτωση το ευρετήριο θα ήταν μεγαλύτερο. Μια άλλη πιθανή απάντηση θα ήταν μια επερώτηση με ένα κατηγόρημα στο TrackNum, αλλά μόνο αν λίγες πλειάδες ικανοποιούν το κατηγόρημα, αλλιώς μια σάρωση πίνακα ίσως είναι γρηγορότερη.

ΗΥ460 Τελική Εξέηαζη 29 Ιανουαπίου 2013 Σελίδα 4 από 8 Άσκηση 4 (12 μονάδες) (Εκτίμηση Κόστους Εκτέλεσης Ερωτημάτων) Μια βάση δεδομένων περιέχει δύο σχέσεις, R και S. Η R έχει 50000 πλειάδες και καταλαμβάνει 500 μπλοκ δεδομένων (data blocks). Επίσης, έχει ένα Β+ δενδρικό ευρετήριο στο γνώρισμα R.a. Το ευρετήριο είναι μη συσταδοποιημένο και έχει ύψος 2. Τα φύλλα του ευρετηρίου καταλαμβάνουν 10 μπλοκ. Η σχέση S έχει 200000 πλειάδες και καταλαμβάνει 2000 μπλοκ δεδομένων. Θεωρείστε ότι το ΣΔΒΔ εκτελεί καθένα από τα παρακάτω τρία ερωτήματα με την ακόλουθη σειρά: Q1: select * from R order by R.a Η Q1 εκτελείται χρησιμοποιώντας το ευρετήριο για να διαβάσει τις πλειάδες της R ταξινομημένες στο R.a. Q2: select * from S H Q2 εκτελείται χρησιμοποιώντας σάρωση πίνακα στη σχέση S. Q3: select * from R order by R.a H Q3 είναι ίδια με την Q1 και εκτελείται με τον ίδιο τρόπο. α) (6 μονάδες) Υποθέτοντας ότι η λανθάνουσα μνήμη (buffer cache) είναι πολύ μικρή (κανένα cache hit), πόσες αναγνώσεις μπλοκ δίσκου (disk block reads) θα απαιτήσει το ΣΔΒΔ για να εκτελέσει καθένα από τις τρία ερωτήματα; Η πλήρη απάντηση σας απαιτεί τρεις αριθμούς, μια για κάθε ερώτημα. Q1: 11 αναγνώσεις μπλοκ ευρετηρίου και 50000 αναγνώσεις μπλοκ δεδομένων (μια για κάθε πλειάδα), αφού το ευρετήριο δεν είναι συσταδοποιημένο. Q2: 2000 αναγνώσεις μπλοκ δεδομένων για τη σάρωση πίνακα. Q3: 50011 όπως το Q1, αφού τίποτα δεν έχει μπει στη λανθάνουσα μνήμη. β) (6 μονάδες) Επαναλάβετε το ερώτημα (α), αλλά αυτή τη φορά υποθέστε ότι η λανθάνουσα μνήμη είναι αρκετά μεγάλη, έτσι ώστε να μπορεί να κρατά 1200 μπλοκ χρησιμοποιώντας την LRU πολιτική αντικατάστασης (buffer replacement policy). Υποθέστε ότι η λανθάνουσα μνήμη είναι άδεια πριν την εκτέλεση του ερωτήματος Q1. Πάλι, πλήρη απάντηση σας απαιτεί τρεις αριθμούς, μια για κάθε ερώτημα. Q1: 11 αναγνώσεις μπλοκ ευρετηρίου και 500 αναγνώσεις μπλοκ δεδομένων. Κάθε μπλοκ δεδομένων θα παραμείνει στη λανθάνουσα μνήμη από τη στιγμή που θα διαβαστεί την πρώτη φορά, επομένως θα διαβαστεί μια φορά. Q2: 2000 αναγνώσεις μπλοκ δεδομένων για τη σάρωση πίνακα. Q3: 511 όπως το Q1. Η λανθάνουσα μνήμη θα είναι γεμάτη από μπλοκ της S μετά την εκτέλεση της Q2, επομένως η Q3 θα απαιτήσει να διαβαστεί ξανά κάθε μπλοκ της R και του ευρετηρίου της R. Άσκηση 5 (16 μονάδες) Επεξεργασία Ερωτημάτων και Στατιστικά α) (12 μονάδες) Θεωρείστε δύο σχέσεις R(A,B) και S(C,D) με τα ακόλουθα στατιστικά: B(R) = 5 T(R) = 200 V(R,A) = 10 B(S) =100

ΗΥ460 Τελική Εξέηαζη 29 Ιανουαπίου 2013 Σελίδα 5 από 8 T(S) = 400 V(S,C) 50 M = 1000 Υπάρχει ένα συσταδοποιημένο ευρετήριο στο S.C και ένα μη συσταδοποιημένο ευρετήριο στο R.A. Θεωρείστε το λογικό πλάνο: ( ) Υπάρχουν δύο λογικοί τελεστές, s= και j= για κάθε ένα από τους οποίους θεωρούμε δύο διαφορετικές λειτουργίες εκτέλεσης: s1 = σάρωση πίνακα με ένα πέρασμα (one pass table scan) s2 = επιλογή βασισμένη σε ευρετήριο (index-based selection) j1 = σύζευξη κατακερματισμού κύριας μνήμη (main memory hash join) j2 = σύζευξη βασισμένη σε ευρετήριο (index-based join) Οι λειτουργίες s1 και s2 εκτελούνται με σωλήνωση (pipelined), δηλ. το αποτέλεσμα μιας επιλογής δεν αποθηκεύεται στο δίσκο. Υπολογίστε το κόστος σε αριθμό Ε/Ε δίσκου για κάθε ένα από τα τέσσερα φυσικά πλάνα που προκύπτουν από τις παραπάνω διαφορετικές λειτουργίες εκτέλεσης (Cost(s1j1), Cost(s2j1), Cost(s1j2), Cost(s2j2)) συναρτήσει των παραπάνω στατιστικών. Η απάντησή σας θα πρέπει να περιέχει 4 εκφράσεις, π.χ. Cost(s1j1)=B(R)B(S)/M+V(R,A) (δεν πρόκειται για πραγματική απάντηση!). Cost(s1j1) = B(R) + B(S) Cost(s2j1) = T(R)/V(R,A) + B(S) Cost(s1j2) = B(R) + (T(R)/V(R,A))*(B(S)/V(S,A)) Cost(s2j2) = T(R)/V(R,A))+(T(R)/V(R,A))*(B(S)/V(S,A)) β. (4 μονάδες) Εκτιμήστε ποιο είναι το φτηνότερο πλάνο από τα προηγούμενα τέσσερα και υπολογίστε την αριθμητική τιμή του κόστους. Για την πλήρη απάντηση αυτή της ερώτησης απαιτείται ο υπολογισμός του κόστους και των τεσσάρων πλάνων. 45 Άσκηση 6 (12 μονάδες) Έλεγχος σύγχρονης πρόσβασης Θεωρείστε ότι ο έλεγχος σύγχρονης πρόσβασης εφαρμόζεται με τη χρήση της τεχνικής της πιστοποίησης (validation-based concurrency control). Για τις δοσοληψίες U και T γνωρίζουμε τα ακόλουθα: T ξεκίνησε τη χρονική στιγμή 50

ΗΥ460 Τελική Εξέηαζη 29 Ιανουαπίου 2013 Σελίδα 6 από 8 T πέρασε τη φάση της πιστοποίησης τη χρονική στιγμή 100 και εκείνη τη στιγμή η U ανήκει στο σύνολο VAL RS(T) = {A, B} WS(T) = {B, C} α) Έστω ότι η U ολοκλήρωσe την εκτέλεσή της τη χρονική στιγμή 25. Ποια αντικείμενα δεν μπορούν να ανήκουν στα σύνολα RS(U) και WS(U)? β) Έστω ότι η U ξεκινάει τη χρονική στιγμή 25 και ολοκληρώνει την εκτελεσή της τη χρονική στιγμή 75. Ποια αντικείμενα δεν μπορούν να ανήκουν στα σύνολα RS(U) και WS(U)? γ) Έστω ότι η U ξεκινάει τη χρονική στιγμή 60 και ολοκληρώνει την εκτελεσή της τη χρονική στιγμή 75. Ποια αντικείμενα δεν μπορούν να ανήκουν στα σύνολα RS(U) και WS(U)? δ) Έστω ότι η U ολοκληρώνει την εκτελεσή της τη χρονική στιγμή 125. Ποια αντικείμενα δεν μπορούν να ανήκουν στα σύνολα RS(U) και WS(U)? α) Όλα μπορούν Όλα μπορούν β) Όλα μπορούν A,B γ) Όλα μπορούν A,B δ) Όλα μπορούν A,B,C Άσκηση 7 (12 μονάδες) Ανάνηψη από σφάλματα Θεωρείστε την παρακάτω ακολουθίες από εγγραφές ημερολογίου με την τεχνική του undo/redo logging και με χρήση checkpointing. <START, T1> < T1, A, 4, 5> <START,T2> < T2, B, 9, 10> <START CKPT (T1, T2)> <COMMIT T2 > <START T3 > < T3, C, 14, 15>

ΗΥ460 Τελική Εξέηαζη 29 Ιανουαπίου 2013 Σελίδα 7 από 8 <END CKPT> <COMMIT T3 > <COMMIT T1 > Περιγράψτε τις ενέργειες στις οποίες θα προβεί ο recovery manager σχετικά με τα δεδομένα στη δευτερεύουσα μνήμη και το ημερολόγιο σε κάθε μια από τις ακόλουθες περιπτώσεις: α) το σφάλμα συμβαίνει αμέσως μετά την εγγραφή < T2, B, 9, 10> στο ημερολόγιο. β) το σφάλμα συμβαίνει αμέσως μετά την εγγραφή <COMMIT T2 > στο ημερολόγιο. γ) το σφάλμα συμβαίνει αμέσως μετά την εγγραφή <END CKPT> στο ημερολόγιο. δ) το σφάλμα συμβαίνει αμέσως μετά την εγγραφή <COMMIT T1 > στο ημερολόγιο. α) B<-9, A<-4 <ABORT T1>, <ABORT T2>, FLUSH LOG β) A<-4, B<-10 <ABORT T1>, FLUSH LOG γ) C<-14, A<-4 <ABORT T1>, <ABORT T3>, FLUSH LOG δ) C<-15 (none) Άσκηση 8 (6 μονάδες) Έλεγχος σύγχρονης πρόσβασης Θεωρείστε το ακόλουθο πρόγραμμα σύγχρονης εκτέλεσης για τρεις δοσοληψίες: R1(A); R2(A); R3(A); W1(B); W2(B); W3(B); Είναι το πρόγραμμα αυτό σειριακοποιήσιμο σύμφωνα με τον ορισμό του view serializability? Δικαιολογείστε την απάντησή σας. Λυση: Η πηγή για όλα τα reads των Τ1,Τ2,Τ3 ειναι η ΤΙ. Η πηγή για το RF(B) είναι η Τ3. Το πρόγραμμα είναι σειριακόποιήσιμο σύμφωνα με το view serializability. Ισοδύναμα σειριακά προγράμματα: Τ1, Τ2, Τ3 και Τ2, Τ1, Τ3. Καλή επιτυχία!

ΗΥ460 Τελική Εξέηαζη 29 Ιανουαπίου 2013 Σελίδα 8 από 8