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

Περιεχόμενο που διαγράφηκε Περιεχόμενο που προστέθηκε
Γραμμή 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 μια συγκρουόμενη ενέργεια στο 2PL δεν μπορεί να συμβεί πριν το τέλος της φάσης – 1 στο σημείο συγχρονισμού, και αυτό έχει το ίδιο αποτέλεσμα με το voting-deadlock για περιπτώσεις αδιεξόδων καθολικής πρόσβασης δεδομένων. Το voting-deadlock λύνεται αυτόματα από το πρωτόκολλο κάνοντας abort μερικές συναλλαγές που εμπλέκονται σε αυτό, χάνοντας ένα vote, χρησιμοποιώντας timeout).
 
: '''Σχόλιο''': Όταν διαμοιράζονται τα δεδομένα στα μέλη της συναλλαγής με το πρωτόκολλο ατομικής δέσμευσης η αυτόματη επίλυση καθολικών αδιεξόδων φροντίζεται από: