INFO
Sylabus
Transakcje w bazach danych
1. Po co transakcje? - Współbieżność
2. Po co transakcje? - Przeciwdziałanie awariom
3. Transakcja: jednostka działalności systemu
4. Przykładowa transakcja
5. Kryterium poprawności transakcji
6. Implementacja szeregowalności poprzez zamki
7. Zakleszczenie
8. Walka z zakleszczeniem
9. Metody bez zakleszczeń oparte na stemplach czasowych
10. Metody optymistyczne
11. Ziarnistość mechanizmu transakcji
12. Zmienna ziarnistość
13. Typy awarii i reakcje na awarie
14. Odtwarzanie po awarii - środki, terminy
15. Odtwarzanie po zerwaniu
16. Podstawowe algorytmy z zamkami
17. Komendy w SQL do przetwarzania transakcji
18. Zagnieżdżone transakcje
19. Przykład zagnieżdżonej transakcji
20. 2PC w systemach rozproszonych
21. Długie transakcje (transakcje projektowe)
22. Podsumowanie
Skorowidz
Wyście:
Wyklad VI. Wprowadzenie do transakcji w bazach danych (KURS SSR)
I II III IV V VI VII VIII IX X XI XII XIII XIV
« poprzedni punkt   następny punkt »

13. Typy awarii i reakcje na awarie

Zerwanie transakcji: z różnych powodów, wewnętrznych (np. czekaj-umieraj) lub zewnętrznych. Transakcja może być powtarzana automatycznie lub (jeżeli to niemożliwe) stracona. Program wywołujący transakcje powinien przewidywać sytuację, że transakcja może być zerwana, wykryć to i ewentualnie powtórzyć.

Awaria systemu, ze stratą zawartości pamięci operacyjnej

Awaria nośników pamięci, ze stratą zawartości dysku.


Absolutna niezawodność (1kB) absolutna złożoność, nieskończony kosz

Czyli, niestety, nawet z transakcjami absolutna niezawodność jest niemożliwa.
Ale żyć się da, jeżeli awarie nie będą częściej niż np. raz na rok, więc nie jest źle...
W końcu zakłada się także ludzką interwencję, a ludzie na ogół jakoś sobie radzą z kłopotami...

Rozsądna niezawodność  (1kB)   mały wpływ na wydajność

Transakcje rozsądnie podwyższają niezawodność, nie prowadząc do nadmiernych obciążeń czasu wykonania ani dodatkowego zapotrzebowania na pamięć


14. Odtwarzanie po awarii - środki, terminy

Back up
(bekap?)
Cykliczne przegrywanie zawartości bazy danych lub jej najważniejszych fragmentów na inny nośnik (najczęściej taśmę magnetyczną). Cykl: co 30 min (banki), na koniec dnia (instytucje), co tydzień (uniwersytety), itp.
Recovery (odtwarzanie)
Odtwarzanie (pół-automatyczne lub automatyczne) stanu bazy danych po awarii na podstawie ostatniego backup-u i ew. logu.
Log (dziennik)
Rejestracja wszystkich operacji zachodzących na bazie danych wraz ze zmienianymi obiektami, z dokładnością do transakcji, które to robią
Rollback (cofanie)
Cofanie operacji w bazie danych na podstawie logu, np. po zerwaniu transakcji
Checkpoint (czekpoint?)
Migawkowe zdjęcie stanu przetwarzania (trwałych i nietrwałych obiektów, stanu sterowania, itd.) stosowane w niektórych systemach celem powrotu do poprzedniego stanu, o ile programista/użytkownik tego sobie zażyczył. Stosowane dla wykonania operacji undo.
Replication (replikacja)
Zdublowanie informacji na fizycznie i geograficznie oddzielonych nośnikach, celem zwiększenia niezawodności i zmniejszenia kosztów transmisji.


« poprzedni punkt   następny punkt »