BD-2st-1.2-w10.tresc-1.1-Slajd11
Algorytmy znaczników czasowych (ang. timestamp ordering)
Przejdziemy obecnie do przedstawienia drugiej ważnej grupy algorytmów zarządzania współbieżnym wykonywaniem transakcji, a mianowicie, algorytmów znaczników czasowych (algorytmy T/O) (inna popularna nazwa tej grupy algorytmów to – algorytmy porządkowania transakcji wg. etykiet czasowych). W algorytmach blokowania, uszeregowanie transakcji będących w konflikcie wynika z kolejności, w jakiej te transakcje uzyskały blokady danych. Mechanizm dwufazowości zakładania blokad gwarantuje uszeregowalność realizacji transakcji. W przypadku algorytmów znaczników czasowych, uszeregowanie transakcji będących w konflikcie wynika z porządku znaczników czasowych przydzielanych transakcjom w momencie ich inicjacji. Porządek jest więc predefiniowany, a nie ustalany dynamicznie, jak w przypadku algorytmów blokowania.
Znacznik czasowy (ang. timestamp) transakcji T (TS(T )), jest unikalnym identyfikatorem transakcji. Znaczniki są przydzielone transakcjom w kolejności, w której transakcje pojawiają się w systemie bazy danych.
Z każdą daną (x ) w bazie danych związane są dwie wartości znaczników czasowych:
Read_TS(x) - największy znacznik czasowy spośród wszystkich transakcji, które pomyślnie odczytały tę daną.
Write_TS(x) - największy znacznik czasowy spośród wszystkich transakcji, które pomyślnie zapisały tę daną.