Κατέβασμα παρουσίασης
Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε
ΔημοσίευσεJasen Gabris Τροποποιήθηκε πριν 9 χρόνια
1
Βάσεις Δεδομένων II 2001-2002 Ευαγγελία Πιτουρά 1 Ασκήσεις Επεξεργασία Δοσοληψιών, Τεχνικές Ελέγχου Συνδρομικότητας, Τεχνικές Ανάκαμψεις από Σφάλματα
2
Βάσεις Δεδομένων II 2001-2002 Ευαγγελία Πιτουρά 2 Επεξεργασία Δοσοληψιών ακολουθία από αναγνώσεις (Read) και εγγραφές (Write) που τελειώνουν με έγκριση (Commit) ή απόρριψη (Abort) Δοσοληψία Πρόβλημα: ταυτόχρονη εκτέλεση δοσοληψιών, αποτυχίες (σφάλματα) του συστήματος
3
Βάσεις Δεδομένων II 2001-2002 Ευαγγελία Πιτουρά 3 Επεξεργασία Δοσοληψιών Αtomicity (ατομικότητα) - είτε όλες οι πράξεις είτε καμία Consistency (συνέπεια) - διατήρηση συνέπειας της ΒΔ Isolation (απομόνωση) - δεν αποκαλύπτει ενδιάμεσα αποτελέσματα - ο χρήστης πιστεύει ότι η δοσοληψία του είναι η μόνη που εκτελείται στο σύστημα Durability (μονιμότητα ή διάρκεια) - μετά την επικύρωση μιας δοσοληψίας οι αλλαγές δεν είναι δυνατόν να χαθούν Πρόβλημα: ταυτόχρονη εκτέλεση δοσληψιών, αποτυχίες (σφάλματα) του συστήματος
4
Βάσεις Δεδομένων II 2001-2002 Ευαγγελία Πιτουρά 4 Επεξεργασία Δοσοληψιών Αtomicity (ατομικότητα) ΤΕΧΝΙΚΕΣ ΑΝΑΚΑΜΨΕΙΣ Consistency (συνέπεια) ΥΠΕΥΘΥΝΟΤΗΤΑ ΤΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΤΗ Isolation (απομόνωση) ΕΛΕΓΧΟΣ ΣΥΝΔΡΟΜΙΚΟΤΗΤΑΣ Durability (μονιμότητα ή διάρκεια) ΤΕΧΝΙΚΕΣ ΑΝΑΚΑΜΨΕΙΣ
5
Βάσεις Δεδομένων II 2001-2002 Ευαγγελία Πιτουρά 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 2001-2002 Ευαγγελία Πιτουρά 6 Επεξεργασία Δοσοληψιών σωστό χρονοπρόγραμμα; ισοδύναμο με ένα σειριακό (ονομάζεται σειριοποιήσιμο) Δυο χρονοπρογράμματα είναι ισοδύναμα βάσει συγκρούσεων αν η διάταξη κάθε ζεύγους συγκρουόμενων πράξεων είναι ίδια και στα δυο χρονοπρογράμματα. Σε αυτήν την περίπτωση μπορούμε να αναδιατάξουμε τις μη συγκρουόμενες πράξεις στο S μέχρι να σχηματίσουμε ένα ισοδύναμο σειριακό χρονοπρόγραμμα.
7
Βάσεις Δεδομένων II 2001-2002 Ευαγγελία Πιτουρά 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 2001-2002 Ευαγγελία Πιτουρά 8 Επεξεργασία Δοσοληψιών Άσκηση 1 Ο γράφος προήγησης για ένα συγκεκριμένο χρονοπρόγραμμα περιέχει μόνο τις παρακάτω ακμές και κόμβους. Πόσα διαφορετικά σειριακά χρονοπρογράμματα είναι ισοδύναμα με αυτό το χρονοπρόγραμμα; T1T2 T3T4 ΠΑΡΑΤΗΡΗΣΗ: Διαφορετικά χρονοπρογράμματα; Έστω Τ i με m i πράξεις (m 1 + m 2 + … + m N ) ! / (m 1 ! m 2 ! … m N !)
9
Βάσεις Δεδομένων II 2001-2002 Ευαγγελία Πιτουρά 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 2001-2002 Ευαγγελία Πιτουρά 10 Επεξεργασία Δοσοληψιών Χρονοπρογράμματα με δυνατότητα ανάκαμψης αν καμιά δοσοληψία Τ στο S δεν επικυρώνεται έως ότου επικυρωθούν όλες οι δοσοληψίες οι οποίες τροποποίησαν ένα δεδομένο που διαβάζει η Τ Χρονοπρογράμματα χωρίς διάδοση ανακλήσεων αν κάθε δοσοληψία Τ στο S διαβάζει μόνο στοιχεία που έχουν γραφεί από επικυρωμένες δοσοληψίες Αυστηρά Χρονοπρογράμματα οι δοσοληψίες δεν μπορούν ούτε να διαβάσουν ούτε να γράψουν ένα στοιχείο Χ έως ότου επικυρωθεί η δοσοληψία που έγραψε το Χ
11
Βάσεις Δεδομένων II 2001-2002 Ευαγγελία Πιτουρά 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 2001-2002 Ευαγγελία Πιτουρά 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 2001-2002 Ευαγγελία Πιτουρά 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 2001-2002 Ευαγγελία Πιτουρά 14 Επεξεργασία Δοσοληψιών Διάγραμμα Venn
15
Βάσεις Δεδομένων II 2001-2002 Ευαγγελία Πιτουρά 15 Τεχνικές Ελέγχου Συνδρομικότητας Ο χρήστης δεν ασχολείται με τη συνδρομικότητα Το ΣΔΒΔ εξασφαλίζει «σωστή συνδρομικότητα», γενικά δρομολογεί τις πράξεις των δοσοληψιών ώστε να προκύπτουν χρονοπρογράμματα σειριοποιήσιμα βάσει συγκρούσεων με χρήση τεχνικών ελέγχου συνδρομικότητας
16
Βάσεις Δεδομένων II 2001-2002 Ευαγγελία Πιτουρά 16 Τεχνικές Ελέγχου Συνδρομικότητας Τεχνικές 1. Κλειδώματος (locking) για να αποτρέψουν τη συνδρομική (ταυτόχρονη) προσπέλαση των δεδομένων από πολλές δοσοληψίες 2. Διάταξης χρονοσημάτων (timestamps) [3. Πιστοποίησης (validation) μιας δοσοληψίας (αισιόδοξα πρωτόκολλα)] εκτός εξεταστέας ύλης
17
Βάσεις Δεδομένων II 2001-2002 Ευαγγελία Πιτουρά 17 Τεχνικές Κλειδώματος ένα κλειδί ανά δεδομένο μια δοσοληψία πριν προσπελάσει ένα δεδομένο Χ ζητά ένα κλειδί -- αίτηση lock(Χ) μπορεί να προσπελάσει το δεδομένο, μόνο αφού της δοθεί το κλειδί -- πότε παίρνει το κλειδί; μια δοσοληψία μπορεί να άρει το κλειδί στο δεδομένο -- αίτηση unlock (Χ)
18
Βάσεις Δεδομένων II 2001-2002 Ευαγγελία Πιτουρά 18 Τεχνικές Κλειδώματος Ιδέα: πολλές δοσοληψίες να μπορούν να διαβάσουν ένα δεδομένο ταυτόχρονα Δύο ειδών κλειδιά: διαμοιραζόμενο (shared) κλειδί ή κλειδί ανάγνωσης αποκλειστικό (exclusive) κλειδί ή κλειδί εγγραφής
19
Βάσεις Δεδομένων II 2001-2002 Ευαγγελία Πιτουρά 19 Τεχνικές Κλειδώματος μια δοσοληψία πριν διαβάσει ένα δεδομένο Χ ζητά ένα διαμοιραζόμενο κλειδί -- αίτηση S-lock(Χ) μια δοσοληψία πριν γράψει ένα δεδομένο Χ ζητά ένα αποκλειστικό κλειδί -- αίτηση Χ-lock(Χ) η αίτηση για κλειδί δίνεται αν δεν υπάρχει «συγκρούμενο κλειδί» (πάλι) μια δοσοληψία μπορεί να άρει το κλειδί στο δεδομένο -- αίτηση unlock (Χ)
20
Βάσεις Δεδομένων II 2001-2002 Ευαγγελία Πιτουρά 20 Τεχνικές Κλειδώματος Πίνακας συμβατότητας κλειδιών S-Lock(X) X-Lock(X) S-Lock(X) X-Lock(X)
21
Βάσεις Δεδομένων II 2001-2002 Ευαγγελία Πιτουρά 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 2001-2002 Ευαγγελία Πιτουρά 22 Κλείδωμα Δυο Φάσεων Πρωτόκολλο κλειδώματος δυο φάσεων (Two-Phase Locking 2PL) Όλες οι πράξεις (αιτήσεις ) κλειδώματος μιας δοσοληψίας προηγούνται της πρώτης πράξης (αίτησης) άρσης κλειδώματος της διαδικασίας Δηλαδή, μόλις μια δοσοληψία αφήσει (unlock) ένα κλειδί δεν μπορεί να ζητήσει ξανά κλειδί
23
Βάσεις Δεδομένων II 2001-2002 Ευαγγελία Πιτουρά 23 Κλείδωμα Δυο Φάσεων: Άσκηση 18.17 Άσκηση 4 Αποδείξτε ότι το βασικό πρωτόκολλο κλειδώματος δύο φάσεων εξασφαλίζει σειριοποιησιμότητα βάσει συγκρούσεων
24
Βάσεις Δεδομένων II 2001-2002 Ευαγγελία Πιτουρά 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 2001-2002 Ευαγγελία Πιτουρά 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 2001-2002 Ευαγγελία Πιτουρά 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 2001-2002 Ευαγγελία Πιτουρά 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 2001-2002 Ευαγγελία Πιτουρά 28 Αντιμετώπιση Αδιεξόδων Δυο τεχνικές: Πρωτόκολλα Πρόληψης Αδιεξόδων (Deadlock Prevention): Αποφυγή δημιουργίας αδιεξόδου –χρονόσημα (προτεραιότητες) σε κάθε δοσοληψία, επανεκίνηση δοσοληψίας με το ίδιο χρονόσημα Αναμονή – θανάτωση Τραυματισμός αναμονή Πρωτόκολλα Ανίχνευσης Αδιεξόδου (Deadlock Detection): Eλέγχουμε περιοδικά αν το σύστημα βρίσκεται σε κατάσταση αδιεξόδου γράφος αναμονής
29
Βάσεις Δεδομένων II 2001-2002 Ευαγγελία Πιτουρά 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 2001-2002 Ευαγγελία Πιτουρά 30 Διάταξη Χρονοσημάτων Το χρονόσημα δημιουργείται από το ΣΔΒΔ και προσδιορίζει μοναδικά μια δοσοληψία Ιδέα: διάταξη των δοσοληψιών με βάση το χρονόσημα τους (δηλαδή, χρονοπρόγραμμα ισοδύναμο με σειριακό στο οποίο οι δοσοληψίες εμφανίζονται διατεταγμένες με βάση τις τιμές των χρονοσημάτων) άρα η σειρά προσπέλασης στα δεδομένα πρέπει να μη παραβιάζει τη σειριοποιησιμότητα
31
Βάσεις Δεδομένων II 2001-2002 Ευαγγελία Πιτουρά 31 Διάταξη Χρονοσημάτων Κάθε δοσοληψία Τ έχει ένα μοναδικό χρονόσημα ΧΣ(Τ) Κάθε δεδομένο Χ έχει δύο τιμές χρονοσημάτων: ΧΣΑ(Χ) (χρονόσημα ανάγνωσης) το μεγαλύτερο μεταξύ όλων των χρονοσημάτων των δοσοληψιών που διάβασαν το Χ ΧΣΕ(Χ) (χρονόσημα εγγραφής) το μεγαλύτερο μεταξύ όλων των χρονοσημάτων των δοσοληψιών που έγραψαν το Χ
32
Βάσεις Δεδομένων II 2001-2002 Ευαγγελία Πιτουρά 32 Διάταξη Χρονοσημάτων Η δοσοληψία T με ΧΣ(Τ) εκτελεί μια πράξη ανάγνωσης R(X) Αν ΧΣ(Τ) < ΧΣE(Χ) (αυτό παραβιάζει τη διάταξη) η Τ ακυρώνεται, μπορεί να ξαναρχίσει αλλά με μεγαλύτερο χρονόσημα (γιατί;) Αν ΧΣ(Τ) > ΧΣE(Χ) η ανάγνωση είναι επιτρεπτή θέσε το ΧΣΑ(Χ) = max{XΣA(T), ΧΣ(ΤΑ)}
33
Βάσεις Δεδομένων II 2001-2002 Ευαγγελία Πιτουρά 33 Διάταξη Χρονοσημάτων: Άσκηση 7 Άσκηση 7 Εφαρμόστε τον αλγόριθμο διάταξης χρονοσημάτων στα χρονοπρογράμματα (α), (β), και (γ) (α) R 1 (X) W 2 (Y) W 2 (Χ) W 3 (Χ) W 1 (Y) C 1 C 2 C 3
34
Βάσεις Δεδομένων II 2001-2002 Ευαγγελία Πιτουρά 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 2001-2002 Ευαγγελία Πιτουρά 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 2001-2002 Ευαγγελία Πιτουρά 36 Δυναμικές Βάσεις Δεδομένων Οι τεχνικές ελέγχου συνδρομικότητας δίνουν σειριοποιησιμότητα μόνο όταν τα αντικείμενα στη βδ είναι σταθερά
37
Βάσεις Δεδομένων II 2001-2002 Ευαγγελία Πιτουρά 37 Ανάκαμψη από Αποτυχίες Είδη Αποτυχιών Δυο κατηγορίες: καταστροφή ή όχι της μόνιμης αποθήκευσης (δίσκου) Στόχος της ανάκαμψης: επαναφορά στην πιο πρόσφατη συνεπή κατάσταση ακριβώς πριν τη στιγμή της αποτυχίας zΑτομικότητα: yόχι επικυρωμένες -- undo -- αναίρεση zΔιάρκεια: yεπικυρωμένες -- redo -- επανάληψη
38
Βάσεις Δεδομένων II 2001-2002 Ευαγγελία Πιτουρά 38 Έννοιες Ανάκαμψης Στην πιο εύκολη περίπτωση όλες οι ενημερώσεις μιας δοσοληψίας γράφονται στον τοπικό χώρο εργασίας της δοσοληψίας η βδ ενημερώνεται μόνον αφού μια δοσοληψία φτάσει στο σημείο επικύρωσής της
39
Βάσεις Δεδομένων II 2001-2002 Ευαγγελία Πιτουρά 39 Έννοιες Ανάκαμψης Στην πραγματικότητα -- Steal (flush) :: κάποιες ενημερώσεις μιας δοσοληψίας γράφονται στον δίσκο (βδ) πριν η δοσοληψία επικυρωθεί Γιατί; βελτίωση throughput Πρόβλημα: Ατομικότητα (αναίρεση (undo) στην περίπτωση που η δοσοληψία αποτύχει) Χρειαζόμαστε την παλιά τιμή (BeFore IMage) Το αντίθετο ετεροχρονισμός των ενημερώσεων -- deferred updates (no steal) όλες οι ενημερώσεις μιας δοσοληψίας γράφονται στον τοπικό χώρο εργασίας της δοσοληψίας -- η βδ ενημερώνεται μόνον αφού μια δοσοληψία φτάσει στο σημείο επικύρωσης της χωρίς αναίρεση/ με επανάληψη (no undo/redo)
40
Βάσεις Δεδομένων II 2001-2002 Ευαγγελία Πιτουρά 40 Έννοιες Ανάκαμψης Στην πραγματικότητα -- No Force :: κάποιες ενημερώσεις μιας δοσοληψίας δε γράφονται στον δίσκο (βδ) ακόμα και αφού η δοσοληψία επικυρωθεί Γιατί; βελτίωση χρόνου απόκρισης Πρόβλημα: Διάρκεια (επανάληψη (redo) στην περίπτωση που το σύστημα αποτύχει) Χρειαζόμαστε την νέα τιμή (ΑFter IMage)
41
Βάσεις Δεδομένων II 2001-2002 Ευαγγελία Πιτουρά 41 Έννοιες Ανάκαμψης Ημερολόγιο Συστήματος (Log) Για να είναι δυνατή η ανάκαμψη από αποτυχίες, καταχωρούνται πληροφορίες για τις πράξεις των δοσοληψιών Αποθηκεύονται στο δίσκο Τύποι πληροφορίας: έναρξη δοσοληψίας εγγραφή στοιχείου (παλιά, νέα τιμή) ανάγνωση στοιχείου επικύρωση/ακύρωση Αυξητικό ημερολόγιο
42
Βάσεις Δεδομένων II 2001-2002 Ευαγγελία Πιτουρά 42 Έννοιες Ανάκαμψης DB βδ στο δίσκο RAM Προσωρινή αποθήκευση (καταχωρητές μνήμης) ή cache σελίδες το μοντέλο του συστήματος Ημερολόγιο Συστήματος (system log) Πληροφορίες για κάθε δοσοληψία
43
Βάσεις Δεδομένων II 2001-2002 Ευαγγελία Πιτουρά 43 Τεχνικές Ανάκαμψης από Σφάλματα Σημείο Ελέγχου Γενικότερη έννοια από ότι στην ARIES Εγγραφή όλων των τροποποιημένων σελίδων στο δίσκο Ασαφή ή όχι (αναστολή εκτέλεσης των δοσοληψιών) Δε χρειάζεται η επανάληψη (redo) όλων των πράξεων εγγραφής κατά την ανάκαμψη
44
Βάσεις Δεδομένων II 2001-2002 Ευαγγελία Πιτουρά 44 Προεγγραφή Ημερολογίου Το πρωτόκολλο προεγγραφής ημερολογίου (Write Ahead Log) (1) Η καταχώρηση στο log για μια εγγραφή γράφεται στο δίσκο πριν οι αντίστοιχες σελίδες να γραφούν στο δίσκο (2) Πριν την επικύρωση (commit) μιας δοσοληψίας όλες οι καταχωρήσεις του log που την αφορούν γράφονται στο δίσκο Το (1) δίνει ατομικότητα Το (2) δίνει διάρκεια
45
Βάσεις Δεδομένων II 2001-2002 Ευαγγελία Πιτουρά 45 Ημερολόγιο Συστήματος (Log) Σειριακή εγγραφή στο log Για κάθε εγγραφή στοιχείου, στο log μια καταχώρηση: ID δοσοληψίας αριθμός σελίδας θέση στη σελίδα μήκοςπαλιά τιμή (undo) νέα τιμή (redo)
46
Βάσεις Δεδομένων II 2001-2002 Ευαγγελία Πιτουρά 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 2001-2002 Ευαγγελία Πιτουρά 47 ARIES: H Γενική Εικόνα DB Σελίδες Δεδομένων σε κάθε σελίδα pageLSN Πίνακας Δοσοληψιών lastLSN status Πίνακας Τροποποιημένων Σελίδων recLSN flushedLSN RAM prevLSN XID type length pageID offset before-image after-image LogRecords LOG
48
Βάσεις Δεδομένων II 2001-2002 Ευαγγελία Πιτουρά 48 ARIES: Ανάκαμψη από Αποτυχία Τρεις Φάσεις ΑΝΑΛΥΣΗ -- ανακατασκευή τον πινάκων του συστήματος: ποιες σελίδες είναι τροποποιημένες, ποια είναι η κατάσταση των δοσοληψιών ΕΠΑΝΑΛΗΨΗ (REDO) -- επανάληψη όλων των δοσοληψιών ΑΚΥΡΩΣΗ (UNDO) -- αναίρεση των δοσοληψιών που δεν ήταν επικυρωμένες
49
Βάσεις Δεδομένων II 2001-2002 Ευαγγελία Πιτουρά 49 ARIES: Ανάκαμψη από Αποτυχία v Άρχισε από ένα σημείο ελέγχου (που βρίσκεται μέσω του master record). v Τρεις Φάσεις. –Εύρεση ποιες δοσοληψίες μετά το σημείο ελέγχου επικυρώθηκαν, ποιες ακυρώθηκαν (ΑΝΑΛΥΣΗ). –REDO όλες τις δοσοληψίες. u (repeat history) –UNDO το αποτέλεσμα των αποτυχημένων δοσοληψιών Παλιότερη καταχώρηση log δοσοληψίας ενεργής κατά την αποτυχία Μικρότερο recLSN στον Πίνακα Τροποποιημένων Σελίδων μετά την Ανάλυση Τελευταίο chkpt ΑΠΟΤΥΧΙΑ A R U
50
Βάσεις Δεδομένων II 2001-2002 Ευαγγελία Πιτουρά 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 2001-2002 Ευαγγελία Πιτουρά 51 Τεχνικές Ανάκαμψης από Σφάλματα Γενικά μπορεί να χρειαστεί ανάκληση (άρα στο log εκτός των εντολών εγγραφής και εντολές ανάγνωσης, για να ελέξουμε ποιες πρέπει να ανακληθούν) Στο ΑRIES υποθέτουμε αυστηρό 2PL, άρα όχι διάδοση ανακλήσεων, εγγραφές
Παρόμοιες παρουσιάσεις
© 2024 SlidePlayer.gr Inc.
All rights reserved.