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

Σχετικά έγγραφα
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

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

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

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

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

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

Προχωρημένα Θέματα Βάσεων Δεδομένων

Βάσεις Δεδομένων ΙΙ. Διάλεξη 1 η Επεξεργασία Δοσοληψιών. Σύστημα Επεξεργασίας Δοσοληψιών

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

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

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

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

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

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

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

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

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

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

ΑΡΙΘΜΗΤΙΚΗ ΑΝΑΛΥΣΗ. (2 μονάδες) Δίνονται τα σημεία (-2, -16), (-1, -3), (0, 0), (1, -1) και (2, 0). Υπολογίστε το πολυώνυμο παρεμβολής Newton.

Διάλεξη 18: Πρόβλημα Βυζαντινών Στρατηγών. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι


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

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

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

Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας. Πληροφοριακά Συστήματα και Βάσεις Δεδομένων. Δρ. Κωνσταντίνος Χ.

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

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

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

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

Κεφάλαιο 13 Δοσοληψίες

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

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

ΙΑΧΕΙΡΙΣΗ ΟΣΟΛΗΨΙΩΝ Να θυµηθούµε:

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

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

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

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

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

Βάσεις Δεδομένων. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα

Έλεγχος συγχρονικότητας Μέρος 2 Βάσεις Δεδομένων Διδάσκων: Μαρία Χαλκίδη

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

Ηρώων Πολυτεχνείου 9, Ζωγράφου, Αθήνα, Τηλ: , Fax: URL

ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ ΙΙ. Σχετικά µε το µάθηµα: Αξιολόγηση. Σχετικά µε το µάθηµα:faq ΟΧΙ ΝΑΙ. Λιγότερος! (ας πούµε το 1/3-1/4)

Συναλλαγές. Εαρινό Εξάμηνο Τμήμα Μηχανικών Η/Υ και Πληροϕορικής Πολυτεχνική Σχολή, Πανεπιστήμιο Πατρών. Συναλλαγές. Βάσεις Δεδομένων ΙΙ

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

ΟΝΟΜΑΤΕΠΩΝΥΜΟ : Αντικείμενα: Βάσεις δεδομένων, σχέσεις μεταξύ πινάκων, ερωτήματα, φόρμες και αναφορές.

Διάλεξη 17: Συμφωνία με Βυζαντινά Σφάλματα. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι

Εργαστήριο «Τεχνολογία Πολιτισμικού Λογισμικού» Ενότητα. Επεξεργασία πινάκων

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

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

H SQL είναι η γλώσσα για όλα τα εμπορικά σχεσιακά συστήματα διαχείρισης βάσεων δεδομένων

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

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

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

ΠΕΡΙΛΗΨΗ Vcommunity V Community

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

Συνοπτική Μεθοδολογία Ασκήσεων Κεφαλαίου 7. Ασκήσεις στο IP Fragmentation

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

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

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

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας

Ακεραιότητα και Ασφάλεια Μέρος 1 Σχεδιασμός Βάσεων Δεδομένων

Διάλεξη 8: Πρόβλημα Αμοιβαίου Αποκλεισμού. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι

1 η ΑΣΚΗΣΗ ΣΤΗΝ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ. Ακ. έτος , 5ο Εξάμηνο, Σχολή ΗΜ&ΜΥ

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου

Θέμα 1 (20%) (α) Πότε είναι εργοδικό το παραπάνω σύστημα; Για πεπερασμένο c, το σύστημα είναι πάντα εργοδικό.

Αλγόριθμοι και Πολυπλοκότητα

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


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

Πανεπιστήμιο Ιωαννίνων Τμήμα Πληροφορικής Δομές Δεδομένων [ΠΛΥ302] Χειμερινό Εξάμηνο 2012

Κατανεμημένες Βάσεις Δεδομένων

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

1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες εντολές (μορφές) της;

Διάλεξη 14: Ατομική ΚΚΜ Εγγραφής/Ανάγνωσης στην Παρουσία Σφαλμάτων. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι

ΗΥ486 - Αρχές Κατανεμημένου Υπολογισμού Εαρινό Εξάμηνο Δεύτερη Προγραμματιστική Εργασία

Διάλεξη 12: Διάχυση Μηνυμάτων. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι

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

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

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

Έλεγχος συγχρονικότητας Μέρος 1 Βάσεις Δεδομένων Διδάσκων: Μαρία Χαλκίδη

Ιδιοκτησία Αντικειµένου

Λειτουργικά Συστήματα 7ο εξάμηνο, Ακαδημαϊκή περίοδος

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

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

Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2. Α1. Ο αλγόριθμος είναι απαραίτητος μόνο για την επίλυση προβλημάτων πληροφορικής

Θέματα ανακεφαλαίωσης

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας

4 η Διάλεξη. Ενδεικτικές λύσεις ασκήσεων

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

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

Εφαρμογή 9.2 Μετατροπή Ασύμμετρης Τριφασικής Κατανάλωσης σε Συμμετρική, με Ανακατανομή των Φορτίων

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

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ. ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Μέρος Β (Οργάνωση Υπολογιστών)

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

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

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

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

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

Transcript:

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΠΡΟΧΩΡΗΜΕΝΑ ΘΕΜΑΤΑ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ Τ. Σελλής ΦΘΙΝΟΠΩΡΟ 2008 Λύση ΑΣΚΗΣΗΣ #2 ΕΡΩΤΗΜΑ 1: ΔΕΔΟΜΕΝΩΝ ΕΠΕΞΕΡΓΑΣΙΑ ΕΡΩΤΗΣΕΩΝ ΣΕ ΚΑΤΑΝΕΜΗΜΕΝΕΣ ΒΑΣΕΙΣ Θεωρούμε τις ακόλουθες σχέσεις, οι οποίες ανήκουν στην κατανεμημένη βάση δεδομένων μίας εταιρίας: EMP (EID:int, ENAME:char(40), EADDRESS:char(40), EAGE:int, ESALARY:real, DID:int) DEP (DID:int, DNAME:char(16), DLOCATION:char(30)) Στις παραπάνω σχέσεις, για κάθε υπάλληλο καταγράφεται το όνομά του, η διεύθυνσή του, η ηλικία του, ο μισθός του και ο κωδικός του τμήματος στο οποίο ανήκει. Αντίστοιχα, στα τμήματα, καταγράφεται το όνομα και η τοποθεσία του τμήματος. Επίσης, για το κάθε πεδίο, δίνεται ο τύπος. Κάθε ακέραιος (int) έχει μέγεθος 4bytes κάθε πραγματικός (real) 8bytes και κάθε χαρακτήρας μίας συμβολοσειράς (char()) 1byte. Η σχέση EMP περιέχει 2000 σελίδες και η DEP 50 σελίδες. Το μέγεθος μίας σελίδας είναι bytes. Θεωρούμε το κόστος του κάθε Ι/Ο μηδενικό. Το κόστος αποστολής μίας σελίδας είναι Ts = 40 Td, το κόστος μίας επιλογής ή προβολής είναι ίσο με το μέγεθος της σχέσης σε σελίδες ενώ το κόστος ενός join ισούται με 3 (Μ + Ν) Τd, όπου Μ, Ν τα μεγέθη των σχέσεων σε σελίδες. Η σχέση EMP βρίσκεται στην Αθήνα και η σχέση DEP στη Θεσσαλονίκη. Από το Ηράκλειο, τίθεται η παρακάτω ερώτηση: SELECT FROM WHERE ENAME, DNAME EMP, DEP DLOCATION= Ηράκλειο AND EMP.DID=DEP.DID Αν θεωρήσουμε ότι το 20% των τμημάτων βρίσκονται στο Ηράκλειο και το 30% των υπαλλήλων βρίσκονται σε τμήματα του Ηρακλείου, βρείτε το κόστος της απάντησης της ερώτησης με καθένα από τους παρακάτω τρόπους: α) Υπολόγισε το αποτέλεσμα στο Ηράκλειο. β) Υπολόγισε το αποτέλεσμα με semi-join στη Θεσσαλονίκη και στείλε το στο Ηράκλειο. γ) Υπολόγισε το αποτέλεσμα χωρίς semi-join στην Αθήνα και στείλε το στο Ηράκλειο. Λύση α) 1. Μεταφορά της EMP στο Ηράκλειο: 2000*40Τd = 80000 Τd 2. Μεταφορά της DEP στο Ηράκλειο: 50*40 Τd = 2000 Τ d 1

3. Επιλογή των πλειάδων της EMP για τις οποίες DLOCATION= Ηράκλειο : 50*1 Τd = 50 Τd Αφού μόνο το 20% των τμημάτων βρίσκονται στο Ηράκλειο, οι σελίδες που θα προκύψουν από την πράξη της επιλογής για τη σχέση DEP θα είναι 50 * 0,2 = 10 σελίδες. 4. Join μεταξύ των σχέσεων EMP και DEP: 3*(2000 + 10) Τd = 6030 Τd Αφού μόνο το 30% των υπαλλήλων βρίσκονται σε τμήματα του Ηρακλείου, το μέγεθος του join 2000 που προκύπτει είναι: 0,3 = 6000 εγγραφές 100 6000 (100 + 50 4) Σε σελίδες: = 876 σελίδες 5. Προβολή των ENAME, DNAME: 876 * 1 Τd = 876 Τd Άρα, το συνολικό κόστος είναι: 80000 Τd +2000 Τd +50 Τd +6030 Τd +876 Τd = 88956 Τd β) 1. Επιλογή των πλειάδων της EMP για τις οποίες DLOCATION= Ηράκλειο : 50*1 Τd = 50 Τd Αφού μόνο το 20% των τμημάτων βρίσκονται στο Ηράκλειο, οι σελίδες που θα προκύψουν από την πράξη της επιλογής για τη σχέση DEP θα είναι 50 * 0,2 = 10 σελίδες. 2. Προβολή του DID της σχέσης DEP: 10 * 1 Τd = 10 Τd 10 Το μέγεθος της σχέσης που προκύπτει είναι: = 200 50 200 4 Σε σελίδες: = 0,8 1σελίδα εγγραφές 3. Μεταφορά της προβολής της DEP στην Αθήνα: 1 * 40 Τd = 40 Τd 4. Semi-join μεταξύ των σχέσεων EMP DEP: 3*(2000 + 1) Τd = 6003 Τd Αφού μόνο το 30% των υπαλλήλων βρίσκονται σε τμήματα του Ηρακλείου, το μέγεθος του join 2000 που προκύπτει είναι: 0,3 = 6000 εγγραφές 100 6000 100 Σε σελίδες: = 600 σελίδες 5. Μεταφορά της EMP DEP στη Θεσσαλονίκη: 600 * 40 Τd = 24000 Τd 6. Join μεταξύ της EMP DEP και της σχέσης DEP: 3*(600 + 10) Τd = 1830 Τ d Οι εγγραφές που περιέχει η EMP DEP είναι 6000 και μεταφέρονται όλες στο join. Το 6000 (100 + 50 4) μέγεθος του join που προκύπτει είναι σε σελίδες: = 876 σελίδες 7. Προβολή των ENAME, DNAME: 876 * 1 Τd = 876 Τd 6000 (40 + 16) Το μέγεθος της τελικής σχέσης θα είναι: = 336 σελίδες 2

8. Μεταφορά της τελικής σχέσης στο Ηράκλειο: 336 * 40 Τd = 13440 Τd Άρα, το συνολικό κόστος είναι: 50 Τd +10 Τd +40 Τd +6003 Τd +24000 Τd +1830 Τd + 876 Τd +13440 Τd = 46249 Τd γ) 1. Μεταφορά της DEP στην Αθήνα: 50*40 Τd = 2000 Τd 2. Επιλογή των πλειάδων της EMP για τις οποίες DLOCATION= Ηράκλειο : 50*1 Τd = 50 Τd Αφού μόνο το 20% των τμημάτων βρίσκονται στο Ηράκλειο, οι σελίδες που θα προκύψουν από την πράξη της επιλογής για τη σχέση DEP θα είναι 50 * 0,2 = 10 σελίδες 3. Join μεταξύ των σχέσεων EMP και DEP: 3*(2000 + 10) Τd = 6030 Τd Αφού μόνο το 30% των υπαλλήλων βρίσκονται σε τμήματα του Ηρακλείου, το μέγεθος του join 2000 που προκύπτει είναι: 0,3 = 6000 εγγραφές 100 6000 (100 + 50 4) Σε σελίδες: = 876 σελίδες 4. Προβολή των ENAME, DNAME: 876 * 1 Τd = 876 Τd 6000 (40 + 16) Το μέγεθος της τελικής σχέσης θα είναι: = 336 σελίδες 5. Μεταφορά της τελικής σχέσης στο Ηράκλειο: 336 * 40 Τd = 13440 Τd Άρα, το συνολικό κόστος είναι: 2000 Τd +50 Τd + 6030 Τd + 876 Τd +13440 Τd = 22396 Τd Σημειώνουμε ότι η παραπάνω λύση είναι ενδεικτική, από την άποψη ότι θα μπορούσαν να έχουν γίνει κάποιες βελτιστοποιήσεις οι οποίες θα άλλαζαν τις τιμές των αποτελεσμάτων. ΕΡΩΤΗΜΑ 2: ΔΙΑΧΕΙΡΙΣΗ ΑΝΤΙΓΡΑΦΩΝ ΣΕ ΚΑΤΑΝΕΜΗΜΕΝΕΣ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Θεωρούμε ένα κατανεμημένο Σύστημα Διαχείρισης Βάσεων Δεδομένων με τέσσερις κόμβους Μ, Ν1, Ν2 και Ν3 και δύο αντικείμενα* που μας ενδιαφέρουν Χ, Υ. Ο κόμβος Μ είναι ο κόμβος με τα πρωτεύοντα αντίγραφα και για τα δύο αντικείμενα. Αντίγραφα του Χ υπάρχουν και στους κόμβους Ν1, Ν3, ενώ αντίγραφα του Υ υπάρχουν σε όλους τους κόμβους. Έστω ότι στο συγκεκριμένο σύστημα μπορούν να υλοποιηθούν οι ακόλουθες στρατηγικές για τον χειρισμό των updates: 1. Αλγόριθμος 1: Οι εγγραφές πραγματοποιούνται υποχρεωτικά πρώτα τον κόμβο με το πρωτεύον αντίγραφο και μεταφέρονται αμέσως στον κόμβο που ζήτησε να γίνει η εγγραφή. Στο τέλος της δοσοληψίας μοιράζονται στους υπόλοιπους κόμβους. Η ανάγνωση ενός αντικειμένου μπορεί να πραγματοποιηθεί τοπικά σε κάθε κόμβο. 3

2. Αλγόριθμος 2: Όλοι οι κόμβοι εκτός από τον κόμβο με το πρωτεύον αντίγραφο έχουν αντίγραφα με δικαίωμα μόνο για ανάγνωση (read only). Οι εγγραφές (updates) πραγματοποιούνται πρώτα στον κόμβο με το πρωτεύον αντίγραφο και κατευθείαν μοιράζονται στους υπόλοιπους κόμβους. 3. Αλγόριθμος 3: Κάθε κόμβος έχει τον δικό του διαχειριστή κλειδωμάτων. Οι εγγραφές (και φυσικά και οι αναγνώσεις) μπορούν να γίνουν τοπικά σε οποιονδήποτε κόμβο έχει ένα αντίγραφο και κατευθείαν μοιράζονται στους υπόλοιπους κόμβους. 4. Αλγόριθμος 4: Κάθε κόμβος έχει τον δικό του διαχειριστή κλειδωμάτων. Οι εγγραφές (και φυσικά και οι αναγνώσεις) μπορούν να γίνουν τοπικά σε οποιονδήποτε κόμβο έχει ένα αντίγραφο και μοιράζονται στους υπόλοιπους κόμβους στο τέλος της δοσοληψίας. Έστω ότι πρέπει να εκτελεστεί στον κόμβο Ν1 η δοσοληψία: T = W(X) R(X) R(Y) W(Y). Για κάθε μία από τις στρατηγικές (1-4) για τον χειρισμό updates, δώστε όλα τα βήματα της εκτέλεσης της δοσοληψίας Τ (αιτήσεις για κλειδώματα, πράξεις στα δεδομένα, ανταλλαγή δεδομένων ανάμεσα στους κόμβους), χωρίς να λαμβάνετε υπόψιν σας τα UNLOCK. Επίσης, αναλύστε εν συντομία τα πιθανά προβλήματα που μπορεί να έχει η κάθε στρατηγική, ειδικότερα στο θέμα της συνέπειας της βάσης. * Ως αντικείμενα μπορούμε να θεωρήσουμε απλές εγγραφές, σελίδες ή ακόμα και ολόκληρα τμήματα (segments) κάποιας σχέσης. Λύση 1. Αλγόριθμος 1: (b) Ο κόμβος Ν1 ζητάει από τον κόμβο Μ να κάνει W(X). (c) Ο κόμβος M κλειδώνει το πρωτεύον αντίγραφο του X. με X_LOCK. (d) Η T κλειδώνει το X με X_LOCK στον Ν1. (d) W(X) στον M. (e) Ο κόμβος M στέλνει update στον Ν1 W(X) στον Ν1. (f) Ο κόμβος M ενημερώνει τη δοσοληψία T στον κόμβο Ν1 ότι το W(X) ολοκληρώθηκε επιτυχώς. (g) R(X) στον κόμβο Ν1. (h) Η T κλειδώνει τοπικά (στον κόμβο Ν1) το Υ με S_LOCK και εκτελεί το R(Y). (i) Ο κόμβος Ν1 ζητάει από τον κόμβο Μ να κάνει W(Υ). (j) Ο κόμβος M κλειδώνει το πρωτεύον αντίγραφο του Υ με X_LOCK. (k) Η T κλειδώνει το Y με X_LOCK στον Ν1. (l) W(Υ) στον κόμβο M. (m) Ο κόμβος M στέλνει update στον Ν1 W(Y) στον Ν1. (n) Ο κόμβος M ενημερώνει τη δοσοληψία T στον κόμβο Ν1 ότι το W(Υ) ολοκληρώθηκε επιτυχώς. (n) Η T κάνει commit στον κόμβο Ν1. (o) Ο κόμβος M στέλνει όλα τα updates στους υπόλοιπους κόμβους (W(X) στον Ν3 και W(Y) στους Ν2 και Ν3). Ο αλγόριθμος 1 εγγυάται ότι δεν θα υπάρξουν ασυνέπειες στα δεδομένα του κόμβου στον οποίο γίνεται η δοσοληψία και στον κόμβο με τα πρωτεύοντα αντίγραφα. Παρόλα αυτά, μέχρι το τέλος της δοσοληψίας, οι υπόλοιποι κόμβοι μπορεί να μην έχουν την πιο πρόσφατη τιμή. Όμως, έχει πολύ μεγάλο κόστος εκτέλεσης καθώς πρέπει να γίνονται update όλοι οι κόμβοι με αντίγραφα, καθώς επίσης, ο φόρτος στον 4

κόμβο με το πρωτεύον αντίγραφο μπορεί να είναι πολύ μεγάλος και να μετατραπεί σε bottleneck για το σύστημα. 2. Αλγόριθμος 2: (b) Ο κόμβος Ν1 ζητάει από τον κόμβο Μ να κάνει W(X). (c) Ο κόμβος M κλειδώνει το πρωτεύον αντίγραφο του X. με X_LOCK. (d) Η T κλειδώνει το X με X_LOCK στον Ν1 και στον Ν3. (d) W(X) στον M. (e) Ο κόμβος M στέλνει update στους Ν1, Ν3 W(X) στον Ν1, W(X) στον Ν3. (f) Ο κόμβος M ενημερώνει τη δοσοληψία T στον κόμβο Ν1 ότι το W(X) ολοκληρώθηκε επιτυχώς. (g) R(X) στον κόμβο Ν1. (h) Η T κλειδώνει τοπικά (στον κόμβο Ν1) το Υ με S_LOCK και εκτελεί το R(Y). (i) Ο κόμβος Ν1 ζητάει από τον κόμβο Μ να κάνει W(Υ). (j) Ο κόμβος M κλειδώνει το πρωτεύον αντίγραφο του Υ με X_LOCK. (k) Η T κλειδώνει το Y με X_LOCK στους Ν1, Ν2, Ν3. (l) W(Υ) στον κόμβο M. (m) Ο κόμβος M στέλνει update στους Ν1, Ν2, Ν3 W(Υ) στον Ν1, W(Υ) στον Ν2, W(Υ) στον Ν3. (n) Ο κόμβος M ενημερώνει τη δοσοληψία T στον κόμβο Ν1 ότι το W(Υ) ολοκληρώθηκε επιτυχώς. (n) Η T κάνει commit στον κόμβο Ν1. Ο αλγόριθμος 2 εγγυάται ότι δεν θα υπάρξουν ασυνέπειες στα δεδομένα κανενός κόμβου, αφού, στην ουσία, οι εγγραφές γίνονται ταυτόχρονα σε όλους τους κόμβους.. Όμως, ο φόρτος στον κόμβο με το πρωτεύον αντίγραφο είναι μεγαλύτερος από του αλγορίθμου 1, αφού οι ενημερώσεις γίνονται ταυτόχρονα για όλους τους κόμβους, ενώ στον αλγόριθμο 1, μοιράζονται ενδιάμεσα και στο τέλος της δοσοληψίας. 3. Aλγόριθμος 3: (b) Η T κλειδώνει το τοπικό αντίγραφο του Χ στον κόμβο Ν1 με Χ_LOCK. (c) W(X) στον κόμβο Ν1. (d) Ο κόμβος N1 στέλνει update στους M, Ν3 W(X) στον M, W(X) στον Ν3. (e) R(X) στον κόμβο Ν1. (f) Η T κλειδώνει το τοπικό αντίγραφο του Υ στον κόμβο Ν1 με S_LOCK. (g) R(Y) στον κόμβο Ν1. (h) Η T κλειδώνει το τοπικό αντίγραφο του Υ στον κόμβο Ν1 με Χ_LOCK. (i) W(Υ) στον κόμβο Ν1. (j) Ο κόμβος Ν1στέλνει update στους M, Ν2, Ν3 W(Υ) στον M, W(Υ) στον Ν2, W(Υ) στον Ν3. (k) Η T κάνει commit στον κόμβο Ν1. Με τη συγκεκριμένη στρατηγική ο κάθε κόμβος μπορεί να εκτελεί πλήρως τις δοσοληψίες που του έρχονται, ενημερώνοντας κατευθείαν τους υπόλοιπους κόμβους, χωρίς να εμπλέκειτον κόμβο μξε τα πρωτεύοντα αντίγραφα. Έτσι, ο φόρτος κατανέμεται ισομερώς σε όλους τους κόμβους, αλλά και δεν εμφανίζονται προβλήματα ασυνέπειας στα δεδομένα, αφού οι ανανεώσεις των αντιγράφων γίνονται αμέσως μετά της εγγραφή στον κόμβο όπου γίνεται η δοσοληψία. 5

4. Αλγόριθμος 4: (b) Η T κλειδώνει το τοπικό αντίγραφο του Χ στον κόμβο Ν1 με Χ_LOCK. (c) W(X) στον κόμβο Ν1. (d) R(X) στον κόμβο Ν1. (e) Η T κλειδώνει το τοπικό αντίγραφο του Υ στον κόμβο Ν1 με S_LOCK. (f) R(Y) στον κόμβο Ν1. (g) Η T κλειδώνει το τοπικό αντίγραφο του Υ στον κόμβο Ν1 με Χ_LOCK. (h) W(Υ) στον κόμβο Ν1. (i) Η T κάνει commit στον κόμβο Ν1 και ελευθερώνει όλα τα τοπικά κλειδώματα για τα X,Y. (j) Ο κόμβος Ν1 στέλνει όλες τις αλλαγές στους υπόλοιπους κόμβους. Με τη συγκεκριμένη στρατηγική ο κάθε κόμβος μπορεί να εκτελεί πλήρως τις δοσοληψίες που του έρχονται (οδηγώντας σε πολύ καλούς χρόνους απόκρισης εάν δεν ενοχλούν την εφαρμογή πιθανές ασυνέπειες στις τιμές των δεδομένων) και ο φόρτος κατανέμεται ισομερώς σε όλους τους κόμβους. Όμως, οδηγεί με μεγάλη πιθανότητα σε ασυνέπειες στα δεδομένα, αφού οι ανανεώσεις γίνονται στο τέλος της δοσοληψίας. 6