BD-1st-2.4-lab9.tresc-1.1-Slajd11
Współbieżność transakcji
Często w bazie danych jednocześnie pracuje wielu użytkowników, uruchamiających polecenia w ramach swoich transakcji. Transakcje wykonywane są równolegle, często również zdarza się, że w ramach różnych transakcji użytkownicy żądają wykonania operacji na tych samych danych. Np. użytkownik ALA chce usunąć wszystkie rekordy ze swojej relacji PRACOWNICY, tymczasem równolegle użytkownik OLEK chce podnieść płace podstawowe wszystkim pracownikom z relacji PRACOWNICY użytkownika ALA. Konflikty w dostępie do danych operacji z równoległych transakcji mogą spowodować utratę spójności bazy danych. Może dojść do wystąpienia tzw. anomalii współbieżnego dostępu. Anomalie były szeroko omawiane w ramach wykładu z przedmiotu, tutaj przypomnimy w skrócie ich istotę.
Z anomalią o nazwie „brudny odczyt” mamy do czynienia wtedy, gdy transakcja odczytuje dane, zmienione przez inną transakcję, która potem zostaje wycofana. Tak więc pierwsza transakcja odczytała dane, które już nie istnieją.
Anomalia o nazwie „utracona modyfikacja” powstaje w sytuacji, gdy dwie transakcje równolegle przystępują do aktualizacji tych samych danych i zmiany, wprowadzone przez jedną z transakcji, zostają nadpisane przez zmiany z drugiej transakcji.
„Niepowtarzalny odczyt” to sytuacja, w której transakcja wielokrotnie wykonuje tą samą operację odczytu rekordu z relacji bazy danych i otrzymuje różne wartości atrybutów rekordu, gdyż równolegle inna transakcja modyfikuje wartości atrybutów tego samego rekordu.
Ciąg dalszy na następnym slajdzie.