Spisu treści:
- Definicja - Co oznacza dwufazowe zatwierdzenie (2PC)?
- Techopedia wyjaśnia dwufazowe zobowiązanie (2 szt.)
Definicja - Co oznacza dwufazowe zatwierdzenie (2PC)?
Zatwierdzenie dwufazowe to ustandaryzowany protokół, który zapewnia, że zatwierdzenie bazy danych jest wdrażane w sytuacji, gdy operację zatwierdzenia należy podzielić na dwie oddzielne części.
W zarządzaniu bazą danych zapisywanie zmian danych nazywane jest zatwierdzaniem, a cofanie zmian - wycofywaniem. Oba można łatwo osiągnąć za pomocą rejestrowania transakcji, gdy zaangażowany jest jeden serwer, ale gdy dane są rozproszone na zróżnicowanych geograficznie serwerach w obliczeniach rozproszonych (tj. Każdy serwer jest niezależną jednostką z osobnymi rekordami dziennika), proces może stać się trudniejszy .
Techopedia wyjaśnia dwufazowe zobowiązanie (2 szt.)
W transakcji rozproszonej wymagany jest specjalny obiekt, znany jako koordynator. Jak sama nazwa wskazuje, koordynator organizuje działania i synchronizację między serwerami rozproszonymi. Zatwierdzenie dwufazowe jest realizowane w następujący sposób:
Faza 1 - Każdy serwer, który musi zatwierdzić dane, zapisuje swoje rekordy danych w dzienniku. Jeśli serwer nie powiedzie się, odpowiada komunikatem o błędzie. Jeśli się powiedzie, serwer odpowiada komunikatem OK.
Faza 2 - Ta faza rozpoczyna się po tym, jak wszyscy uczestnicy odpowiedzą OK. Następnie koordynator wysyła sygnał do każdego serwera z instrukcjami zatwierdzenia. Po zatwierdzeniu każdy zapisuje zatwierdzenie jako część rekordu dziennika w celach informacyjnych i wysyła koordynatorowi komunikat, że jego zatwierdzenie zostało pomyślnie wdrożone. W przypadku awarii serwera koordynator wysyła instrukcje do wszystkich serwerów, aby wycofać transakcję. Po wycofaniu serwerów każdy wysyła informację zwrotną, że zostało to zakończone.
