ΤΑΥΤΟΧΡΟΝΙΣΜΟΣ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 Διαισθητικά, η.

Slides:



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

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι
Transactions & P2P Systems Διονύσης Αθανασόπουλος Βασίλης Φωτόπουλος.
Συνδυαστικά Κυκλώματα
Παραλληλοποίηση κώδικα
Κώστας Διαμαντάρας Τμήμα Πληροφορικής ΤΕΙ Θεσσαλονίκης 2011 Πολυεπεξεργαστές.
Λειτουργικά Συστήματα
©Silberschatz, Korth and Sudarshan1ΒΔ ΙΙ: Σύστημα επαναφοράς Σύστημα Επαναφοράς (Recovery System)  Κατηγοριοποίηση αποτυχιών/βλαβών  Δομή αποθήκευσης.
Το υλικο του Υπολογιστη
Λειτουργικό Σύστημα 2ο μέρος.
Ασκήσεις Συνδυαστικής
Προχωρημένα Θέματα Τεχνολογίας και Εφαρμογών Βάσεων Δεδομένων Προχωρημένα Θέματα Διαχείρισης Ταυτοχρονισμού Πάνος Βασιλειάδης Οκτώβρης.
ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΤΜΗΜΑ ΜΗΧΑΝΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΒΙΟΜΗΧΑΝΙΑΣ Διάλεξη 2: Πίνακες και δυναμικά δεδομένα στη FORTRAN 90 Εαρινό εξάμηνο 2009 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ.
Προχωρημένα Θέματα Τεχνολογίας και Εφαρμογών Βάσεων Δεδομένων Βασικές Αρχές Διαχείρισης Ταυτοχρονισμού Πάνος Βασιλειάδης Οκτώβριος 2009.
Αδιέξοδα (Deadlocks).
HY100 : ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΥΠΟΛΟΓΙΣΤΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ, ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ, ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΔΙΔΑΣΚΟΝΤΕΣ Αντώνιος Σαββίδης, Χρήστος.
1 Επεξεργασία Συναλλαγών. 2 Συναλλαγές m Η ταυτόχρονη εκτέλεση προγραμμάτων χρηστών είναι απαραίτητη για την καλή απόδοση ενός ΣΔΒΔ m Επειδή οι προσπελάσεις.
Βάσεις Δεδομένων II Περίληψη: Προχωρημένα Θέματα Διαχείρισης Ταυτοχρονισμού Πάνος Βασιλειάδης Οκτώβρης 2002
Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 1 Τεχνικές Ελέγχου Συνδρομικότητας - Ασκήσεις.
Προχωρημένα Θέματα Τεχνολογίας και Εφαρμογών Βάσεων Δεδομένων
ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι
Κώστας Διαμαντάρας Τμήμα Πληροφορικής ΤΕΙ Θεσσαλονίκης 2011 Συστολικοί επεξεργαστές.
Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 1 Τεχνικές Ελέγχου Συνδρομικότητας.
Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 1 Επεξεργασία Δοσοληψιών Ανακεφαλαίωση.
Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 1 Επεξεργασία Δοσοληψιών Ανακεφαλαίωση.
1515 Διαχείριση Συναλλαγών  Συναλλαγές  Έλεγχος ταυτοχρονισμού  Επανάκτηση δεδομένων.
Λειτουργικά Συστήματα ΑΔΙΕΞΟΔΑ. 3.1 Εισαγωγή  Αδιέξοδο = ένα σύνολο από διεργασίες που δημιουργούν μια κυκλική αλυσίδα όπου κάθε process στην αλυσίδα.
Thermal Hydraulics & Multiphase Flow Laboratory Μοντελοποίηση ροής στο κυκλοφορικό σύστημα Παναγιώτης Νεοφύτου Εργαστήριο Θερμοϋδραυλικής Ανάλυσης και.
Κώστας Διαμαντάρας Τμήμα Πληροφορικής ΤΕΙ Θεσσαλονίκης 2011 Συστολικοί επεξεργαστές - Παραδείγματα.
ΠΕΤΡΟΓΕΝΕΣΗ ΜΕΤΑΜΟΡΦΩΜΕΝΩΝ ΠΕΤΡΩΜΑΤΩΝ
Βάσεις Δεδομένων II Διαχείριση Δοσοληψιών Πάνος Βασιλειάδης Σεπτέμβρης 2002
Αδιέξοδο Μόνιμο μπλοκάρισμα ενός συνόλου διεργασιών που είτε συναγωνίζονται για πόρους του συστήματος είτε επικοινωνούν μεταξύ τους Δεν υπάρχει αποδοτική.
©Silberschatz, Korth and Sudarshan1 ΒΔ ΙΙ: Διαχείριση συναλλαγών Διαχείριση Συναλλαγών (Transaction Management)  Ορισμός της συναλλαγής  Καταστάσεις.
7.7 Πρωτόκολλο ARP Δίκτυα Υπολογιστών ΙΙ.
Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 1 Τεχνικές Ανάκαμψης.
Κεφάλαιο 19 Τεχνικές Ανάκαμψης Βάσεων Δεδομένων (Recovery)
Βάσεις Δεδομένων II Ενότητα 6: Ανάκαμψη Γεωργία Γκαράνη Επίκουρος Καθηγήτρια Τμήμα Μηχανικών Πληροφορικής Τ.Ε. T.E.I. Θεσσαλίας.
Κατανεμημένα Συστήματα με Java
Lists– Λίστες 1. Αυτό-αναφορικές δομές Τα μέλη μίας δομής μπορεί να είναι οποιουδήποτε τύπου, ακόμα και δείκτες σε δομές του ίδιου τύπου. Χρησιμοποιώντας.
Μερκ. Παναγιωτόπουλος - Φυσικός
Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 1 Επεξεργασία Δοσοληψιών (συνέχεια)
ΕΣ 08: Επεξεργαστές Ψηφιακών Σημάτων © 2006 Nicolas Tsapatsoulis Αρχιτεκτονική Μνήμης Τμήμα Επιστήμη και Τεχνολογίας Τηλεπικοινωνιών Πανεπιστήμιο Πελοποννήσου.
Προχωρημένα Θέματα Τεχνολογίας και Εφαρμογών Βάσεων Δεδομένων Διαχείριση Συναλλαγών Πάνος Βασιλειάδης Μάρτιος 2014
1 Βάσεις Δεδομένων ΙII Επιμέλεια: ΘΟΔΩΡΗΣ ΜΑΝΑΒΗΣ Διαχείριση συναλλαγών Transaction Management T Manavis.
Βάσεις Δεδομένων II Ενότητα 7: Ταυτοχρονισμός Γεωργία Γκαράνη
Πρωτόκολλο αμοιβαίου αποκλεισμού (mutual exclusion) για δύο διεργασίες-CPN Tools Νάνος Λέανδρος 156 Τζιαλαμάνη Βιργινία 166.
Βάσεις Δεδομένων II Περίληψη: Τεχνικές Ανάνηψης Πάνος Βασιλειάδης Νοέμβρης 2002
HY100 : ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΥΠΟΛΟΓΙΣΤΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ, ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ, ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΔΙΔΑΣΚΟΝΤΕΣ Αντώνιος Σαββίδης, Χρήστος.
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Τρίτο Συστήματα.
Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 1 Τεχνικές Ανάκαμψης.
Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 1 Ασκήσεις Επεξεργασία Δοσοληψιών, Τεχνικές Ελέγχου Συνδρομικότητας, Τεχνικές Ανάκαμψεις από Σφάλματα.
1 Α. Βαφειάδης Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Τ.Ε.Ι Θεσσαλονίκης Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Κεφαλαίο Τρίτο Συστήματα.
Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 1 Επεξεργασία Δοσοληψιών.
Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 1 ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΙΙ.
Βάσεις Δεδομένων II Προχωρημένα Θέματα Διαχείρισης Ταυτοχρονισμού Πάνος Βασιλειάδης Οκτώβρης 2002
Βάσεις Δεδομένων II Βασικές Αρχές Διαχείρισης Ταυτοχρονισμού Πάνος Βασιλειάδης Οκτώβρης 2002
Κεφάλαιο 17 Εισαγωγή στη Θεωρία των Δοσοληψιών. Δοσοληψίες Η Έννοια της Δοσοληψίας Κατάσταση Δοσοληψίας Ταυτόχρονες Εκτελέσεις Σειριοποιησιμότητα Ανάκαμψη.
Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 1 Επεξεργασία Δοσοληψιών (συνέχεια)
Βάσεις Δεδομένων II Ευαγγελία Πιτουρά 1 ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΙΙ.
Βάσεις Δεδομένων II Περίληψη: Διαχείριση Δοσοληψιών Πάνος Βασιλειάδης Οκτώβρης 2002
Βάσεις Δεδομένων II Περίληψη: Βασικές Αρχές Διαχείρισης Ταυτοχρονισμού Πάνος Βασιλειάδης Οκτώβρης 2002
Διοίκηση Επιχειρήσεων Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας.
Διοίκηση Επιχειρήσεων Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας.
ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι
Βάσεις Δεδομένων ΙΙ 5η διάλεξη
Αναπαράσταση Αλγορίθμου
Διαχείριση Συναλλαγών
ΔΙΕΡΓΑΣΙΕΣ.
Κατανεμημένα Συστήματα
Κατανεμημένα Συστήματα
Μεταγράφημα παρουσίασης:

ΤΑΥΤΟΧΡΟΝΙΣΜΟΣ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 Διαισθητικά, η T1 μεταφέρει Ν κρατήσεις θέσεων από μια πτήση (Χ) και τις μεταφέρει σε μία άλλη (Y). Η T2 απλώς κρατά Μ θέσεις στην πρώτη πτήση (τη Χ ) v Δεν υπάρχει καμία εγγύηση ότι η T1 θα εκτελεστεί πριν την T2 η το ανάποδο, αν και η δύο υποβληθούν ταυτόχρονα. Ωστόσο, το συνολικό αποτέλεσμα πρέπει να είναι ισοδύναμο με τη μία ή την άλλη περίπτωση (δηλαδή, με κάποια σειριακή εκτέλεση των δύο Συναλλαγών)

ΤΑΥΤΟΧΡΟΝΙΣΜΟΣ3 BEGIN R(X) X=Χ-N W(X) R(Y) Y=Y+N W(Y) END BEGIN R(X) X=Χ+M W(X) END T1 T2 σειριακή εκτέλεση Τ1  Τ2 BEGIN R(X) X=Χ-N W(X) R(Y) Y=Y+N W(Y) END BEGIN R(X) X=Χ+M W(X) END T1 T2 σειριακή εκτέλεση Τ2  Τ1

ΤΑΥΤΟΧΡΟΝΙΣΜΟΣ4 T1 T2 BEGIN R(X) X=Χ-N W(X) END Απώλεια Ενημερώσεων W(X) R(Y) BEGIN R(X) X=Χ+M Y=Y+N W(Y) END Η τιμή του X είναι λανθασμένη

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

ΤΑΥΤΟΧΡΟΝΙΣΜΟΣ6 BEGIN R(X) X=Χ-N T1 T2 Μη Επαναλήψιμη Ανάγνωση BEGIN R(X) X=Χ+M W(X) END R(X) H τιμή του Χ που διαβάζει η Τι είναι διαφορετική!!

ΤΑΥΤΟΧΡΟΝΙΣΜΟΣ7 Τα τρία προβλήματα είναι: Το πρόβλημα της χαμένης ενημέρωσης (lost update) Το πρόβλημα της εξάρτησης από ανεπικύρωτη μεταβολή (uncommitted dependency) Το πρόβλημα της ασυνεπούς ανάλυσης (inconsistent analysis)

ΤΑΥΤΟΧΡΟΝΙΣΜΟΣ8 1. Χαμένη Ενημέρωση ΑΒ Retrieve pt1- -t2Retrive p Update pt3- -t4Update p

ΤΑΥΤΟΧΡΟΝΙΣΜΟΣ9 2. Εξάρτηση από ανεπικύρωτη μεταβολή ΑΒ t1 Update p Retrieve p t2- Update pt t4Rollback

ΤΑΥΤΟΧΡΟΝΙΣΜΟΣ10 ΤΑΥΤΟΧΡΟΝΙΣΜΟΣ 3. Ασυνεπής ανάλυση Α[ACC1=40, ACC2=50, ACC3=30]Β Retrieve ACC1 sum=40t1- Retrieve ACC2 sum=90 t2- -t3Retrieve ACC3 -t4Update ACC3 30-->20 -t5Retrieve ACC1 -t6Update ACC1 40-->50 -t7COMMIT Reatrive ACC3 t8- sum=110 no 120

ΤΑΥΤΟΧΡΟΝΙΣΜΟΣ11 ΤΑΥΤΟΧΡΟΝΙΣΜΟΣ Τεχνική Ελέγχου ΚΛΕΙΔΩΜΑ (locking) Το αποτέλεσμα του κλειδώματος είναι να αποκλειστούν οι άλλες συναλλαγές από την συστοιχία, και έτσι να μην μπορούν να την μεταβάλουν. Αποκλειστικά κλειδώματα X (exclusive locks) κλείδωμα πράξεων εγγραφής (write lock) Μεριζόμενα κλειδώματα S (shared locks) κλείδωμα πράξεων ανάγνωσης (read lock )

ΤΑΥΤΟΧΡΟΝΙΣΜΟΣ12 ΤΑΥΤΟΧΡΟΝΙΣΜΟΣ ΚΛΕΙΔΩΜΑ (locking) Αν η συναλλαγή Α κατέχει ένα αποκλειστικό (Χ) κλείδωμα πάνω στη συστοιχία ρ, τότε μια αίτηση από κάποια άλλη συναλλαγή Β για ένα κλείδωμα οποιουδήποτε από τους δύο τύπους στην ρ θα απορριφθεί.

ΤΑΥΤΟΧΡΟΝΙΣΜΟΣ13 ΤΑΥΤΟΧΡΟΝΙΣΜΟΣ ΚΛΕΙΔΩΜΑ (locking) Αν η συναλλαγή Α κατέχει ένα μεριζόμενο (S) κλείδωμα πάνω στη συστοιχία ρ, τότε: Μια αίτηση από κάποια άλλη συναλλαγή Β για ένα κλείδωμα Χ στην ρ θα απορριφθεί. Μια αίτηση από κάποια άλλη συναλλαγή Β για ένα κλείδωμα S στην ρ θα γίνει δεκτή (δηλαδή, και η Β θα διατηρεί τώρα ένα κλείδωμα S στην ρ).

ΤΑΥΤΟΧΡΟΝΙΣΜΟΣ14 ΤΑΥΤΟΧΡΟΝΙΣΜΟΣ ΜΗΤΡΩΟ ΣΥΜΒΑΤΟΤΗΤΑΣ (Compatibility Matrix) για τους τύπους κλειδωμάτων Χ και S (η παύλα->χωρίς κλείδωμα) XS- XOON SONN -NNN

ΤΑΥΤΟΧΡΟΝΙΣΜΟΣ15 ΤΑΥΤΟΧΡΟΝΙΣΜΟΣ Πρωτόκολλο προσπέλασης δεδομένων (data access protocol) 1. Μια συναλλαγή που θέλει να ανακαλέσει μια συστοιχία πρέπει πρώτα να αποκτήσει ένα κλείδωμα S σε αυτή τη συστοιχία. 2. Μια συναλλαγή που θέλει να ενημερώσει μια συστοιχία πρέπει πρώτα να αποκτήσει ένα κλείδωμα Χ σε αυτή τη συστοιχία. Αν κατέχει ήδη ένα κλείδωμα S στη συστοιχία,όπως συμβαίνει σε μια ακολουθία ανάκλησης και ενημέρωσης (RETRIEVE-UPDATE), τότε θα πρέπει να προαγάγει το κλείδωμα S σε κλείδωμα επιπέδου Χ. 3. Αν μια αίτηση κλειδώματος από τη συναλλαγή Β απορριφθεί επειδή έρχεται σε σύγκρουση με ένα κλείδωμα που κατέχει ήδη η συναλλαγή Α, τότε η συναλλαγή Β περνάει σε κατάσταση αναμονής. 4. Τα κλειδώματα Χ διατηρούνται μέχρι το τέλος της συναλλαγής (COMMIT ή ROLLBACK).

ΤΑΥΤΟΧΡΟΝΙΣΜΟΣ16 ΤΑΥΤΟΧΡΟΝΙΣΜΟΣ ΑΔΙΕΞΟΔΟ (DEADLOCK) Το αδιέξοδο είναι μια κατάσταση όπου δύο ή περισσότερες συναλλαγές είναι ταυτόχρονα σε κατάσταση αναμονής, και η κάθε μία περιμένει μια από τις άλλες να απελευθερώσει ένα κλείδωμα, πριν μπορέσει να προχωρήσει.

ΤΑΥΤΟΧΡΟΝΙΣΜΟΣ17 ΤΑΥΤΟΧΡΟΝΙΣΜΟΣ ΑΔΙΕΞΟΔΟ (DEADLOCK) Το πρόβλημα της χαμένης ενημέρωσης ΑΒ retrieve p St1- -t2 retrieve p S update p Xt3- αναμονήt4 update p Xαναμονή

ΤΑΥΤΟΧΡΟΝΙΣΜΟΣ18 ΤΑΥΤΟΧΡΟΝΙΣΜΟΣ ΑΔΙΕΞΟΔΟ (DEADLOCK) Το πρόβλημα Εξάρτησης από Ανεπικύρωτη Μεταβολή ΑΒ t1 Update p Χ Retrieve p t2- ΑΝΑΜΟΝΗ ΑΝΑΜΟΝΗ t3Rollback/ Commit Συνέχεια Retrieve p St4

ΤΑΥΤΟΧΡΟΝΙΣΜΟΣ19 ΤΑΥΤΟΧΡΟΝΙΣΜΟΣ ΑΔΙΕΞΟΔΟ (DEADLOCK) Το πρόβλημα Ασυνεπούς Ανάλυσης Α[ACC1=40, ACC2=50, ACC3=30]Β Retrieve S ACC1 sum=40t1- Retrieve S ACC2 sum=90 t2- -t3Retrieve S ACC3 -t4Update X ACC3 30-->20 -t5Retrieve S ACC1 -t6Update Χ ACC1 40-->50 Reatrive S ACC3 t7Αναμονή Αναμονήt8Αναμονή

ΤΑΥΤΟΧΡΟΝΙΣΜΟΣ20 ΤΑΥΤΟΧΡΟΝΙΣΜΟΣ ΑΔΙΕΞΟΔΟ (DEADLOCK) Γενικό Παράδειγμα ΑΒ Lock p1 Xt1- -t2 Lock p2 X Lock p2 Xt3- αναμονήt4 Lock p1 Xαναμονή

ΤΑΥΤΟΧΡΟΝΙΣΜΟΣ21 ΤΑΥΤΟΧΡΟΝΙΣΜΟΣ ΑΔΙΕΞΟΔΟ (DEADLOCK) Στην πράξη, δεν εντοπίζουν όλα τα συστήματα τα αδιέξοδα — μερικά χρησιμοποιούν απλώς ένα μηχανισμό χρονικού ορίου (timeout) και θεωρούν ότι μια συναλλαγή που δεν έχει κάνει καμία δουλειά για ένα προκαθορισμένο χρονικό διάστημα είναι σε αδιέξοδο.

ΤΑΥΤΟΧΡΟΝΙΣΜΟΣ22 ΤΑΥΤΟΧΡΟΝΙΣΜΟΣ Σειροποιησιμότητα (serialiability) κριτήριο ορθότητας για έλεγχο συναλλαγών 1. Αν όλες οι συναλλαγές υπακούουν στο «πρωτόκολλο κλειδώματος δύο φάσεων» τότε όλα τα δυνατά πλεκτά χρονοδιαγράμματα είναι σειροποιήσιμα.

ΤΑΥΤΟΧΡΟΝΙΣΜΟΣ23 ΤΑΥΤΟΧΡΟΝΙΣΜΟΣ πρωτόκολλο κλειδώματος δύο φάσεων 1. Πριν επενεργήσει σε οποιοδήποτε αντικείμενο (π.χ., σε μια συστοιχία βάσης δεδομένων), μια συναλλαγή πρέπει να αποκτήσει ένα κλείδωμα σε αυτό το αντικείμενο. 2. Αφού απελευθερώσει ένα κλείδωμα, μια συναλλαγή δεν πρέπει ποτέ να προχωρήσει στην απόκτηση και άλλων κλειδωμάτων. Μια συναλλαγή που υπακούει σε αυτό το πρωτόκολλο έχει λοιπόν δύο φάσεις, μια φάση απόκτησης κλειδώματος και μια φάση απελευθέρωσης κλειδώματος

ΤΑΥΤΟΧΡΟΝΙΣΜΟΣ24 ΤΑΥΤΟΧΡΟΝΙΣΜΟΣ Προτιθέμενο κλείδωμα Αναφέραμε ήδη ότι τα κλειδώματα Χ και S έχουν νόημα και για ολόκληρες σχέσεις και για μεμονωμένες συστοιχίες. Εισάγουμε τρία νέα είδη κλειδωμάτων, που ονομάζονται προτιθέμενα κλειδώματα (intent locks), τα οποία έχουν επίσης νόημα για τις σχέσεις αλλά όχι για τις μεμονωμένες συστοιχίες. προτιθέμενο μεριζόμενο κλείδωμα (intent shared — IS), προτιθέμενο αποκλειστικό κλείδωμα (intent exclusive — IX) μεριζόμενο και προτιθέμενο αποκλειστικό κλείδωμα (shared intent exclusive — SIX).

ΤΑΥΤΟΧΡΟΝΙΣΜΟΣ25 ΤΑΥΤΟΧΡΟΝΙΣΜΟΣ Προτιθέμενο κλείδωμα IS :Η συναλλαγή Τ σκοπεύει να θέσει κλειδώματα S σε μεμονωμένες συστοιχίες της R, για να εξασφαλιστεί η σταθερότητα αυτών των συστοιχιών ενώ γίνεται η επεξεργασία τους. IX :Το ίδιο με το IS, και επιπλέον η Τ μπορεί να χρειαστεί να ενημερώνει μεμονωμένες συστοιχίες της R, γι' αυτό θέτει κλειδώματα Χ σε αυτές τις συστοιχίες. S :Η T ανέχεται ταυτόχρονες αναγνώσεις, αλλά όχι ταυτόχρονες ενημερώσεις της R. Η ίδια η T δεν ενημερώνει συστοιχίες της R. SIX :Συνδυάζει τα S και IX, δηλαδή, η T ανέχεται ταυτόχρονες αναγνώσεις, αλλά όχι ταυτόχρονες ενημερώσεις της R, και επιπλέον η T μπορεί να χρειαστεί να ενημερώνει μεμονωμένες συστοιχίες της R, γι' αυτό θέτει κλειδώματα Χ σε αυτές τις συστοιχίες. Χ :Η Τ δεν ανέχεται καμία απολύτως ταυτόχρονη προσπέλαση της R, η ίδια η T μπορεί να ενημερώνει ή να μην ενημερώνει μεμονωμένες συστοιχίες της R.

ΤΑΥΤΟΧΡΟΝΙΣΜΟΣ26 ΤΑΥΤΟΧΡΟΝΙΣΜΟΣ Μητρώο συμβατότητας, διευρυμένο ώστε να περιλαμβάνει τα προτιθέμενα κλειδώματα ΧSIXIXSIS- X00000Ν SIX0000ΝΝ IX00Ν0ΝΝ S000ΝΝΝ IS0ΝΝΝΝΝ -ΝΝΝΝΝΝ