Ειδικά Θζματα Βάςεων Δεδομζνων

Σχετικά έγγραφα
Βάςεισ Δεδομζνων Ι. Ενότητα 12: Κανονικοποίηςη. Δρ. Τςιμπίρθσ Αλκιβιάδθσ Τμιμα Μθχανικών Πλθροφορικισ ΤΕ

Βάςεισ Δεδομζνων Ι. Ενότητα 4: Μετατροπή ςχήματοσ Ο/Σ ςε ςχεςιακό. Δρ. Τςιμπίρθσ Αλκιβιάδθσ Τμιμα Μθχανικϊν Ρλθροφορικισ ΤΕ

Ειδικά Θζματα Βάςεων Δεδομζνων

Γενικά Μαθηματικά ΙΙ

ΑΝΟΙΧΣΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΣΑ ΔΙΕΘΝΕΙΣ ΟΙΚΟΝΟΜΙΚΕΣ ΣΧΕΣΕΙΣ

Τεχνικζσ Ανάλυςησ Διοικητικών Αποφάςεων

Βάςεισ Δεδομζνων Λ. Ενότθτα 8: SQL Γλώςςα χειριςμοφ δεδομζνων. Δρ. Σςιμπίρθσ Αλκιβιάδθσ Σμιμα Μθχανικών Πλθροφορικισ ΣΕ

Βάςεισ Δεδομζνων Ι. Ενότθτα 10: Συνακροιςτικζσ ςυναρτιςεισ. Δρ. Σςιμπίρθσ Αλκιβιάδθσ Σμιμα Μθχανικών Πλθροφορικισ ΣΕ

Τεχνικζσ Ανάλυςησ Διοικητικών Αποφάςεων

Ειδικά Θζματα Βάςεων Δεδομζνων

Βάςεισ Δεδομζνων Ι. Ενότθτα 11: SQL-Ερωτιματα Ομαδοποίθςθσ με υνζνωςθ Πινάκων. Δρ. Σςιμπίρθσ Αλκιβιάδθσ Σμιμα Μθχανικϊν Πλθροφορικισ ΣΕ

Ειδικά Θζματα Βάςεων Δεδομζνων

ΑΝΟΙΧΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ ΔΙΕΘΝΕΙΣ ΟΙΚΟΝΟΜΙΚΕΣ ΣΧΕΣΕΙΣ

ΔΙΔΑΚΤΙΚΗ ΤΗΣ ΠΑΙΔΑΓΩΓΙΚΗΣ ΓΥΜΝΑΣΤΙΚΗΣ ΙΙ

Κλαςικι Ηλεκτροδυναμικι

Ψθφιακά Ηλεκτρονικά. Ενότθτα 5 : Ανάλυςθ κυκλώματοσ με D και JK FLIP- FLOP Φώτιοσ Βαρτηιώτθσ

Κοινωνική Δημογραφία

Επιχειρηςιακή Έρευνα και εφαρμογζσ με την χρήςη του λογιςμικοφ R

Γενικά Μαθηματικά ΙΙ Αςκήςεισ 11 ησ Ενότητασ

ΑΝΟΙΧΣΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΣΑ ΔΙΕΘΝΕΙΣ ΟΙΚΟΝΟΜΙΚΕΣ ΣΧΕΣΕΙΣ

ΔΙΔΑΚΤΙΚΗ ΤΗΣ ΠΑΙΔΑΓΩΓΙΚΗΣ ΓΥΜΝΑΣΤΙΚΗΣ ΙΙ

Βάςεισ Δεδομζνων Ι. Ενότητα 7: Ειςαγωγή ςτην γλώςςα_sql. Δρ. Σςιμπίρθσ Αλκιβιάδθσ Σμιμα Μθχανικϊν Πλθροφορικισ ΣΕ

Ειδικζσ Ναυπηγικζσ Καταςκευζσ και Ιςτιοφόρα κάφη (Ε)

Aντιπτζριςθ (ΕΠ027) Ενότθτα 12

Βάςεισ Δεδομζνων Ι. Ενότθτα 9: SQL-φηευξθ πινάκων. Δρ. Σςιμπίρθσ Αλκιβιάδθσ Σμιμα Μθχανικών Πλθροφορικισ ΣΕ

Γενικά Μαθηματικά ΙΙ

ΘΕΜΑΣΑ ΕΞΕΣΑΕΩΝ

Αναπαράςταςθ Γνώςθσ ςτον Παγκόςμιο Ιςτό Ενότθτα 2: XML Δομθμζνα Ζγγραφα Ιςτοφ, Μζροσ 4 ο XPath

Aντιπτζριςη (ΕΠ027) Ενότητα 5

EMUNI A.U.Th. SUMMER SCHOOL

Καταςκευζσ Οπλιςμζνου Σκυροδζματοσ Ι

Aντιπτζριςη (ΕΠ027) Ενότητα 6

Ελλθνικι Δθμοκρατία Σεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Ψθφιακά Ηλεκτρονικά. Ενότθτα 9 : Διαδικαςία φνκεςθσ Φϊτιοσ Βαρτηιϊτθσ

Διαγλωςςική Επικοινωνία

Βάςεισ Δεδομζνων Ι. Ενότητα 1: υςτήματα Βάςεων Δεδομζνων. Δρ. Τςιμπίρθσ Αλκιβιάδθσ Τμιμα Μθχανικϊν Πλθροφορικισ ΤΕ

Τεχνικό Σχζδιο - CAD

Γενικά Μαθηματικά ΙΙ

Ενότθτα: Ανατομία Μεςοκωρακίου

ΘΕΡΜΟΔΤΝΑΜΙΚΗ Ι. Ενότθτα 1: Βαςικά χαρακτθριςτικά τθσ Θερμοδυναμικισ. ογομϊν Μπογοςιάν Πολυτεχνικι χολι Σμιμα Χθμικϊν Μθχανικϊν

ΔΙΔΑΚΤΙΚΗ ΤΗΣ ΠΑΙΔΑΓΩΓΙΚΗΣ ΓΥΜΝΑΣΤΙΚΗΣ ΙΙ

Οντοκεντρικόσ Προγραμματιςμόσ

Οντοκεντρικόσ Προγραμματιςμόσ

Ψθφιακά Ηλεκτρονικά. Ενότθτα 7 : Ελαχιςτοποίθςθ και κωδικοποίθςθ καταςτάςεων Φϊτιοσ Βαρτηιϊτθσ

ΘΕΡΜΟΔΤΝΑΜΙΚΗ IΙ. Ενότθτα 4: Χθμικζσ αντιδράςεισ αερίων τακερά Χθμικισ Ιςορροπίασ Πρότυπθ Ελεφκερθ Ενζργεια

Aντιπτζριςη (ΕΠ027) Ενότητα 10

Επιχειρηςιακή Ζρευνα και εφαρμογζσ με την χρήςη του λογιςμικοφ R

Ειδικά Θζματα Βάςεων Δεδομζνων

Εκκλθςιαςτικό Δίκαιο ΙΙΙ (Μεταπτυχιακό)

Διδακτικι τθσ Γλϊςςασ Ι

Διαγλωςςική Επικοινωνία

ΔΙΔΑΚΤΙΚΗ ΤΗΣ ΠΑΙΔΑΓΩΓΙΚΗΣ ΓΥΜΝΑΣΤΙΚΗΣ ΙΙ

ΘΕΟΛΟΓΙΑ ΚΑΙΝΗΣ ΔΙΑΘΗΚΗΣ

Αποτυπώςεισ & Τεκμηρίωςη Αντικειμζνων

Τεχνολογία Περιβάλλοντοσ: Διαχείριςθ Υγρών Αποβλιτων Ενότθτα 9: Απολφμανςθ. Κορνάροσ Μιχαιλ Πολυτεχνικι Σχολι Τμιμα Χθμικών Μθχανικών

ΕΙΑΓΩΓΗ ΣΗ ΦΙΛΟΟΦΙΑ ΕΝΟΣΗΣΑ 6. ΕΠΙΧΕΙΡΗΜΑΣΟΛΟΓΙΑ ΚΑΙ ΛΟΓΙΚΗ

Παράγοντεσ υμμετοχήσ Ενηλίκων ςτην Εκπαίδευςη: Ζητήματα Κινητοποίηςησ και Πρόςβαςησ ςε Οργανωμζνεσ Εκπαιδευτικζσ Δραςτηριότητεσ

ΛΕΙΣΟΤΡΓΙΚΆ ΤΣΉΜΑΣΑ. 3 ο Εργαςτιριο υγχρονιςμόσ Διεργαςιϊν

Aντιπτζριςη (ΕΠ027) Ενότητα 9

ΠΟΤΔΗ ΣΗ ΤΝΟΠΣΙΚΗ ΠΑΡΑΔΟΗ ΚΑΙ ΣΗΝ Q

ΘΕΡΜΟΔΤΝΑΜΙΚΗ Ι. Ενότθτα 3: Μθδενικόσ Νόμοσ - Ζργο. ογομϊν Μπογοςιάν Πολυτεχνικι χολι Σμιμα Χθμικϊν Μθχανικϊν

ΘΕΟΛΟΓΙΑ ΚΑΙΝΗΣ ΔΙΑΘΗΚΗΣ

ΘΕΡΜΟΔΤΝΑΜΙΚΘ IΙ. Ενότθτα 11: Διαλυτότθτα Ιδανικά διαλφματα ογομών Μπογοςιάν Πολυτεχνικι χολι Σμιμα Χθμικών Μθχανικών

Καταςκευζσ Οπλιςμζνου Σκυροδζματοσ Ι

Βάςεισ Δεδομζνων Ι. Ενότθτα 3: Μετατροπι ςχιματοσ Ο/ ςε ςχεςιακό. Δρ. Τςιμπίρθσ Αλκιβιάδθσ Τμιμα Μθχανικϊν Ρλθροφορικισ ΤΕ

Γενικά Μαθηματικά ΙΙ

Ελλθνικι Δθμοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Ψθφιακά Ηλεκτρονικά. Ενότθτα 13 : Άλλοι Μετρθτζσ Φϊτιοσ Βαρτηιϊτθσ

Aντιπτζριςη (ΕΠ027) Ενότητα 2

Οντοκεντρικόσ Ρρογραμματιςμόσ

Αγροτικι - Κοινοτικι Ανάπτυξθ

ΔΙΔΑΚΤΙΚΗ ΤΗΣ ΠΑΙΔΑΓΩΓΙΚΗΣ ΓΥΜΝΑΣΤΙΚΗΣ ΙΙ

ςυςτιματα γραμμικϊν εξιςϊςεων

Βάςεισ Δεδομζνων Ι. Ενότθτα 2: χεδιαςμόσ Βάςθσ Δεδομζνων. Δρ. Σςιμπίρθσ Αλκιβιάδθσ Σμιμα Μθχανικϊν Πλθροφορικισ ΣΕ

Γενικά Μαθηματικά ΙΙ

Ψθφιακι Επεξεργαςία ιματοσ

Αγροτικι - Κοινοτικι Ανάπτυξθ

Αναπαράςταςθ Γνώςθσ ςτον Παγκόςμιο Ιςτό Ενότθτα 5: Κανόνεσ Λογικι και Συμπεραςμόσ

Παράγοντεσ υμμετοχήσ Ενηλίκων ςτην Εκπαίδευςη: Ζητήματα Κινητοποίηςησ και Πρόςβαςησ ςε Οργανωμζνεσ Εκπαιδευτικζσ Δραςτηριότητεσ

ΔΙΔΑΚΣΙΚΗ ΣΗ ΠΑΙΔΑΓΩΓΙΚΗ ΓΤΜΝΑΣΙΚΗ ΙΙ

Ειςαγωγή ςτη διδακτική των γλωςςών

Ερωτήσεις επανάληψης. Ενδοκρινείς αδένες. Τμήμα Ιαηρικής Πανεπιζηήμιο Παηρών

Οντοκεντρικόσ Ρρογραμματιςμόσ

Σφντομεσ Οδθγίεσ Χριςθσ

ΣΙΣΛΟ ΜΑΘΗΜΑΣΟ: ΠΕΡΙΒΑΛΛΟΝΣΙΚΗ ΗΘΙΚΗ ΧΕΔΙΑΓΡΑΜΜΑ ΜΑΘΗΜΑΣΟ ΟΝΟΜΑ ΚΑΘΗΓΗΣΗ: ΔΗΜΗΣΡΙΟ ΜΑΣΘΟΠΟΤΛΟ ΣΜΗΜΑ: Σμήμα Διαχείριςησ Περιβάλλοντοσ και Φυςικών

Ψθφιακι Επεξεργαςία ιματοσ

ΘΕΟΛΟΓΙΑ ΚΑΙΝΗΣ ΔΙΑΘΗΚΗΣ

Ειςαγωγή ςτη διδακτική των γλωςςών

Τεχνικζσ Ανάλυςησ Διοικητικών Αποφάςεων

Ειςαγωγι ςτισ Μεταφραςτικζσ Σπουδζσ

Seventron Limited. Οδηγίες χρήσης EnglishOnlineTests.com

Επιχειρηςιακή Έρευνα και εφαρμογζσ με την χρήςη του λογιςμικοφ R

ΕΦΑΡΜΟΓΖσ ΒΆΕΩΝ ΔΕΔΟΜΖΝΩΝ ΚΑΙ ΔΙΑΔΙΚΣΥΟΤ. Ειρινθ Φιλιοποφλου

Megatron ERP Βάςη δεδομζνων Π/Φ - κατηγοριοποίηςη Databox

ΕΝΟΤΗΤΑ 2: ΤΟ ΛΟΓΙΣΜΙΚΟ ΤΟΥ ΥΠΟΛΟΓΙΣΤΗ. ΚΕΦΑΛΑΙΟ 5: Γνωριμία με το λογιςμικό του υπολογιςτι

Αγροτική - Κοινοτική Ανάπτυξη

Οδθγόσ για τθν αξιοποίθςθ τθσ διαςφνδεςθσ του myschool με το Εκνικό Δθμοτολόγιο

Επιχειρηςιακή Ζρευνα και εφαρμογζσ με την χρήςη του λογιςμικοφ R

ΘΕΡΜΟΔΤΝΑΜΙΚΗ Ι. Ενότθτα 11: Μεταπτϊςεισ πρϊτθσ και δεφτερθσ τάξθσ. ογομϊν Μπογοςιάν Πολυτεχνικι χολι Σμιμα Χθμικϊν Μθχανικϊν

Τεχνολογία Περιβάλλοντοσ: Διαχείριςθ Στερεών Αποβλιτων Ενότθτα 4: Μθχανικόσ Διαχωριςμόσ. Κορνάροσ Μιχαιλ Πολυτεχνικι Σχολι Τμιμα Χθμικών Μθχανικών

Γ' ΛΥΚΕΙΟΥ Η ΤΑΞΗ ΤΗΣ ΤΕΛΙΚΗΣ ΕΠΙΛΟΓΗΣ. Στθ ΓϋΛυκείου οι Ομάδεσ Προςανατολιςμοφ είναι τρεισ:

Ελλθνικι Δθμοκρατία Σεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Ψθφιακά Ηλεκτρονικά. Ενότθτα 3 : τοιχεία Μνιμθσ flip-flop.

Transcript:

Ειδικά Θζματα Βάςεων Δεδομζνων Ενότθτα 7: Σαυτοχρονιςμόσ Δρ. Τςιμπίρθσ Αλκιβιάδθσ Τμιμα Μθχανικών Πλθροφορικισ ΤΕ

Άδειεσ Χριςθσ Το παρόν εκπαιδευτικό υλικό υπόκειται ςε άδειεσ χριςθσ Creative Commons. Για εκπαιδευτικό υλικό, όπωσ εικόνεσ, που υπόκειται ςε άλλου τφπου άδειασ χριςθσ, θ άδεια χριςθσ αναφζρεται ρθτώσ. 2

Χρθματοδότθςθ Το παρόν εκπαιδευτικό υλικό ζχει αναπτυχκεί ςτα πλαίςια του εκπαιδευτικοφ ζργου του διδάςκοντα. Το ζργο «Ανοικτά Ακαδθμαϊκά Μακιματα ςτο ΤΕΙ Κεντρικισ Μακεδονίασ» ζχει χρθματοδοτιςει μόνο τθ αναδιαμόρφωςθ του εκπαιδευτικοφ υλικοφ. Το ζργο υλοποιείται ςτο πλαίςιο του Επιχειρθςιακοφ Προγράμματοσ «Εκπαίδευςθ και Δια Βίου Μάκθςθ» και ςυγχρθματοδοτείται από τθν Ευρωπαϊκι Ζνωςθ (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εκνικοφσ πόρουσ. 3

Ενότθτα 7 Σαυτοχρονιςμόσ Δρ. Τςιμπίρθσ Αλκιβιάδθσ 4

Περιεχόμενα ενότθτασ Ταυτοχρονιςμόσ Προβλιματα ταυτοχρονιςμοφ Χαμζνθ ενθμζρωςθ Εξάρτθςθ από αναπικφρωτθ μεταβολι Αςυνεπισ Ανάλυςθ Κλείδωμα (Αποκλειςτικό-Μεριηόμενο) Αδιζξοδο Λφςθ των προβλθμάτων ταυτοχρονιςμοφ. Προτικζμενα κλειδώματα 5

κοποί ενότθτασ Εξθγοφνται τα προβλιματα που προκφπτουν από ταυτόχρονθ εκτζλεςθ ςυναλλαγών κακώσ και τισ τεχνικζσ που χρθςιμοποιοφνται για τον ζλεγχο τθσ ταυτόχρονθσ εκτζλεςθσ ςυναλλαγών που βαςίηονται ςτθν ζννοια του κλειδώματοσ των δεδομζνων. Τζλοσ παρουςιάηονται τα προβλιματα αδιεξόδου κακώσ και οι υπάρχουςεσ λφςεισ. 6

Σαυτοχρονιςμόσ T1 T2 T1 T2 BEGIN R(X) X=Χ-N W(X) R(Y) Y=Y+N W(Y) END ςειριακι εκτζλεςθ Σ1 Σ2 BEGIN R(X) X=Χ+M W(X) END BEGIN R(X) X=Χ-N W(X) R(Y) Y=Y+N W(Y) END BEGIN R(X) X=Χ+M W(X) END ςειριακι εκτζλεςθ Σ2 Σ1 7

Σαυτοχρονιςμόσ T1 BEGIN R(X) X=Χ-N W(X) R(Y) Y=Y+N W(Y) END T2 BEGIN R(X) X=Χ+M W(X) END Η τιμι του X είναι λανκαςμζνθ Απϊλεια Ενθμερϊςεων 8

Σαυτοχρονιςμόσ T1 BEGIN R(X) X=Χ-N W(X) Y=Y+N T2 Dirty Read BEGIN R(X) X=Χ+M W(X) END Προςωρινι Ενθμζρωςθ Τι θα ζυμβεί αν η Τ1 αποηύχει - η Τ2 θα έχει διαβάζει «ανύπαρκηη ηιμή» 9

Σαυτοχρονιςμόσ T1 T2 BEGIN R(X) X=Χ-N Μθ Επαναλιψιμθ Ανάγνωςθ BEGIN R(X) X=Χ+M W(X) END R(X) H τιμι του Χ που διαβάηει θ Τι είναι διαφορετικι 10

Προβλιματα ταυτοχρονιςμοφ Τα προβλιματα του ταυτοχρονιςμοφ είναι: Το πρόβλθμα τθσ χαμζνθσ ενθμζρωςθσ (lost update) Το πρόβλθμα τθσ εξάρτθςθσ από ανεπικφρωτθ μεταβολι (uncommitted dependency) Το πρόβλθμα τθσ αςυνεποφσ ανάλυςθσ (inconsistent analysis) 11

Χαμζνθ ενθμζρωςθ ταυτοχρονιςμοφ Χαμζνθ Ενθμζρωςθ Α Β --------------------------------------------- Retrieve p t1 - - t2 Retrive p Update p t3 - - t4 Update p 12

Εξάρτθςθ από ανεπικφρωτθ μεταβολι ταυτοχρονιςμοφ Εξάρτθςθ από ανεπικφρωτθ μεταβολι Α Β ---------------------------------------------------- ---- t1 Update p Retrieve p t2 - Update p t3 ---- t4 Rollback 13

Αςυνεπισ ανάλυςθ ταυτοχρονιςμοφ Αςυνεπισ ανάλυςθ Α [ACC1=40, ACC2=50, ACC3=30] Β -------------------------------------------------------------- Retrieve ACC1 sum=40 t1 - Retrieve ACC2 sum=90 t2 - - t3 Retrieve ACC3 - t4 Update ACC3 30-- >20 - t5 Retrieve ACC1 - t6 Update ACC1 40-- >50 - t7 COMMIT Reatrive ACC3 t8 - sum=110 no 120 14

Σεχνικι ζλεγχου ταυτοχρονιςμοφ Μία τεχνικι ελζγχου που χρθςιμοποιεί ο ταυτοχρονιςμόσ είναι το κλείδωμα: Κλείδωμα (locking) θ λειτουργία του ζχει ςαν αποτζλεςμα τον αποκλειςμό των ςυναλλαγών από τθν ςυςτοιχία ώςτε αν μθν υπάρχει δυνατότθτα μεταβολισ τθσ. Υπάρχουν δφο είδθ κλειδώματοσ: Αποκλειςτικά κλειδϊματα X (exclusive locks) κλείδωμα πράξεων εγγραφισ (write lock) Μεριηόμενα κλειδϊματα S (shared locks) κλείδωμα πράξεων ανάγνωςθσ (read lock) 15

Κλείδωμα Ζςτω ότι θ ςυναλλαγι Α κατζχει ζνα αποκλειςτικό κλείδωμα (Χ) πάνω ςτθ ςυςτοιχία ρ, τότε μια αίτθςθ από κάποια άλλθ ςυναλλαγι Β για ζνα κλείδωμα οποιουδιποτε από τουσ δφο τφπουσ ςτθν ρ κα απορριφκεί. 16

Κλείδωμα Ζςτω το Α κατζχει ζνα μεριηόμενο (S) κλείδωμα πάνω ςτθ ςυςτοιχία ρ, τότε: Μια αίτθςθ από κάποια άλλθ ςυναλλαγι Β για ζνα κλείδωμα Χ ςτθν ρ κα απορριφκεί. Μια αίτθςθ από κάποια άλλθ ςυναλλαγι Β για ζνα κλείδωμα S ςτθν ρ κα γίνει δεκτι (δθλαδι, και θ Β κα διατθρεί τώρα ζνα κλείδωμα S ςτθν ρ). 17

Μθτρϊο ςυμβατότθτασ ταυτοχρονιςμοφ ΜΗΣΡΩΟ ΤΜΒΑΣΟΣΗΣΑ (Compatibility Matrix):για τουσ τφπουσ κλειδωμάτων Χ και S. X S - X Oχι Oχι Nαι S Oχι Nαι Nαι - Nαι Nαι Nαι χόλιο! Η παφλα = χωρίσ κλείδωμα. 18

Πρωτόκολλο προςπζλαςθσ δεδομζνων ταυτοχρονιςμοφ Πρωτόκολλο προςπζλαςθσ δεδομζνων (data access protocol): Μια ςυναλλαγι που κζλει να ανακαλζςει μια ςυςτοιχία πρζπει πρώτα να αποκτιςει ζνα κλείδωμα S ςε αυτι τθ ςυςτοιχία. Μια ςυναλλαγι που κζλει να ενθμερώςει μια ςυςτοιχία πρζπει πρώτα να αποκτιςει ζνα κλείδωμα Χ ςε αυτι τθ ςυςτοιχία. Αν κατζχει ιδθ ζνα κλείδωμα S ςτθ ςυςτοιχία, όπωσ ςυμβαίνει ςε μια ακολουκία ανάκλθςθσ και ενθμζρωςθσ (RETRIEVE-UPDATE), τότε κα πρζπει να προαγάγει το κλείδωμα S ςε κλείδωμα επιπζδου Χ. Αν μια αίτθςθ κλειδώματοσ από τθ ςυναλλαγι Β απορριφκεί επειδι ζρχεται ςε ςφγκρουςθ με ζνα κλείδωμα που κατζχει ιδθ θ ςυναλλαγι Α, τότε θ ςυναλλαγι Β περνάει ςε κατάςταςθ αναμονισ. Τα κλειδώματα Χ διατθροφνται μζχρι το τζλοσ τθσ ςυναλλαγισ (COMMIT ι ROLLBACK). 19

Αδιζξοδο Με τθν λζξθ αδιζξοδο (Deadlock) εννοείται μία κατάςταςθ κατά τθν οποία δφο ι περιςςότερεσ ςυναλλαγζσ βρίςκονται ταυτόχρονα ςε κατάςταςθ αναμονισ και θ κάκε μία από αυτζσ περιμζνει τθν άλλθ ι τισ άλλεσ να απελευκερώςουν ζνα κλείδωμα πριν μπορζςει να ςυνεχίςει. 20

Αδιζξοδο-Σο πρόβλθμα τθσ χαμζνθσ ενθμζρωςθσ Σο πρόβλθμα τθσ χαμζνθσ ενθμζρωςθσ Α Β --------------------------------------------------------------- retrieve p S t1 - - t2 retrieve p S update p X t3 - αναμονι t4 update p X αναμονι αναμονι 21

Αδιζξοδο-Πρόβλθμα εξάρτθςθσ ανεπικφρωτθσ μεταβολισ Σο πρόβλθμα Εξάρτθςθσ από Ανεπικφρωτθ Μεταβολι Α Β ------------------------------------------------------------------------ ---- t1 Update p Χ Retrieve p t2 - αναμονι αναμονι t3 Rollback/ Commit Συνζχεια Retrieve p S t4 22

Αδιζξοδο-Πρόβλθμα αςυνεποφσ ανάλυςθσ Σο πρόβλθμα Αςυνεποφσ Ανάλυςθσ Α [ACC1=40, ACC2=50, ACC3=30] Β -------------------------------------------------------------------------- Retrieve S ACC1 sum=40 t1 - Retrieve S ACC2 sum=90 t2 - - t3 Retrieve S ACC3 - t4 Update X ACC3 30-->20 - t5 Retrieve S ACC1 - t6 Update Χ ACC1 40-->50 Retrieve S ACC3 t7 Αναμονι Αναμονι t8 Αναμονι 23

Παράδειγμα ταυτοχρονιςμοφ Παράδειγμα Α Β ---------------------------------------------------------------------------- Lock p1 X t1 - - t2 Lock p2 X Lock p2 X t3 - αναμονι t4 Lock p1 X αναμονι αναμονι 24

Γενικό ςυμπζραςμα αδιεξόδου Δεν είναι δυνατό όλα τα ςυςτιματα να εντοπίςουν ταυτόχρονα όλα τα αδιζξοδα. Μερικά χρθςιμοποιοφν απλόσ ζναν περιοριςμό χρονικοφ ορίου και κεωροφν ότι μία ςυναλλαγι που δεν εκπλιρωςε τθν δουλειά τθσ ςε ςυγκεκριμζνο χρονικό διάςτθμα βρίςκεται ςε αδιζξοδο. 25

Πρωτόκολλο κλειδώματοσ δφο φάςεων 1. Πριν επενεργιςει ςε οποιοδιποτε αντικείμενο (π.χ., ςε μια ςυςτοιχία βάςθσ δεδομζνων), μια ςυναλλαγι πρζπει να αποκτιςει ζνα κλείδωμα ςε αυτό το αντικείμενο. 2. Αφοφ απελευκερώςει ζνα κλείδωμα, μια ςυναλλαγι δεν πρζπει ποτζ να προχωριςει ςτθν απόκτθςθ και άλλων κλειδωμάτων. Μια ςυναλλαγι που υπακοφει ςε αυτό το πρωτόκολλο ζχει λοιπόν δφο φάςεισ, μια φάςθ απόκτθςθσ κλειδώματοσ και μια φάςθ απελευκζρωςθσ κλειδώματοσ 26

Προτικζμενο κλείδωμα Αναφζραμε ιδθ ότι τα κλειδώματα Χ και S ζχουν νόθμα και για ολόκλθρεσ ςχζςεισ και για μεμονωμζνεσ ςυςτοιχίεσ. Ειςάγουμε τρία νζα είδθ κλειδωμάτων, που ονομάηονται προτικζμενα κλειδώματα (intent locks), τα οποία ζχουν επίςθσ νόθμα για τισ ςχζςεισ αλλά όχι για τισ μεμονωμζνεσ ςυςτοιχίεσ. προτικζμενο μεριηόμενο κλείδωμα (intent shared IS), προτικζμενο αποκλειςτικό κλείδωμα (intent exclusive IX) μεριηόμενο και προτικζμενο αποκλειςτικό κλείδωμα (shared intent exclusive SIX). 27

Προτικζμενο κλείδωμα IS :Η ςυναλλαγι Τ ςκοπεφει να κζςει κλειδώματα S ςε μεμονωμζνεσ ςυςτοιχίεσ τθσ R, για να εξαςφαλιςτεί θ ςτακερότθτα αυτών των ςυςτοιχιών ενώ γίνεται θ επεξεργαςία τουσ. IX :Το ίδιο με το IS, και επιπλζον θ Τ μπορεί να χρειαςτεί να ενθμερώνει μεμονωμζνεσ ςυςτοιχίεσ τθσ R, γι' αυτό κζτει κλειδώματα Χ ςε αυτζσ τισ ςυςτοιχίεσ. S :Η T ανζχεται ταυτόχρονεσ αναγνώςεισ, αλλά όχι ταυτόχρονεσ ενθμερώςεισ τθσ R. Η ίδια θ T δεν ενθμερώνει ςυςτοιχίεσ τθσ R. SIX :Συνδυάηει τα S και IX, δθλαδι, θ T ανζχεται ταυτόχρονεσ αναγνώςεισ, αλλά όχι ταυτόχρονεσ ενθμερώςεισ τθσ R, και επιπλζον θ T μπορεί να χρειαςτεί να ενθμερώνει μεμονωμζνεσ ςυςτοιχίεσ τθσ R, γι' αυτό κζτει κλειδώματα Χ ςε αυτζσ τισ ςυςτοιχίεσ. Χ :Η Τ δεν ανζχεται καμία απολφτωσ ταυτόχρονθ προςπζλαςθ τθσ R, θ ίδια θ T μπορεί να ενθμερώνει ι να μθν ενθμερώνει μεμονωμζνεσ ςυςτοιχίεσ τθσ R. 28

Μθτρώο ςυμβατότθτασ Μθτρϊο ςυμβατότθτασ, διευρυμζνο ϊςτε να περιλαμβάνει τα προτικζμενα κλειδϊματα Χ SIX IX S IS - X 0 0 0 0 0 Ν SIX 0 0 0 0 Ν Ν IX 0 0 Ν 0 Ν Ν S 0 0 0 Ν Ν Ν IS 0 Ν Ν Ν Ν Ν - Ν Ν Ν Ν Ν Ν 29