Κλείδωμα δύο Φάσεων: Διαφορά μεταξύ των αναθεωρήσεων

Περιεχόμενο που διαγράφηκε Περιεχόμενο που προστέθηκε
Γραμμή 109:
Σε κατανεμημένα περιβάλλοντα απαιτείται ένα πρωτόκολλο ατομικής δέσμευσης (atomic commitment) για [[ACID|ατομικότητα]] (συνήθως το [http://en.wikipedia.org/wiki/Two-phase_commit_protocol 2PC]). Όταν ανακτημένα δεδομένα κατανέμονται μεταξύ συναλλαγών που χρησιμοποιούν το [http://en.wikipedia.org/wiki/Two-phase_commit_protocol 2PC] και έπειτα κατανέμονται καθολικά αδιέξοδα (δηλαδή αδιέξοδα τα οποία εμπλέκουν δυο συναλλαγές στο [http://en.wikipedia.org/wiki/Two-phase_commit_protocol 2PC]) τα οποία λύνονται αυτομάτως.
 
Όταν το SS2PL χρησιμοποιείται σε κατανεμημένο περιβάλλον τότε τα καθολικά αδιέξοδα για να κλειδώσουν δημιουργούν voting-deadlocks στο [http://en.wikipedia.org/wiki/Two-phase_commit_protocol 2PC] και επιλύονται αυτόματα από το [http://en.wikipedia.org/wiki/Two-phase_commit_protocol 2PC] (βλέπε commitment ordering). Γενικά στο 2PL τα καθολικά αδιέξοδα επιλύονται παρομοίως από το πρωτόκολλο σημείο συγχρονισμού στο τέλος της φάσης – 1 σε μια κατανεμημένη συναλλαγή (το σημείο συγχρονισμού επιτυγχάνεται με «voting» (το οποίο σημειώνεται το τέλος της φάσης - 1) και διαδίδεται στα μέρη της συναλλαγής όπως σε μια κατανεμημένη συναλλαγή με τον ίδιο τρόπο σαν ένα σημείο απόφασης στην ατομική δέσμευση (atomic commitment). Κατ’ αναλογία με το σημείο απόφασης στο CO[http://en.wikipedia.org/wiki/Commitment_ordering Commitment Ordering] μια συγκρουόμενη ενέργεια στο 2PL δεν μπορεί να συμβεί πριν το τέλος της φάσης – 1 στο σημείο συγχρονισμού, και αυτό έχει το ίδιο αποτέλεσμα με το voting-deadlock για περιπτώσεις αδιεξόδων καθολικής πρόσβασης δεδομένων. Το voting-deadlock λύνεται αυτόματα από το πρωτόκολλο κάνοντας abort μερικές συναλλαγές που εμπλέκονται σε αυτό, χάνοντας ένα vote, χρησιμοποιώντας timeout).
 
: '''Σχόλιο''': Όταν διαμοιράζονται τα δεδομένα στα μέλη της συναλλαγής με το πρωτόκολλο ατομικής δέσμευσης η αυτόματη επίλυση καθολικών αδιεξόδων φροντίζεται από:
:*Για τα CO και στην ειδική περίπτωση του SS2PL η αυτόματη επίλυση από το πρωτόκολλο ατομικής δέσμευσης σημειώνεται μόνο σε άρθρα για το CO[http://en.wikipedia.org/wiki/Commitment_ordering Commitment Ordering].
:* Για το 2PL γενικά η αυτόματη επίλυση από το πρωτόκολλο σημείου συγχρονισμού στο τέλος της φάσης – 1 (η οποία έχει τον ίδιο μηχανισμό voting με το πρωτόκολλο ατομικής δέσμευσης, και το φαινόμενο της «vote που αγνοείται» στο voting-deadlock καταλήγει σε επίλυση καθολικού αδιεξόδου) δεν αναφέρεται μέχρι το 2009. Πρακτικά χρησιμοποιείται μόνο το SS2PL και δεν χρειάζεται ούτε συγχρονισμός στο τέλος της φάσης – 1 ούτε και πρωτόκολλο ατομικής δέσμευσης.