Βάσεις Δεδομένων II 2000-2001 Ευαγγελία Πιτουρά 1 Τεχνικές Ελέγχου Συνδρομικότητας - Ασκήσεις.

Slides:



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

Γραφήματα & Επίπεδα Γραφήματα
Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 1 ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΙΙ.
«Κυβερνητικές προτάσεις για το Ασφαλιστικό» © VPRC – Μάρτιος / Δ.1 © VPRC – Μάρτιος 2008 ΚΥΒΕΡΝΗΤΙΚΕΣ ΠΡΟΤΑΣΕΙΣ ΓΙΑ ΤΟ ΑΣΦΑΛΙΣΤΙΚΟ.
ΑΠΟΤΙΜΗΣΗ ΑΠΟΔΟΣΗΣ ΔΙΚΤΥΩΝ ΠΟΥ ΧΡΗΣΙΜΟΠΟΙΟΥΝ ΑΞΙΟΠΙΣΤΑ ΠΡΩΤΟΚΟΛΛΑ ΜΕΤΑΦΟΡΑΣ ΚΑΙ ΑΞΙΟΠΙΣΤΑ ΠΡΩΤΟΚΟΛΛΑ ΣΥΝΔΕΣΗΣ Ιωάννης Κόμνιος Μεταπτυχιακή Διατριβή Τμήμα.
Ερωτηματολόγιο Συλλογής Απαιτήσεων Εφαρμογών Υψηλών Επιδόσεων
Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 1 Επεξεργασία Δοσοληψιών.
Transactions & P2P Systems Διονύσης Αθανασόπουλος Βασίλης Φωτόπουλος.
Προχωρημένα Θέματα Τεχνολογίας και Εφαρμογών Βάσεων Δεδομένων Προχωρημένα Θέματα Διαχείρισης Ταυτοχρονισμού Πάνος Βασιλειάδης Οκτώβρης.
Κεφάλαιο 6 Υλοποίηση Γλωσσών Προγραμματισμού
Προχωρημένα Θέματα Τεχνολογίας και Εφαρμογών Βάσεων Δεδομένων Βασικές Αρχές Διαχείρισης Ταυτοχρονισμού Πάνος Βασιλειάδης Οκτώβριος 2009.
1 Επεξεργασία Συναλλαγών. 2 Συναλλαγές m Η ταυτόχρονη εκτέλεση προγραμμάτων χρηστών είναι απαραίτητη για την καλή απόδοση ενός ΣΔΒΔ m Επειδή οι προσπελάσεις.
Βάσεις Δεδομένων II Περίληψη: Προχωρημένα Θέματα Διαχείρισης Ταυτοχρονισμού Πάνος Βασιλειάδης Οκτώβρης 2002
Ανάλυση του λευκού φωτός και χρώματα
© GfK 2012 | Title of presentation | DD. Month
-17 Προσδοκίες οικονομικής ανάπτυξης στην Ευρώπη Σεπτέμβριος 2013 Δείκτης > +20 Δείκτης 0 a +20 Δείκτης 0 a -20 Δείκτης < -20 Σύνολο στην Ευρωπαϊκή Ένωση:
+21 Προσδοκίες οικονομικής ανάπτυξης στην Ευρώπη Δεκέμβριος 2013 Δείκτης > +20 Δείκτης 0 να +20 Δείκτης 0 να -20 Δείκτης < -20 Σύνολο στην Ευρωπαϊκή Ένωση:
Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 1 Τεχνικές Ελέγχου Συνδρομικότητας.
Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 1 Επεξεργασία Δοσοληψιών Ανακεφαλαίωση.
Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 1 Επεξεργασία Δοσοληψιών Ανακεφαλαίωση.
1515 Διαχείριση Συναλλαγών  Συναλλαγές  Έλεγχος ταυτοχρονισμού  Επανάκτηση δεδομένων.
Προγραμματισμός ΙΙ Διάλεξη #7: Περισσότερες Δομές Ελέγχου Δρ. Νικ. Λιόλιος.
Κεφάλαιο 2ο Πεπερασμένα αυτόματα.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Συναρτησιακές Εξαρτήσεις.
ΙΣΟΛΟΓΙΣΜΟΣ ΒΑΣΕΙ Δ.Λ.Π. (ΕΝΑΡΞΗΣ)
Αποκεντρωμένη Διοίκηση Μακεδονίας Θράκης ∆ιαχείριση έργων επίβλεψης µε σύγχρονα µέσα και επικοινωνία C2G, B2G, G2G Γενική Δ/νση Εσωτερικής Λειτουργίας.
1/5/ ΧΡΗΣΕΙΣ ΤΗΣ ΗΛΙΑΚΗΣ ΑΝΤΙΝΟΒΟΛΙΑΣ 1/5/ (πηγή: HELIOAKMI).
Βάσεις Δεδομένων II Διαχείριση Δοσοληψιών Πάνος Βασιλειάδης Σεπτέμβρης 2002
©Silberschatz, Korth and Sudarshan1 ΒΔ ΙΙ: Διαχείριση συναλλαγών Διαχείριση Συναλλαγών (Transaction Management)  Ορισμός της συναλλαγής  Καταστάσεις.
Προγραμματισμός ΙΙ Διάλεξη #6: Απλές Δομές Ελέγχου Δρ. Νικ. Λιόλιος.
ΤΑΥΤΟΧΡΟΝΙΣΜΟΣ1. 2 Θεωρείστε δύο συναλλαγές (Xacts): T1:BEGIN R(X), X=Χ-N, W(X), R(Y), Y=Y+N, W(Y), END T2:BEGIN R(X) X=X+M, W(X) END v Διαισθητικά, η.
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Τρίτο Συστήματα.
Δομές Δεδομένων 1 Στοίβα. Δομές Δεδομένων 2 Στοίβα (stack)  Δομή τύπου LIFO: Last In - First Out (τελευταία εισαγωγή – πρώτη εξαγωγή)  Περιορισμένος.
Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 1 Τεχνικές Ανάκαμψης.
Συνδυαστικά Κυκλώματα
Προγραμματισμός ΙΙ Διάλεξη #5: Εντολές Ανάθεσης Εντολές Συνθήκης Δρ. Νικ. Λιόλιος.
1 Τμήμα Μηχανικών Ηλεκτρονικών Υπολογιστών και Πληροφορικής Πανεπιστήμιο Πατρών ΟΝΤΟΚΕΝΤΡΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΙΙ (C++) Κληρονομικότητα.
Κεφάλαιο 19 Τεχνικές Ανάκαμψης Βάσεων Δεδομένων (Recovery)
2-1 Ανάλυση Αλγορίθμων Αλγόριθμος Πεπερασμένο σύνολο εντολών που, όταν εκτελεστούν, επιτυγχάνουν κάποιο επιθυμητό αποτέλεσμα –Δεδομένα εισόδου και εξόδου.
Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 1 Επεξεργασία Δοσοληψιών (συνέχεια)
Προχωρημένα Θέματα Τεχνολογίας και Εφαρμογών Βάσεων Δεδομένων Διαχείριση Συναλλαγών Πάνος Βασιλειάδης Μάρτιος 2014
1 Βάσεις Δεδομένων ΙII Επιμέλεια: ΘΟΔΩΡΗΣ ΜΑΝΑΒΗΣ Διαχείριση συναλλαγών Transaction Management T Manavis.
Βάσεις Δεδομένων II Ενότητα 7: Ταυτοχρονισμός Γεωργία Γκαράνη
Βάσεις Δεδομένων II Περίληψη: Τεχνικές Ανάνηψης Πάνος Βασιλειάδης Νοέμβρης 2002
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Σχεδιασμός Σχεσιακών Σχημάτων.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Σχεσιακό Μοντέλο.
Δομές Δεδομένων - Ισοζυγισμένα Δυαδικά Δένδρα (balanced binary trees)
+19 Δεκέμβριος 2014 Δείκτης > +20 Δείκτης 0 έως +20 Δείκτης 0 έως -20 Δείκτης < -20 Συνολικά της ΕΕ: +5 Δείκτης > +20 Δείκτης 0 έως +20 Δείκτης 0 έως -20.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Μετατροπή Σχήματος Ο/Σ σε Σχεσιακό.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Εισαγωγή στην Επεξεργασία Ερωτήσεων.
Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 1 Τεχνικές Ανάκαμψης.
Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 1 Ασκήσεις Επεξεργασία Δοσοληψιών, Τεχνικές Ελέγχου Συνδρομικότητας, Τεχνικές Ανάκαμψεις από Σφάλματα.
Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 1 Τεχνικές Ανάκαμψης.
Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 1 Επεξεργασία Δοσοληψιών.
Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 1 ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΙΙ.
Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 1 Τεχνικές Ανάκαμψης.
Βάσεις Δεδομένων II Προχωρημένα Θέματα Διαχείρισης Ταυτοχρονισμού Πάνος Βασιλειάδης Οκτώβρης 2002
Βάσεις Δεδομένων II Ανανηψιμότητα Δοσοληψιών Πάνος Βασιλειάδης Οκτώβρης 2002
Βάσεις Δεδομένων II Βασικές Αρχές Διαχείρισης Ταυτοχρονισμού Πάνος Βασιλειάδης Οκτώβρης 2002
Κεφάλαιο 17 Εισαγωγή στη Θεωρία των Δοσοληψιών. Δοσοληψίες Η Έννοια της Δοσοληψίας Κατάσταση Δοσοληψίας Ταυτόχρονες Εκτελέσεις Σειριοποιησιμότητα Ανάκαμψη.
Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 1 Επεξεργασία Δοσοληψιών (συνέχεια)
Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 1 ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΙΙ.
Βάσεις Δεδομένων II Περίληψη: Διαχείριση Δοσοληψιών Πάνος Βασιλειάδης Οκτώβρης 2002
Βάσεις Δεδομένων II Περίληψη: Βασικές Αρχές Διαχείρισης Ταυτοχρονισμού Πάνος Βασιλειάδης Οκτώβρης 2002
Διοίκηση Επιχειρήσεων Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας.
Διοίκηση Επιχειρήσεων Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας.
Κατανεμημένα Συστήματα
Κατανεμημένα Συστήματα
Μεταγράφημα παρουσίασης:

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 1 Τεχνικές Ελέγχου Συνδρομικότητας - Ασκήσεις

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 2 Τεχνικές Ελέγχου Συνδρομικότητας Α tomicity (ατομικότητα) - είτε όλες οι πράξεις είτε καμία C onsistency (συνέπεια) - διατήρηση συνέπειας της ΒΔ I solation (απομόνωση) - δεν αποκαλύπτει ενδιάμεσα αποτελέσματα - ο χρήστης πιστεύει ότι η δοσοληψία του είναι η μόνη που εκτελείται στο σύστημα D urability (μονιμότητα ή διάρκεια) - μετά την επικύρωση μιας δοσοληψίας οι αλλαγές δεν είναι δυνατόν να χαθούν Ιδιότητες Δοσοληψιών

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 3 Τεχνικές Ελέγχου Συνδρομικότητας Αtomicity (ατομικότητα) ΤΕΧΝΙΚΕΣ ΑΝΑΚΑΜΨΕΙΣ Consistency (συνέπεια) ΥΠΕΥΘΥΝΟΤΗΤΑ ΤΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΤΗ Isolation (απομόνωση) ΕΛΕΓΧΟΣ ΣΥΝΔΡΟΜΙΚΟΤΗΤΑΣ Durability (μονιμότητα ή διάρκεια) ΤΕΧΝΙΚΕΣ ΑΝΑΚΑΜΨΕΙΣ

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 4 Τεχνικές Ελέγχου Συνδρομικότητας R 1 (X) W 2 (X) C 2 T1 T2 W 1 (X) R 1 (Y) R 2 (X) W 1 (Y) C 1 R 1 (X) R 2 (X) W 1 (X) R 1 (Y) W 2 (X) C 2 W 1 (Y) C 1 Τόσα διαφορετικά χρονοπρογράμματα όσες και πιθανές εκτελέσεις χρονοπρόγραμμα R 1 (X) W 1 (X) R 1 (Y) W 1 (Y) C 1 R 2 (X) W 2 (X) C 2 R 2 (X) W 2 (X) C 2 R 1 (X) W 1 (X) R 1 (Y) W 1 (Y) C 1 σειριακά χρονοπρογράμματα

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 5 Τεχνικές Ελέγχου Συνδρομικότητας σωστό χρονοπρόγραμμα; ισοδύναμο με ένα σειριακό (ονομάζεται σειριοποιήσιμο) Δυο χρονοπρογράμματα είναι ισοδύναμα βάσει συγκρούσεων αν η διάταξη κάθε ζεύγους συγκρουόμενων πράξεων είναι ίδια και στα δυο χρονοπρογράμματα. Σε αυτήν την περίπτωση μπορούμε να αναδιατάξουμε τις μη συγκρουόμενες πράξεις στο S μέχρι να σχηματίσουμε ένα ισοδύναμο σειριακό χρονοπρόγραμμα.

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 6 Τεχνικές Ελέγχου Συνδρομικότητας T1: R 1 (A) W 1 (A), R 1 (B) W 1 (B) T2: R 2 (A) W 2 (A) R 2 (B) W 2 (B) T1 T2 A B Ένα χρονοπρόγραμμα είναι σειριοποιήσιμο (βάσει συγκρούσεων) αν και μόνο αν ο γράφος προήγησής του είναι ακυκλικός. Θεώρημα

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 7 Τεχνικές Ελέγχου Συνδρομικότητας: Άσκηση Άσκηση Ο γράφος προήγησης για ένα συγκεκριμένο χρονοπρόγραμμα περιέχει μόνο τις παρακάτω ακμές και κόμβους. Πόσα διαφορετικά σειριακά χρονοπρογράμματα είναι ισοδύναμα με αυτό το χρονοπρόγραμμα; T1T2 T3T4

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 8 Ισοδυναμία Όψεων zΔυο χρονοπρογράμματα S1 και S2 είναι ισοδύναμα όψεων ανν: y Αν στο S1, η Ti διαβάζει την αρχική τιμή του A, τότε η Ti επίσης διαβάζει την αρχική τιμή του A στο S2 y Αν στο S1, η Ti διαβάζει την τιμή του A που έγραψε η Tj, τότε η Ti διαβάζει την τιμή του A που έγραψε η Tj και στο S2 y Αν στο S1, η Ti γράφει την τελική τιμή του A, τότε η Ti γράφει την τελική τιμή του A και στο S2 T1: R(A) W(A) T2: W(A) T3: W(A) T1: R(A),W(A) T2: W(A) T3: W(A)

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 9 Τεχνικές Ελέγχου Συνδρομικότητας  Χρονοπρογράμματα με δυνατότητα ανάκαμψης αν καμιά δοσοληψία Τ στο S δεν επικυρώνεται έως ότου επικυρωθούν όλες οι δοσοληψίες οι οποίες τροποποίησαν ένα δεδομένο που διαβάζει η Τ  Χρονοπρογράμματα χωρίς διάδοση ανακλήσεων αν κάθε δοσοληψία Τ στο S διαβάζει μόνο στοιχεία που έχουν γραφεί από επικυρωμένες δοσοληψίες  Αυστηρά Χρονοπρογράμματα οι δοσοληψίες δεν μπορούν ούτε να διαβάσουν ούτε να γράψουν ένα στοιχείο Χ έως ότου επικυρωθεί η δοσοληψία που έγραψε το Χ

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 10 Τεχνικές Ελέγχου Συνδρομικότητας: Ασκήσεις Χαρακτηρίστε καθένα από τα παρακάτω χρονοπρογράμματα: σειριοποιήσιμα, σειριοποιήσιμα βάσει συγκρούσεων, σειριοποιήσιμα βάσει όψεων με δυνατότητα ανάκαμψης, χωρίς διάδοση ανακλήσεων, αυστηρά 1. R 1 (X) R 2 (X) W 1 (X) W 2 (X) R 1 (X) W 1 (X) R 2 (X) W 2 (X) R 2 (X) W 2 (X) R 1 (X) W 1 (X)

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 11 Τεχνικές Ελέγχου Συνδρομικότητας: Ασκήσεις σειριοποιήσιμα, σειριοποιήσιμα βάσει συγκρούσεων, σειριοποιήσιμα βάσει όψεων με δυνατότητα ανάκαμψης, χωρίς διάδοση ανακλήσεων, αυστηρά 2. R 1 (X) R 2 (Y) W 3 (X) R 2 (X) R 1 (Y) 3. R 1 (X) W 2 (X) W 1 (X) A 2 C 1 4. W 1 (X) R 2 (X) W 1 (X) C 2 C 1 R 2 (X) C 2 W 1 (X) W 1 (X) C 1 W 1 (X) W 1 (X) C 1 R 2 (X) C 2 5. R 1 (X) W 2 (X) W 1 (X) R 3 (X) C 1 C 2 C 3

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 12 Άσκηση Διάγραμμα Venn

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 13 Τεχνικές Ελέγχου Συνδρομικότητας Ο χρήστης δεν ασχολείται με τη συνδρομικότητα Το ΣΔΒΔ εξασφαλίζει «σωστή συνδρομικότητα», γενικά δρομολογεί τις πράξεις των δοσοληψιών ώστε να προκύπτουν χρονοπρογράμματα σειριοποιήσιμα βάσει συγκρούσεων μέσω τεχνικών ελέγχου συνδρομικότητας

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 14 Τεχνικές Ελέγχου Συνδρομικότητας Τεχνικές 1. Κλειδώματος (locking) για να αποτρέψουν τη συνδρομική (ταυτόχρονη) προσπέλαση των δεδομένων από πολλές δοσοληψίες 2. Διάταξης χρονοσημάτων (timestamps) 3. Πιστοποίησης (validation) μιας δοσοληψίας (αισιόδοξα πρωτόκολλα)

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 15 Τεχνικές Κλειδώματος ένα κλειδί ανά δεδομένο μια δοσοληψία πριν προσπελάσει ένα δεδομένο Χ ζητά ένα κλειδί -- αίτηση lock(Χ) μπορεί να προσπελάσει το δεδομένο, μόνο αφού της δοθεί το κλειδί -- πότε παίρνει το κλειδί; μια δοσοληψία μπορεί να άρει το κλειδί στο δεδομένο -- αίτηση unlock (Χ)

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 16 Τεχνικές Κλειδώματος Ιδέα: πολλές δοσοληψίες να μπορούν να διαβάσουν ένα δεδομένο ταυτόχρονα Δύο ειδών κλειδιά: διαμοιραζόμενο (shared) κλειδί ή κλειδί ανάγνωσης αποκλειστικό (exclusive) κλειδί ή κλειδί εγγραφής

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 17 Τεχνικές Κλειδώματος μια δοσοληψία πριν διαβάσει ένα δεδομένο Χ ζητά ένα διαμοιραζόμενο κλειδί -- αίτηση S-lock(Χ) μια δοσοληψία πριν γράψει ένα δεδομένο Χ ζητά ένα αποκλειστικό κλειδί -- αίτηση Χ-lock(Χ) η αίτηση για κλειδί δίνεται αν δεν υπάρχει «συγκρούμενο κλειδί» (πάλι) μια δοσοληψία μπορεί να άρει το κλειδί στο δεδομένο -- αίτηση unlock (Χ)

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 18 Τεχνικές Κλειδώματος Πίνακας συμβατότητας κλειδιών S-Lock(X) X-Lock(X) S-Lock(X)  X-Lock(X)

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 19 Τεχνικές Κλειδώματος S-Lock(Y) R 1 (Y) Unlock(Y) T1 T2 S-Lock(X) W 1 (X) Unlock(X) C 1 S-Lock(X) R 2 (X) Unlock(X) X-Lock(Y) W 2 (Y) Unlock(Y) C 2 S: R 1 (Y) R 2 (X) W 2 (Y) C 2 W 1 (X) C 1 Δεν αρκεί για σειριοποιησιμότητα T1 T2 Y X Λύση; Κλείδωμα Δύο Φάσεων

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 20 Κλείδωμα Δυο Φάσεων Πρωτόκολλο κλειδώματος δυο φάσεων (Two-Phase Locking 2PL) Όλες οι πράξεις (αιτήσεις ) κλειδώματος μιας δοσοληψίας προηγούνται της πρώτης πράξης (αίτησης) άρσης κλειδώματος της διαδικασίας Δηλαδή, μόλις μια δοσοληψία αφήσει (unlock) ένα κλειδί δεν μπορεί να ζητήσει ξανά κλειδί

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 21 Κλείδωμα Δυο Φάσεων: Άσκηση Άσκηση Αποδείξτε ότι το βασικό πρωτόκολλο κλειδώματος δύο φάσεων εξασφαλίζει σειριοποιησιμότητα βάσει συγκρούσεων

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 22 Κλείδωμα Δυο Φάσεων: Άσκηση Άσκηση Θεωρείστε το παρακάτω χρονοπρόγραμμα των δοσοληψιών T 1 και Τ 2 : S: b W 1 (X) R 2 (X) W 2 (Y) C 2 W 1 (Z) C 1 e b αρχή και e τέλος του χρονοπρογράμματος. Υποθέστε 2PL. Πότε -- μεταξύ ποιών γεγονότων μπορούν να συμβούν τα παρακάτω π.χ., Τ1 μπορεί να κλειδώσει το X μεταξύ των b και W1(X)

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 23 Κλείδωμα Δυο Φάσεων: Άσκηση S: b W 1 (X) R 2 (X) W 2 (Y) C 2 W 1 (Z) C 1 e Πότε -- μεταξύ ποιών γεγονότων μπορούν να συμβούν τα παρακάτω (α) Πότε μπορεί η Τ 1 να κάνει unlock(X) (β) Πότε μπορεί η Τ 1 να κάνει lock(Z)

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 24 Κλείδωμα Δυο Φάσεων: Άσκηση S: b W 1 (X) R 2 (X) W 2 (Y) C 2 W 1 (Z) C 1 e Αυτό το χρονοπρόγραμμα δεν μπορεί να προκύψει αν θεωρήσουμε αυστηρό (strict) 2PL Αυστηρό Κλείδωμα Δύο Φάσεων: μια διαδικασία δεν απελευθερώνει κανένα κλειδί πριν επικυρωθεί ή ακυρωθεί Υποθέστε ότι μπορούμε να μετακινήσουμε τις πράξεις του Τ 2, που μπορεί το W 2 (Y) να μετακινηθεί στο νέο χρονοπρόγραμμα;

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 25 Αδιέξοδα Οι τεχνικές κλειδώματος μπορεί να προκαλέσουν αδιέξοδα (deadlocks) S-Lock(Y) R 1 (Y) T1 T2 S-Lock(X) R 2 (X) X-Lock(X) X-Lock(Y) H T1 περιμένει την Τ2 να ελευθερώσει το Χ, και η Τ2 περιμένει την Τ1 να ελευθερώσει το Υ

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 26 Αντιμετώπιση Αδιεξόδων Δυο τεχνικές: Πρωτόκολλα Πρόληψης Αδιεξόδων (Deadlock Prevention): Αποφυγή δημιουργίας αδιεξόδου Πρωτόκολλα Ανίχνευσης Αδιεξόδου (Deadlock Detection): Eλέγχουμε περιοδικά αν το σύστημα βρίσκεται σε κατάσταση αδιεξόδου

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 27 Αντιμετώπιση Αδιεξόδων: Άσκηση Θεωρείστε ότι οι πράξεις υποβάλλονται με την παρακάτω σειρά R 1 (X) W 2 (Y) W 2 (Χ) W 3 (Χ) W 1 (Y) C 1 C 2 C 3 (a) Aυστηρό 2PL με χρήση χρονοσοσημάτων για αποφυγή αδιεξόδου (β) Aυστηρό 2PL με χρήση γράφου αναμονής για ανίχνευση αδιεξόδου

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 28 Διάταξη Χρονοσημάτων Το χρονόσημα δημιουργείται από το ΣΔΒΔ και προσδιορίζει μοναδικά μια δοσοληψία Ιδέα: διάταξη των δοσοληψιών με βάση το χρονόσημα τους (δηλαδή, χρονοπρόγραμμα ισοδύναμο με σειριακό στο οποίο οι δοσοληψίες εμφανίζονται διατεταγμένες με βάση τις τιμές των χρονοσημάτων)  άρα η σειρά προσπέλασης στα δεδομένα πρέπει να μη παραβιάζει τη σειριοποιησιμότητα

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 29 Διάταξη Χρονοσημάτων Κάθε δοσοληψία Τ έχει ένα μοναδικό χρονόσημα ΧΣ(Τ) Κάθε δεδομένο Χ έχει δύο τιμές χρονοσημάτων: ΧΣΑ(Χ) (χρονόσημα ανάγνωσης) το μεγαλύτερο μεταξύ όλων των χρονοσημάτων των δοσοληψιών που διάβασαν το Χ ΧΣΕ(Χ) (χρονόσημα εγγραφής) το μεγαλύτερο μεταξύ όλων των χρονοσημάτων των δοσοληψιών που έγραψαν το Χ

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 30 Διάταξη Χρονοσημάτων Η δοσοληψία T με ΧΣ(Τ) εκτελεί μια πράξη ανάγνωσης R(X) Αν ΧΣ(Τ) < ΧΣE(Χ) (αυτό παραβιάζει τη διάταξη) η Τ ακυρώνεται, μπορεί να ξαναρχίσει αλλά με μεγαλύτερο χρονόσημα (γιατί;) Αν ΧΣ(Τ) > ΧΣE(Χ) η ανάγνωση είναι επιτρεπτή θέσε το ΧΣΑ(Χ) = max{XΣA(T), ΧΣ(ΤΑ)}

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 31 Διάταξη Χρονοσημάτων: Άσκηση Άσκηση Εφαρμόστε τον αλγόριθμο διάταξης χρονοσημάτων στα χρονοπρογράμματα (α) και (β)

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 32 Διάταξη Χρονοσημάτων: Άσκηση R 1 (X) W 1 (X) T1 T2 Τ3 R 2 (Ζ) R 2 (Y) W 2 (Y) R 3 (Y) R 3 (Z) W 3 (Y) W 3 (Z) R 2 (X) R 1 (Y) W 1 (Y) W 2 (X) ΧΣ(Τ1) ΧΣ(Τ2) ΧΣ(Τ3) ΧΣΑ(Χ) ΧΣΕ(Χ) ΧΣΑ(Υ) ΧΣΕ(Υ) ΧΣΕ(Ζ) σειριοποίησημο;

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 33 Διάταξη Χρονοσημάτων: Άσκηση R 1 (X) W 1 (X) T1 T2 Τ3 R 2 (Ζ) R 3 (Y) R 3 (Z) W 3 (Y) W 3 (Z) R 2 (Y) W 2 (Y) R 2 (X) W 2 (X) R 1 (Y) W 1 (Y) ΧΣ(Τ1) ΧΣ(Τ2) ΧΣ(Τ3) ΧΣΑ(Χ) ΧΣΕ(Χ) ΧΣΑ(Υ) ΧΣΕ(Υ) ΧΣΕ(Ζ) σειριοποίησημο;

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 34 Αισιόδοξες Τεχνικές Κάθε δοσοληψία έχει τρεις φάσεις ΑΝΑΓΝΩΣΗ: η δοσοληψία διαβάζει από τη βδ, αλλά τροποποιεί προσωπικά αντίγραφα των δεδομένων ΠΙΣΤΟΠΟΙΗΣΗ: έλεγχος για συγκρούσεις ΕΓΓΡΑΦΗ: γράφει τα τοπικά αντίγραφα στη βδ

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 35 Πιστοποίηση Έλεγχος συνθηκών που είναι ικανές για να εξασφαλίσουν ότι δεν υπήρχαν συγκρούσεις Κάθε δοσοληψία Τ έχει ένα μοναδικό αριθμό TID (χρονόσημα) To TID ανατίθεται στο τέλος της φάσης ΑΝΑΓΝΩΣΗΣ (ακριβώς πριν αρχίσει η πιστοποίηση) Με κάθε δοσοληψία ReadSet(T): το σύνολο των δεδομένων που διάβασε η T WriteSet(T): το σύνολο των δεδομένων που διάβασε η T

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 36 Πιστοποίηση zΓια όλα τα i και j τέτοια ώστε Ti < Tj, η Ti τελειώνει πριν αρχίσει η Tj. Ti Tj RVW RVW ΕΛΕΓΧΟΣ 1

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 37 Πιστοποίηση Ti RVW Tj RVW zΓια όλα τα i και j τέτοια ώστε Ti < Tj: - η Τi τελειώνει πριν αρχίσει η φάση εγγραφής της Tj - WriteSet(Ti)  ReadSet(Tj) =  ΕΛΕΓΧΟΣ 2

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 38 Πιστοποίηση Ti RVW Tj RVW zΓια όλα τα i και j τέτοια ώστε Ti < Tj: - η Τi τελειώνει τη φάση ανάγνωσης πριν αρχίσει η φάση aνάγνωσης της Τj - WriteSet(Ti)  ReadSet(Tj) =  - WriteSet(Ti)  WriteSet(Tj) =  ΕΛΕΓΧΟΣ 3

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 39 Πιστοποίηση zΠιστοποίηση της T (έλεγχος 1 & 2): valid = true; // S = set of Xacts that committed after Begin(T) < foreach Ts in S do { if ReadSet(Ts) does intersect WriteSet(T) then valid = false; } if valid then { install updates; // Write phase Commit T } > else Restart T τέλος κρίσιμης περιοχής

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 40 Πιστοποίηση: Άσκηση Θεωρείστε ότι οι πράξεις υποβάλλονται με την παρακάτω σειρά R 1 (X) W 2 (Y) W 2 (Χ) W 3 (Χ) W 1 (Y) C 1 C 2 C 3

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 41 Διακριτότητα zΔύσκολο να αποφασίσουμε τη διακριτότητα (granularity) για το κλείδωμα Tuples Tables Pages Database contains

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 42 Δυναμικές Βάσεις Δεδομένων Οι τεχνικές ελέγχου συνδρομικότητας δίνουν σειριοποιησιμότητα μόνο όταν τα αντικείμενα στη βδ είναι σταθερά

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 43 Πολλαπλές Εκδόσεις O O’ O’’ ΚΥΡΙΟ ΤΜΗΜΑ (Τρέχουσες εκδόσεις των σντικειμένων της ΒΔ) ΣΥΛΛΟΓΗ ΕΚΔΟΣΕΩΝ VERSION POOL (Παλιές εκδόσεις που μπορεί να είναι χρήσιμες σε κάποιους ενεργούς αναγνώστες v Οι αναγνώστες μπορούν πάντα να προχωρήσουν -- αλλά μπορεί να χρειαστεί να περιμένουν μέχρι την επικύρωση των εγγραφών Ιδέα: κάθε εγγραφή παράγει ένα καινούργιο αντίγραφο ενώ οι αναγνώσεις διαβάζουν ένα κατάλληλο παλιό

Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 44 Άσκηση Διάγραμμα Venn