Transakcja (informatyka)Transakcja – zbiór operacji na bazie danych, które stanowią w istocie pewną całość i jako takie powinny być wykonane wszystkie lub żadna z nich[1]. Warunki jakie powinny spełniać transakcje bardziej szczegółowo opisują zasady ACID (atomicity, consistency, isolation, durability – niepodzielność[a], spójność, izolacja, trwałość). Przykładem transakcji może być transakcja bankowa jaką jest przelew. Muszą tu zostać dokonane 2 operacje – zabranie pieniędzy z jednego konta oraz dopisanie ich do drugiego. W przypadku niepowodzenia żadna z tych operacji nie powinna być zatwierdzona, gdyż zajście tylko jednej powodowałoby nieprawidłowości w bazie danych (pojawienie się lub zniknięcie pieniędzy). Transakcja składa się zawsze z 3 etapów:
W systemach bazodanowych istotne jest, aby transakcja trwała jak najkrócej, ponieważ równolegle może być dokonywanych wiele transakcji i część operacji musi zostać wykonana w pewnej kolejności. Każdy etap transakcji jest logowany, dzięki czemu w razie awarii systemu (dzięki zawartości logów) można odtworzyć stan bazy danych sprzed transakcji, która nie została zamknięta. Część systemów baz danych umożliwia używanie punktów pośrednich (ang. save point), są to zapamiętane w systemie etapy transakcji, do których w razie wystąpienia błędu można się wycofać, bez konieczności anulowania wszystkich wykonanych działań. Transakcje w SQLW systemach baz danych realizujących standard SQL następujące polecenia dotyczą transakcji:
Transakcje w systemach plikówW przypadku systemu plików (który też jest pewnego rodzaju bazą danych) transakcje mogą być realizowane poprzez wbudowany w system obsługi plików mechanizm księgowania, który gwarantuje stabilność struktury plików, nawet w sytuacji zawieszenia całego systemu operacyjnego. Sam zapis do plików nie jest najczęściej wykonywany transakcyjnie, gdyż byłoby to zbyt kosztowne rozwiązanie. Istnieją jednak metody transakcyjnego zapisu danych do systemu plików. Przykład prostej procedury transakcyjnej w systemach plikowych:
Wynika z tego, że aby końcowy efekt był poprawny, transakcja musi wykonać się w całości albo wcale. Zobacz teżUwagi
Przypisy
Encyklopedie internetowe (proces):
|