BD-2st-1.2-w10.tresc-1.1-Slajd17

Z Studia Informatyczne
Wersja z dnia 12:21, 29 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

Algorytmy optymistyczne (2)

Algorytmy optymistyczne (2)


Z każdą transakcją Ti związane są czasy rozpoczęcia poszczególnych faz transakcji oraz utrzymywane są zbiory danych odczytywanych Ri i modyfikowanych Wi .

W fazie walidacji transakcji Ti , dla każdej transakcji Tj , która została zatwierdzona lub znajduje się w fazie walidacji sprawdzane jest czy spełniony jest jeden z warunków:

1. Warunek pierwszy: transakcja Tj zakończyła swoją fazę zapisu zanim transakcja Ti rozpoczęła swoją fazę odczytu.

2. Warunek drugi: wyrażenie nr 2 ze slajdu daje w wyniku zbiór pusty ((Ri SUMA Wi ) ILOCZYN Wj = ZBIÓR PUSTY) i Ti zakończyła swoją fazę odczytu zanim Tj zakończyła swoją fazę odczytu.

Jeżeli spełniony jest którykolwiek z powyższych warunków, transakcja Ti jest zatwierdzana i przechodzi do fazy zapisu. W przeciwnym przypadku, transakcja Ti jest wycofywana i restartowana ponownie. Łatwo zauważyć, że test walidacji jest stosunkowo prosty i może być efektywnie zaimplementowany. Algorytm optymistyczny został zastosowany jako mechanizm zarządzania współbieżnością, dla specyficznych danych, w systemie DB2.


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