BD-1st-2.4-lab9.tresc-1.1-Slajd15

Z Studia Informatyczne
Wersja z dnia 07:33, 10 sie 2006 autorstwa PKrzyzagorski (dyskusja | edycje)
(różn.) ← poprzednia wersja | przejdź do aktualnej wersji (różn.) | następna wersja → (różn.)
Przejdź do nawigacjiPrzejdź do wyszukiwania

Zarządzanie współbieżnością

Zarządzanie współbieżnością


Aby uniknąć występowania anomalii współbieżnego dostępu i zapewnić żądany poziom izolacji transakcji, system zarządzania bazą danych musi zastosować odpowiedni algorytm zarządzania współbieżnym zbiorem transakcji. Wyróżnia się tu dwa podejścia. Algorytmy optymistyczne dopuszczają wysoki stopień współbieżności, jednak kosztem występowania wielu konfliktów między transakcjami. Poprawność wykonania operacji w ramach transakcji jest sprawdzana przez zastosowanie znaczników czasowych operacji. Na tej podstawie system zarządzania bazą danych określa, czy transakcja może zostać zatwierdzona czy musi zostać odrzucona z racji możliwości wprowadzenia niespójności do bazy danych. Z kolei algorytmy pesymistyczne próbują zapobiegać występowaniu anomalii przez eliminację konfliktów między operacjami równoległych transakcji. Mechanizmem tutaj wykorzystywanym są blokady. Najczęściej stosowanym algorytmem pesymistycznym jest blokowanie dwufazowe (ang. two-phase locking). Algorytm ten jest szeroko omawiany w ramach wykładu z przedmiotu.

Blokada to przydzielenie określonego zasobu do zadania. Zasób może zostać przydzielony do zadania na wyłączność, mówimy wówczas, że zasób został zablokowany w trybie wyłącznym. Jeśli jednocześnie kilka zadań może uzyskać dostęp do zasobu, wówczas zasób jest blokowany w trybie współdzielonym.


<< Poprzedni slajd | Spis treści | Następny slajd >>