Πίνακας περιεχομένων:
Ορισμός - Τι σημαίνει δέσμευση δύο φάσεων (2PC);
Μια διμερής δέσμευση είναι ένα τυποποιημένο πρωτόκολλο που εξασφαλίζει την εφαρμογή μιας δέσμης βάσεων δεδομένων σε περίπτωση που μια λειτουργία δέσμευσης πρέπει να σπάσει σε δύο ξεχωριστά μέρη.
Στη διαχείριση βάσεων δεδομένων, η εξοικονόμηση των αλλαγών δεδομένων είναι γνωστή ως η δέσμευση και η κατάργηση των αλλαγών είναι γνωστή ως επαναφορά. Και οι δύο μπορούν εύκολα να επιτευχθούν με τη χρήση καταγραφής συναλλαγών όταν εμπλέκεται ένας και μοναδικός διακομιστής, αλλά όταν τα δεδομένα μεταδίδονται σε γεωγραφικά διαφορετικούς εξυπηρετητές σε κατανεμημένους υπολογιστές (δηλαδή κάθε διακομιστής είναι ανεξάρτητη μονάδα με ξεχωριστά αρχεία καταγραφής), η διαδικασία μπορεί να γίνει πιο δύσκολη .
Η Techopedia εξηγεί τη δέσμευση δύο φάσεων (2PC)
Ένα ειδικό αντικείμενο, γνωστό ως συντονιστής, απαιτείται σε μια κατανεμημένη συναλλαγή. Όπως υπονοεί το όνομά του, ο συντονιστής οργανώνει δραστηριότητες και συγχρονισμό μεταξύ διανεμημένων διακομιστών. Η διμερής δέσμευση υλοποιείται ως εξής:
Φάση 1 - Κάθε διακομιστής που χρειάζεται να δεσμεύσει δεδομένα γράφει τα αρχεία δεδομένων του στο αρχείο καταγραφής. Εάν ένας διακομιστής δεν είναι επιτυχής, απαντά με μήνυμα αποτυχίας. Εάν είναι επιτυχής, ο διακομιστής απαντά με ένα μήνυμα OK.
Φάση 2 - Η φάση αυτή αρχίζει αφού όλοι οι συμμετέχοντες απαντήσουν εντάξει. Στη συνέχεια, ο συντονιστής στέλνει ένα μήνυμα σε κάθε διακομιστή με οδηγίες δέσμευσης. Μετά τη δέσμευση, η κάθε μία γράφει τη δέσμευση ως μέρος της εγγραφής καταγραφής για αναφορά και στέλνει στον συντονιστή ένα μήνυμα ότι η δέσμευσή του έχει υλοποιηθεί με επιτυχία. Εάν αποτύχει ένας διακομιστής, ο συντονιστής στέλνει εντολές σε όλους τους διακομιστές για να επαναφέρεται η συναλλαγή. Αφού οι διακομιστές επαναληφθούν, κάθε χρήστης αποστέλλει σχόλια ότι έχει ολοκληρωθεί.
