BD-2st-1.2-w09.tresc-1.1-Slajd22
Problem „duchów” (1)
Przedstawimy obecnie problem duchów, który jest konsekwencją przyjęcia określonej jednostki blokowania. Zakładaliśmy dotychczas, że baza danych jest zbiorem stałych i niezależnych obiektów. Rodzi to pewien problem.
Rozważmy transakcje T1 i T2 przedstawione na slajdzie. Załóżmy, że transakcje T1 i T2 są wykonywane sekwencyjnie: najpierw T1, a później T2. Zakładając, że blokowanie jest realizowane na poziomie rekordów bazy danych, pojawia się niebezpieczeństwo nieuszeregowalności realizacji. Zauważmy, że transakcja T1nie widzi rekordu wprowadzanego przez transakcję T2. Stąd, transakcja T1 nie mogła założyć blokady odczytu tego rekordu. W odniesieniu do innej relacji, kolejność operacji transakcji T1 i T2 może być odwrotna. W konsekwencji, współbieżna realizacja transakcji T1 i T2 będzie nieuszeregowalna. W grafie uszeregowalności transakcja T1 będzie poprzedzała transakcję T2 w odniesieniu do relacji emp przedstawionej na slajdzie, natomiast transakcja T2 będzie poprzedzała T1 w odniesieniu do drugiej relacji. Łatwo zauważyć, że w grafie uszeregowalności wystąpi cykl świadczący o nieuszeregowalności realizacji.