Sr-6-wyk-2.0-Slajd36

From Studia Informatyczne

Porządkowanie pesymistyczne – przykłady

Porządkowanie pesymistyczne – przykłady


W prezentowanych przykładach zakładamy istnienie trzech transakcji T0 , T1 oraz T2 . Dodatkowo zakładamy, że transakcja T0 wykonywała się jako pierwsza przed rozpoczęciem pozostałych transakcji i korzystała z wszystkich danych, na których operują transakcje T1 oraz T2 . Oznacza to, że operacje zapisu i odczytu dla zmiennych są oznaczone na początku znacznikiem czasu transakcji T0 . Ponadto niech t(T1 ) < t(T2 ), czyli transakcja T1 rozpoczęła się przed transakcją T2 .

Na początku rozpatrzmy odczyt zmiennej x przez transakcję T1 dla scenariusza przedstawionego w przykładzie 1. Transakcja T0 , która działała od dłuższego czasu wykonała zapis. Po tej operacji zapisu widzimy, że rozpoczęła się transakcja T1 i na tym kończy się sekwencja operacji. Nie występuje dalej żadna operacja zapisu na zmiennej x , która mogłaby powodować konflikt z operacją odczytu x . W związku z tym odczyt zmiennej x może być wykonany bezkonfliktowo.

Zajmijmy się teraz przykładem 2., gdzie transakcja T1 żąda zapisu zmiennej x . Są tu dwie kolejne operacje zapisu i odczytu x wykonane przez transakcję T0 . Po nich rozpoczyna się transakcja T1 , która chce następnie pisać do zmiennej x . Ponieważ transakcja T1 nie została jeszcze zatwierdzona, zapis wykonywany jest tymczasowo do momentu zatwierdzenia transakcji.

W ostatnim wypadku transakcja T1 również żąda zapisu x , ale w trakcie jej trwania, a przed żądanym przez nią zapisem, wystąpił zapis wykonany przez inną transakcję T2 . Transakcja T1 musi zostać zaniechana.


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