Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

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

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "Βάσεις Δεδομένων II 2001-2002 Ευαγγελία Πιτουρά 1 Ασκήσεις Επεξεργασία Δοσοληψιών, Τεχνικές Ελέγχου Συνδρομικότητας, Τεχνικές Ανάκαμψεις από Σφάλματα."— Μεταγράφημα παρουσίασης:

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

2 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 2 Επεξεργασία Δοσοληψιών ακολουθία από αναγνώσεις (Read) και εγγραφές (Write) που τελειώνουν με έγκριση (Commit) ή απόρριψη (Abort) Δοσοληψία Πρόβλημα: ταυτόχρονη εκτέλεση δοσοληψιών, αποτυχίες (σφάλματα) του συστήματος

3 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 3 Επεξεργασία Δοσοληψιών Αtomicity (ατομικότητα) - είτε όλες οι πράξεις είτε καμία Consistency (συνέπεια) - διατήρηση συνέπειας της ΒΔ Isolation (απομόνωση) - δεν αποκαλύπτει ενδιάμεσα αποτελέσματα - ο χρήστης πιστεύει ότι η δοσοληψία του είναι η μόνη που εκτελείται στο σύστημα Durability (μονιμότητα ή διάρκεια) - μετά την επικύρωση μιας δοσοληψίας οι αλλαγές δεν είναι δυνατόν να χαθούν Πρόβλημα: ταυτόχρονη εκτέλεση δοσληψιών, αποτυχίες (σφάλματα) του συστήματος

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

5 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 5 Επεξεργασία Δοσοληψιών 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 σειριακά χρονοπρογράμματα

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

7 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 7 Επεξεργασία Δοσοληψιών 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 Ένα χρονοπρόγραμμα είναι σειριοποιήσιμο (βάσει συγκρούσεων) αν και μόνο αν ο γράφος προήγησής του είναι ακυκλικός. Θεώρημα

8 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 8 Επεξεργασία Δοσοληψιών Άσκηση 1 Ο γράφος προήγησης για ένα συγκεκριμένο χρονοπρόγραμμα περιέχει μόνο τις παρακάτω ακμές και κόμβους. Πόσα διαφορετικά σειριακά χρονοπρογράμματα είναι ισοδύναμα με αυτό το χρονοπρόγραμμα; T1T2 T3T4 ΠΑΡΑΤΗΡΗΣΗ: Διαφορετικά χρονοπρογράμματα; Έστω Τ i με m i πράξεις (m 1 + m 2 + … + m N ) ! / (m 1 ! m 2 ! … m N !)

9 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 9 Επεξεργασία Δοσοληψιών 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)

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

11 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 11 Επεξεργασία Δοσοληψιών Άσκηση 2 Έστω το χρονοπρόγραμμα R 1 (X) R 1 (Y) W 1 (X) R 2 (Y) W 3 (Y) W 1 (X) R 2 (Y) (α) Υποθέτοντας ότι και οι τρεις δοσοληψίες τελικά επικυρώνονται, δώστε το γράφο σειριοποιημότητας (β) Τροποιείστε το χρονοπρόγραμμα ώστε ένα πλήρες χρονοπρόγραμμα με τις παρακάτω ιδιότητες i. δυνατότητα ανάκαμψης όχι χωρίς διάδοση ανακλήσεων ii. χωρίς διάδοση ανακλήσεων iii.Σειριοποιήσιμο βάσει συγκρούσεων

12 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 12 Επεξεργασία Δοσοληψιών Άσκηση 3 Χαρακτηρίστε καθένα από τα παρακάτω χρονοπρογράμματα: σειριοποιήσιμα βάσει συγκρούσεων, σειριοποιήσιμα βάσει όψεων με δυνατότητα ανάκαμψης, χωρίς διάδοση ανακλήσεων, αυστηρά 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) σειριοποιήσιμα βάσει συγκρούσεων (χρήση του θεωρήματος) σειριοποιήσιμα βάσει όψεων (έλεγχος με πιθανά σειριακά)

13 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 13 Επεξεργασία Δοσοληψιών σειριοποιήσιμα, σειριοποιήσιμα βάσει συγκρούσεων, σειριοποιήσιμα βάσει όψεων με δυνατότητα ανάκαμψης, χωρίς διάδοση ανακλήσεων, αυστηρά 2. R 1 (X) W 2 (X) W 1 (X) A 2 C 1 3. 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 4. R 1 (X) W 2 (X) W 1 (X) R 3 (X) C 1 C 2 C 3

14 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 14 Επεξεργασία Δοσοληψιών Διάγραμμα Venn

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

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

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

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

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

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

21 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 21 Τεχνικές Κλειδώματος 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 Λύση; Κλείδωμα Δύο Φάσεων

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

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

24 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 24 Κλείδωμα Δυο Φάσεων: Άσκηση Άσκηση 5 Θεωρείστε το παρακάτω χρονοπρόγραμμα των δοσοληψιών 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)

25 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 25 Κλείδωμα Δυο Φάσεων: Άσκηση 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)

26 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 26 Κλείδωμα Δυο Φάσεων: Άσκηση 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) να μετακινηθεί στο νέο χρονοπρόγραμμα;

27 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 27 Αδιέξοδα Οι τεχνικές κλειδώματος μπορεί να προκαλέσουν αδιέξοδα (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 να ελευθερώσει το Υ

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

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

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

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

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

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

34 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 34 Διάταξη Χρονοσημάτων: Άσκηση 7(β) 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) ΧΣΑ(Χ) ΧΣΕ(Χ) ΧΣΑ(Υ) ΧΣΕ(Υ) ΧΣΕ(Ζ) σειριοποίησημο;

35 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 35 Διάταξη Χρονοσημάτων: Άσκηση 7(γ) 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) ΧΣΑ(Χ) ΧΣΕ(Χ) ΧΣΑ(Υ) ΧΣΕ(Υ) ΧΣΕ(Ζ) σειριοποίησημο;

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

37 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 37 Ανάκαμψη από Αποτυχίες Είδη Αποτυχιών Δυο κατηγορίες: καταστροφή ή όχι της μόνιμης αποθήκευσης (δίσκου) Στόχος της ανάκαμψης: επαναφορά στην πιο πρόσφατη συνεπή κατάσταση ακριβώς πριν τη στιγμή της αποτυχίας zΑτομικότητα: yόχι επικυρωμένες -- undo -- αναίρεση zΔιάρκεια: yεπικυρωμένες -- redo -- επανάληψη

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

39 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 39 Έννοιες Ανάκαμψης Στην πραγματικότητα -- Steal (flush) :: κάποιες ενημερώσεις μιας δοσοληψίας γράφονται στον δίσκο (βδ) πριν η δοσοληψία επικυρωθεί Γιατί; βελτίωση throughput Πρόβλημα: Ατομικότητα (αναίρεση (undo) στην περίπτωση που η δοσοληψία αποτύχει) Χρειαζόμαστε την παλιά τιμή (BeFore IMage) Το αντίθετο ετεροχρονισμός των ενημερώσεων -- deferred updates (no steal) όλες οι ενημερώσεις μιας δοσοληψίας γράφονται στον τοπικό χώρο εργασίας της δοσοληψίας -- η βδ ενημερώνεται μόνον αφού μια δοσοληψία φτάσει στο σημείο επικύρωσης της χωρίς αναίρεση/ με επανάληψη (no undo/redo)

40 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 40 Έννοιες Ανάκαμψης Στην πραγματικότητα -- No Force :: κάποιες ενημερώσεις μιας δοσοληψίας δε γράφονται στον δίσκο (βδ) ακόμα και αφού η δοσοληψία επικυρωθεί Γιατί; βελτίωση χρόνου απόκρισης Πρόβλημα: Διάρκεια (επανάληψη (redo) στην περίπτωση που το σύστημα αποτύχει) Χρειαζόμαστε την νέα τιμή (ΑFter IMage)

41 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 41 Έννοιες Ανάκαμψης Ημερολόγιο Συστήματος (Log) Για να είναι δυνατή η ανάκαμψη από αποτυχίες, καταχωρούνται πληροφορίες για τις πράξεις των δοσοληψιών Αποθηκεύονται στο δίσκο Τύποι πληροφορίας: έναρξη δοσοληψίας εγγραφή στοιχείου (παλιά, νέα τιμή) ανάγνωση στοιχείου επικύρωση/ακύρωση Αυξητικό ημερολόγιο

42 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 42 Έννοιες Ανάκαμψης DB βδ στο δίσκο RAM Προσωρινή αποθήκευση (καταχωρητές μνήμης) ή cache σελίδες το μοντέλο του συστήματος Ημερολόγιο Συστήματος (system log) Πληροφορίες για κάθε δοσοληψία

43 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 43 Τεχνικές Ανάκαμψης από Σφάλματα Σημείο Ελέγχου Γενικότερη έννοια από ότι στην ARIES Εγγραφή όλων των τροποποιημένων σελίδων στο δίσκο Ασαφή ή όχι (αναστολή εκτέλεσης των δοσοληψιών) Δε χρειάζεται η επανάληψη (redo) όλων των πράξεων εγγραφής κατά την ανάκαμψη

44 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 44 Προεγγραφή Ημερολογίου Το πρωτόκολλο προεγγραφής ημερολογίου (Write Ahead Log) (1) Η καταχώρηση στο log για μια εγγραφή γράφεται στο δίσκο πριν οι αντίστοιχες σελίδες να γραφούν στο δίσκο (2) Πριν την επικύρωση (commit) μιας δοσοληψίας όλες οι καταχωρήσεις του log που την αφορούν γράφονται στο δίσκο Το (1) δίνει ατομικότητα Το (2) δίνει διάρκεια

45 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 45 Ημερολόγιο Συστήματος (Log) Σειριακή εγγραφή στο log Για κάθε εγγραφή στοιχείου, στο log μια καταχώρηση: ID δοσοληψίας αριθμός σελίδας θέση στη σελίδα μήκοςπαλιά τιμή (undo) νέα τιμή (redo)

46 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 46 ARIES: Καταχωρήσεις Log Τύποι καταχωρήσεων zUpdate zCommit zAbort zEnd zCompensation Log Records (CLRs) yγια πράξεις UNDO prevLSN XID type length pageID offset before-image after-image Πεδία LogRecord: Μόνο για εγγραφές Προηγούμενο LSN για τη δοσοληψία

47 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 47 ARIES: H Γενική Εικόνα DB Σελίδες Δεδομένων σε κάθε σελίδα pageLSN Πίνακας Δοσοληψιών lastLSN status Πίνακας Τροποποιημένων Σελίδων recLSN flushedLSN RAM prevLSN XID type length pageID offset before-image after-image LogRecords LOG

48 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 48 ARIES: Ανάκαμψη από Αποτυχία Τρεις Φάσεις ΑΝΑΛΥΣΗ -- ανακατασκευή τον πινάκων του συστήματος: ποιες σελίδες είναι τροποποιημένες, ποια είναι η κατάσταση των δοσοληψιών ΕΠΑΝΑΛΗΨΗ (REDO) -- επανάληψη όλων των δοσοληψιών ΑΚΥΡΩΣΗ (UNDO) -- αναίρεση των δοσοληψιών που δεν ήταν επικυρωμένες

49 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 49 ARIES: Ανάκαμψη από Αποτυχία v Άρχισε από ένα σημείο ελέγχου (που βρίσκεται μέσω του master record). v Τρεις Φάσεις. –Εύρεση ποιες δοσοληψίες μετά το σημείο ελέγχου επικυρώθηκαν, ποιες ακυρώθηκαν (ΑΝΑΛΥΣΗ). –REDO όλες τις δοσοληψίες. u (repeat history) –UNDO το αποτέλεσμα των αποτυχημένων δοσοληψιών Παλιότερη καταχώρηση log δοσοληψίας ενεργής κατά την αποτυχία Μικρότερο recLSN στον Πίνακα Τροποποιημένων Σελίδων μετά την Ανάλυση Τελευταίο chkpt ΑΠΟΤΥΧΙΑ A R U

50 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 50 Τεχνικές Ανάκαμψης από Σφάλματα Άσκηση 8 00 begin_checkpoint 10 end_checkpoint 20 update: T1 writes P5 40 T2 Commit 50 T2 end 60 update: T3 writes P3 70 T1 abort Φάση της Ανάλυσης Τ1 abort 70 T3 running 60 Πίνακας ΔοσοληψιώνΠίνακας Τροποποιημένων Σελίδων P5 20 P3 60 Φάση της Επανάληψης (REDO) Ξεκινάμε από το 20, γιατί; Φάση της Αναίρεσης (UNDO) ToUndo = {70, 60}

51 Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 51 Τεχνικές Ανάκαμψης από Σφάλματα Γενικά μπορεί να χρειαστεί ανάκληση (άρα στο log εκτός των εντολών εγγραφής και εντολές ανάγνωσης, για να ελέξουμε ποιες πρέπει να ανακληθούν) Στο ΑRIES υποθέτουμε αυστηρό 2PL, άρα όχι διάδοση ανακλήσεων, εγγραφές


Κατέβασμα ppt "Βάσεις Δεδομένων II 2001-2002 Ευαγγελία Πιτουρά 1 Ασκήσεις Επεξεργασία Δοσοληψιών, Τεχνικές Ελέγχου Συνδρομικότητας, Τεχνικές Ανάκαμψεις από Σφάλματα."

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google