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

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

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

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

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

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

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

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

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

Βάσεις Δεδομένων ΙΙ Ενότητα 2

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

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

Δοσοληψίες. Κατανεμημένα Συστήματα

Επαναληπτικές ασκήσεις

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

Θεµατολόγιο. Πώς ελέγχουµε σειριοποιησιµότητα στην πράξη;

Δοσοληψίες. Κατανεμημένα Συστήματα

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

Χρονοδιάγραμμα/Χρονοπρόγραμμα

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

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

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

Συστήματα Διαχείρισης Βάσεων Δεδομένων

Δοσοληψίες Βάσεις Δεδομένων Διδάσκων: Μαρία Χαλκίδη

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

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

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

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

ΚΕΦΑΛΑΙΟ 1 ΣΥΝΑΛΛΑΓΕΣ ΚΑΙ ΕΛΕΓΧΟΣ ΤΑΥΤΟΧΡΟΝΙΣΜΟΥ

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

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

Επεξεργασία οσοληψιών (συνέχεια)

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

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

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

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

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

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

Βάσεις Δεδομένων ΙΙ Ενότητα 2

Έλεγχος Συγχρονικότητας. (Concurrency Control)

Τεχνικές Ελέγχου Συνδροµικότητας

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

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

Τεχνικές Ανάκαµψης. Αtomicity (ατοµικότητα) - είτε όλες οι πράξεις είτε

Επαναφορά του Συστήματος (Μέρος Α')

Πλειάδες φαντάσματα (phantoms)

Τεχνικές Ανάκαµψης. Αtomicity (ατοµικότητα) - είτε όλες οι πράξεις είτε

Βάσεις Δεδομένων ΙΙ Ενότητα 1

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

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

Θεµατολόγιο. Α) Πρακτικά Θέµατα στον Έλεγχο Ταυτοχρονισµού

Αρχεία και Βάσεις Δεδομένων

Κατανεμημένα Συστήματα με Java. Ενότητα # 7: Ατομικές συναλλαγές Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

Θέματα Μεταγλωττιστών

Διαχείριση Δοσοληψιών

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

Locking to ensure serializability

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

Προσπέλαση κοινών πόρων Πρωτόκολλα ελέγχου αμοιβαίου αποκλεισμού

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

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

PRINCIPLES OF TRANSACTION-ORIENTED DATABASE RECOVERY. Theo Haerder Andreas Reuter. Μαρία Κουτσουλιέρη

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

Επεξεργασία οσοληψιών (συνέχεια)

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

Κατανεμημένες δοσοληψίες

Transactions Management. (Διαχείριση Δοσοληψιών)

Βάσεις Δεδομένων ΙΙ. Διάλεξη 2 η Tεχνικές Ελέγχου Συνδρομικότητας

Συστήματα Διαχείρισης Βάσεων Δεδομένων

Υ- 07 Παράλληλα Συστήματα Transac9onal memory

Κατανεμημένες δοσοληψίες

ΕΥΧΑΡΙΣΤΙΕΣ. της εφαρµογής που υλοποιήσαµε, αλλά και προτάσεις για µελλοντικές εφαρµογές µε βάση την τεχνογνωσία που αποκτήσαµε.

Υ- 07 Παράλληλα Συστήματα Συνέπεια και συνοχή μνήμης

Φραγή σε πολλαπλά επίπεδα λεπτομέρειας Τι αντικείμενα κλειδώνουμε?

Γιατί υϖάρχει τέτοια καθολική κατάσταση;

Σηµειώσεις Βάσεων εδοµένων. ιαχείριση οσοληψιών. Γιάννης Θεοδωρίδης. Τµήµα Πληροφορικής, Πανεπιστήµιο Πειραιά.

2.4 Κλασσικά Προβλήματα IPC

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

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

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

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

Λειτουργικά Συστήματα (Λ/Σ)

Κεφάλαιο 5ο: Εντολές Επανάληψης

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ Κεφάλαιο 10 : Εντολές επιλογής και αποφάσεων

Κατανεμημένες δοσοληψίες

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

Αποκατάσταση συστήματος Βάσεις Δεδομένων

a = 10; a = k; int a,b,c; a = b = c = 10;

Θέματα Υλοποίησης Σχεσιακών ΣΔΒΔ

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

Κατανεμημένα Συστήματα Ι

Επιλογή και επανάληψη. Λογική έκφραση ή συνθήκη

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

Λειτουργικά Συστήματα (ΗΥ222)

Shared Memory Multiprocessors. Πολυεπεξεργαστές Μοιραζόµενης

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

Επισκόπηση Μαθήµατος

Κεφάλαιο 4ο: Εντολές επιλογής

Πολυπύρηνοι επεξεργαστές Multicore processors

if(συνθήκη) {... // οµάδα εντολών } C: Από τη Θεωρία στην Εφαρµογή 5 ο Κεφάλαιο

Transcript:

ΗΥ360 Αρχεία και Βάσεις εδοµένων ιδάσκων:. Πλεξουσάκης Συναλλαγές ιαχείριση Συναλλαγών Τζικούλης Βασίλειος Credits:Γιάννης Μακρυδάκης

Συναλλαγές Η ταυτόχρονες συναλλαγές (δοσοληψίες, transactions) µε µια βάση δεδοµένων από πολλές διεργασίες / χρήστες είναι απαραίτητη. Μια συναλλαγή αποτελεί µια αδιάσπαστη λογική ενότητα ενεργειών. Συνήθως µια συναλλαγή περιλαµβάνει µια ακολουθία/σειρά από αναγνώσεις(reads) και εγγραφές(writes), ενηµερώσεις.

Συναλλαγές Οι ενέργειες πολλών συναλλαγών πρέπει να εναλλάσσονται για λόγους απόδοσης, και να εκτελούνται ενέργειες από όλες τις «ταυτόχρονες» συναλλαγές. Η «εικόνα» των δεδοµένων της βάσης όπως αυτή παρουσιάζεται σε µια συναλλαγή είναι αναγκαίο να είναι συνεπής, στην διάρκεια της συναλλαγής. Ένα Σύστηµα ιαχείρισης Βάσεων εδοµένων (DBMS) πρέπει να εξασφαλίζει τις ιδιότητες ACID. Atomicity Ατοµικότητα Όλες οι ενέργειες ή καµία Consistency Συνέπεια Οι περιορισµοί πρέπει να ικανοποιούνται είτε εκτελείται µόνη µια συναλλαγή είτε µαζί µε άλλες. I solation - Αποµόνωση Μια σειριακή εκτέλεση των συναλλαγών θα οδηγούσε στο ίδιο αποτέλεσµα. Durability Μονιµότητα ή Αντοχή Οι αλλαγές που κάνει κάθε συναλλαγή παραµένουν στη βάση.

Συναλλαγές Η διαχείριση συναλλαγών ικανοποιεί τις ιδιότητες και θεωρεί κάθε συναλλαγή ως µια ακολουθία από τις ενέργειες: Read Ανάγνωση ενός «αντικειµένου» A από την βάση για την συναλλαγή Τ1. R1(A) Write Εγγραφή ενός «αντικειµένου» Α στην βάση για την συναλλαγή Τ1. W 1(A) Commit Επιτυχής ολοκλήρωση της συναλλαγής Τ1. C1 Οι ενέργειες της συναλλαγής πρέπει να φαίνονται. Abort Ανεπιτυχής προσπάθεια εκτέλεσης της συναλλαγής Τ1. A1 Οι όποιες ενέργειες της συναλλαγής έχουν ήδη εφαρµοστεί πρέπει να αναιρεθούν.

ιαχείριση Συναλλαγών Ένα χρονοπρόγραµµα ή πρόγραµµα εκτέλεσης (schedule) περιλαµβάνει εναλλασσόµενα ενέργειες από ένα σύνολο συναλλαγών. Έστω οι συναλλαγές Τ1: R(A) R(B) C Τ2: R(A) W(A) R(B) W(B) C Πιθανά χρονοπρογράµµατα: Ένα πλήρες schedule είναι: S : R2(A) W2(A) R1(A) R1(B) R2(B) W2(B) C1 C2 Ένα σειριακό πλήρες schedule είναι: S : R1(A) R1(B) C1 R2(A) W2(A) R2(B) W2(B) C2

ιαχείριση Συναλλαγών Όταν δύο χρονοπρογράµµατα οδηγούν στα ίδια αποτελέσµατα, ανεξάρτητα από την αρχική κατάσταση λέγονται ισοδύναµα. Ένα χρονοπρόγραµµα λέγεται σειριακοποιήσιµο, όταν είναι ισοδύναµο µε ένα σειριακό χρονοπρόγραµµα. Αποδεκτά είναι µόνο τα σειριακοποιήσιµα!

ιαχείριση Συναλλαγών Οι αντικρουόµενες ενέργειες είναι όσες Ανήκουν σε διαφορετικές συναλλαγές KAI Λειτουργούν στα ίδια δεδοµένα KAI Μία ενέργεια είναι Write. Παράδειγµατα αντικρουόµενες R1(A) W2(A) Μη επαναλαµβανόµενη ανάγνωση αντικρουόµενες W1(A) W2(A) Τυφλή Εγγραφή αντικρουόµενες W1(A) R2(A) Ασυνεπής Ανάγνωση µη αντικρουόµενες R2(Α) W2(A) µη αντικρουόµενες R1(Α) W2(Β) µη αντικρουόµενες R1(Α) R2(Α)

ιαχείριση Συναλλαγών Σε δύο ισοδύναµα χρονοπρογράµµατα οι αντικρουόµενες ενέργειες εµφανίζονται µε την ίδια σειρά. Μη ισοδύναµα: S1 : R2(A) W2(A) R1(A) R1(B) R2(B) W2(B) C1 C2 S2 : R1(A) R1(B) C1 R2(A) W2(A) R2(B) W2(B) C2 Εδώ W2(A) << S1 R1(A) R1(A) << S2 W2(A)

ιαχείριση Συναλλαγών Για ένα χρονοπρόγραµµα µπορούµε να κατασκευάσουµε τον γραφό προτεραιότητας. Ένας γραφός προτεραιότητας είναι ένας κατευθυνόµενος γραφός όπου: Κόµβοι είναι οι δοσοληψίες Τ Ακµές : µια ακµή Τi Tj, για κάθε ζεύγος αντικρουόµενων λειτουργιών για τις οποίες ισχύει ότι: op i (X) << S op j (X) Αν περιέχει κύκλους δεν είναι σειριακοποιήσιµο. Παράδειγµα S1 : R2(A) W2(A) R1(A) R1(B) R2(B) W2(B) Αντικρουόµενες W2(A) R1(A) R1(B) W2(B) T1 Σειριακοποιήσιµο T1 Μη Σειριακοποιήσιµο T2 T2

ιαχείριση Συναλλαγών Παράδειγµα γράφος προτεραιότητας Για τα παρακάτω προγράµµατα εκτέλεσης, κατασκευάσετε τους γράφους προτεραιότητας a) R1(A) R2(A) W1(B) W2(B) R1(B) W2(C) W1(D) b) R1(A) R2(A) R3(B) W1(A) R2(C) R2(B) W2(B) W1(C) c) R1(A) W2(C) W1(B) R3(C) R2(B) W3(A) d) W3(A)R1(A)W1(B)R2(B)W2(C)R3(C)R2(A) e) R1(A)R2(A)R1(B)R2(B)R3(B)W1(A)W2(B)

ιαχείριση Συναλλαγών Παράδειγµα γράφος προτεραιότητας α) R1(A) R2(A) W1(B) W2(B) R1(B) W2(C) W1(D)

ιαχείριση Συναλλαγών Παράδειγµα γράφος προτεραιότητας α) R1(A) R2(A) W1(B) W2(B) R1(B) W2(C) W1(D) Αντικρουόµενες: W1(B), W2(B) W2(B), R1(B) W1(B) W2(B) Υπάρχει κύκλος! εν είναι σειριακοποιήσιµο T1 T2 W2(B) R1(B)

ιαχείριση Συναλλαγών Παράδειγµα γράφος προτεραιότητας b) R1(A) R2(A) R3(B) W1(A) R2(C) R2(B) W2(B) W1(C)

ιαχείριση Συναλλαγών Παράδειγµα γράφος προτεραιότητας b) R1(A) R2(A) R3(B) W1(A) R2(C) R2(B) W2(B) W1(C) Αντικρουόµενες: R2(A), W1(A) R3(B), W2(B) R2(C), W1(C) R2(A) W1(A) T1 R2(C) W1(C) T2 R3(B) W2(B) T3

ιαχείριση Συναλλαγών Παράδειγµα γράφος προτεραιότητας C) R1(A) W2(C) W1(B) R3(C) R2(B) W3(A)

ιαχείριση Συναλλαγών Παράδειγµα γράφος προτεραιότητας C) R1(A) W2(C) W1(B) R3(C) R2(B) W3(A) Αντικρουόµενες: R1(A), W3(A) W2(C), R3(C) W1(B), R2(B) W1(B) R2(B) T1 T2 W2(C) R3(C) R1(A) W3(A) T3

ιαχείριση Συναλλαγών Παράδειγµα γράφος προτεραιότητας D) W3(A)R1(A)W1(B)R2(B)W2(C)R3(C)R2(A)

ιαχείριση Συναλλαγών Παράδειγµα γράφος προτεραιότητας D) W3(A)R1(A)W1(B)R2(B)W2(C)R3(C)R2(A) Αντικρουόµενες: W3(A), R1(A) W3(A), R2(A) W1(B), R2(B) W2(C), R3(C) W1(B) R2(B) Υπάρχουν κύκλοι! εν είναι σειριακοποιήσιµο T1 W2(C) R3(C) T2 W3(A) R2(A) W3(A) R1(A) T3

ιαχείριση Συναλλαγών Παράδειγµα γράφος προτεραιότητας E) R1(A)R2(A)R1(B)R2(B)R3(B)W1(A)W2(B) Αντικρουόµενες: R2(A), W1(A) R1(B), W2(B) R3(B), W2(B) R2(A) W1(A) Υπάρχει κύκλος! εν είναι σειριακοποιήσιµο T1 R2(B) W1(B) T2 R3(B) W2(B) T3

ιαχείριση Συναλλαγών - locks Για να επιτύχουµε σειριακοποιησιµότητα χρησιµοποιούµε locks, δικαιώµατα πρόσβασης σε κάποιο αντικείµενο µιας βάσης δεδοµένων Shared Lock: όταν το έχει µια δοσοληψία, µπορούν να αποκτήσουν shared locks και οι υπόλοιπες (συνήθως χρησιµοποιείται για reads) Exclusive Lock: όταν το έχει µια δοσοληψία, καµία άλλη δε µπορεί να διαβάσει ή να γράψει το συγκεκριµένο αντικείµενο (συνήθως χρησιµοποιείται για writes) Κάθε δοσοληψία πρέπει να αποκτήσει lock για ένα αντικείµενο πριν το προσπελάσει Όλα τα αντικείµενα που κλειδώνονται από µια δοσοληψία, πρέπει να ξεκλειδώνονται από αυτή, αλλιώς καµιά άλλη δοσοληψία δε µπορεί να αποκτήσει πρόσβαση σε αυτά Μια δοσοληψία πρέπει να περιµένει εάν ζητήσει lock σε ένα αντικείµενο που είναι κλειδωµένο από άλλη δοσοληψία

ιαχείριση Συναλλαγών - locks Με τη χρήση locks, αποφεύγονται τα προβλήµατα που δηµιουργούνται µεταξύ αντικρουόµενων λειτουργιών Εµφανίζονται όµως νέα προβλήµατα Livelock: µια δοσοληψία προσπαθεί να αποκτήσει lock σε ένα αντικείµενο, στο οποίο διαδοχικά αποκτούν locks άλλες δοσοληψίες, έτσι περιµένει επ αόριστον Deadlock: για ένα σύνολο δοσοληψιών, κάθε µία περιµένει µία από τις άλλες να κάνει unlock ένα αντικείµενο ώστε να αποκτήσει lock σε αυτό.

ιαχείριση Συναλλαγών 2PL Ένα πρόγραµµα εκτέλεσης ακολουθεί το πρωτόκολλο Two Phase Locking (2PL), αν ισχύουν τα παρακάτω: Όταν µια δοσοληψία θέλει να διαβάσει ή να γράψει κάποιο αντικείµενο, πρέπει να αποκτήσει ένα lock ( read RL ή write WL ) σε αυτό Εάν ένα αντικείµενο είναι κλειδωµένο µε write lock, κάθε δοσοληψία που θέλει να αποκτήσει πρόσβαση σε αυτό πρέπει να περιµένει, δηλαδή το lock είναι αποκλειστικό. (WL = XL) Όλα τα locks που χρειάζεται µια δοσοληψία αποκτώνται κατά τη διάρκεια του Growing phase (Φάση Ανάπτυξης). Όλα τα locks ελευθερώνονται από τη δοσοληψία στο Shrinking phase. Φάση Συρρίκνωσης Κανένα lock δε µπορεί να αποκτηθεί κατά τη διάρκεια του shrinking phase. Συνεπώς, για κάθε δοσοληψία, όλα τα locks πρέπει να προηγούνται του πρώτου unlock. Ένα πρόγραµµα εκτέλεσης που ακολουθεί το 2PL είναι πάντα σειριακοποιήσιµο

ιαχείριση Συναλλαγών 2PL Παράδειγµα Για τα παρακάτω προγράµµατα εκτέλεσης, δείξτε πως θα εκτελεστούν µε βάση το πρωτόκολλο 2PL. Υποθέστε ότι υπάρχει µόνο αποκλειστικό lock κάθε lock αποκτάται αµέσως πριν από το αντίστοιχο read/write ελευθερώνονται όλα µαζί αµέσως µετά το τελευταίο read/write. a) R1(A) R2(A) W1(B) W2(B) R1(B) W2(C) W1(D) b) R1(A) R2(A) R3(B) W1(A) R2(C) R2(B) W2(B) W1(C) c) R1(A) W2(C) W1(B) R3(C) R2(B) W3(A) d) W3(A)R1(A)W1(B)R2(B)W2(C)R3(C)R2(A) e) R1(A)R2(A)R1(B)R2(B)R3(B)W1(A)W2(B)

ιαχείριση Συναλλαγών 2PL Παράδειγµα 2PL a) R1(A) R2(A) W1(B) W2(B) R1(B) W2(C) W1(D) T1 L1(A), R1(A) L1(B), W1(B), R1(B) L1(D), W1(D) U1(A), U1(B), U1(D) T2 L2(A) ΝΟ L2(A), R2(A) L2(B), W2(B) L2(C), W2(C) U2(A), U2(B), U2(C)

ιαχείριση Συναλλαγών 2PL Παράδειγµα 2PL b) R1(A) R2(A) R3(B) W1(A) R2(C) R2(B) W2(B) W1(C) T1 T2 T3 L1(A), R1(A) L2(A), ΝΟ L3(B), R3(B), U3(B) W1(A) L1(C), W1(C) U1(A), U1(C) L2(A), R2(A) L2(C), R2(C) L2(B), R2(B), W2(B) U2(A), U2(C), U2(B)

ιαχείριση Συναλλαγών 2PL Παράδειγµα 2PL c) R1(A) W2(C) W1(B) R3(C) R2(B) W3(A) T1 T2 T3 L1(A), R1(A) L2(C), W2(C) L1(B), W1(B) U1(A), U1(B) L3(C), NO L2(B), R2(B) U2(C), U2(B) L3(C), R3(C) L3(A), W3(A) U3(C), U3(A)

ιαχείριση Συναλλαγών 2PL Παράδειγµα 2PL d) W3(A)R1(A)W1(B)R2(B)W2(C)R3(C)R2(A) T1 T2 T3 L3(A), W3(A) L1(A), NO L2(B), R2(B) L2(C),W2(C) L3(C), NO L2(A), NO DEADLOCK

ιαχείριση Συναλλαγών 2PL Παράδειγµα 2PL e) R1(A)R2(A)R1(B)R2(B)R3(B)W1(A)W2(B) T1 T2 T3 L1(A), R1(A) L1(B), R1(B) W1(A) U1(A), U2(B) L2(A), NO L2(A), R2(A) L2(B), R2(B) W2(B) U2(A), U2(B) L3(B), NO L3(B), NO L3(B), R3(B), U3(B)

ιαχείριση Συναλλαγών 2PL Πόσα νόµιµα σύγχρονα προγράµµατα εκτέλεσης υπάρχουν για τις παρακάτω δύο δοσοληψίες; T1 : L1(A) R1(A) W1(A) L1(B) R1(B) W1(B) U1(A) U1(B) T2 : L2(B) R2(B) W2(B) L2(A) R2(A) W2(A) U2(B) U2(A)

ιαχείριση Συναλλαγών 2PL T1 : L1(A) R1(A) W1(A) L1(B) R1(B) W1(B) U1(A) U1(B) T2 : L2(B) R2(B) W2(B) L2(A) R2(A) W2(A) U2(B) U2(A) T1 T2 T1 T2 L1(A), R1(A) W1(A) L2(B) R2(B) W2(B) L2(B) R2(B) W2(B) L1(A), R1(A) W1(A) L2(A) NO L2(A) NO L1(B), NO L1(B), NO DEADLOCK Άρα µόνο σειριακές εκτελέσεις. Τ1,Τ2 Ή Τ2, Τ1 DEADLOCK