BD-2st-1.2-w11.tresc-1.1-Slajd31

Z Studia Informatyczne
Wersja z dnia 12:05, 28 sie 2006 autorstwa PKrzyzagorski (dyskusja | edycje)
(różn.) ← poprzednia wersja | przejdź do aktualnej wersji (różn.) | następna wersja → (różn.)
Przejdź do nawigacjiPrzejdź do wyszukiwania

Punkty kontrolne (2)

Punkty kontrolne (2)


Zauważmy, że w trakcie wystąpienia awarii, tylko cześć transakcji była aktywna. Stąd, wycofanie zmian wprowadzonych przez te transakcje może być stosunkowo efektywnie zaimplementowane. W przypadku procedury ROLL FORWARD – zachodzi konieczność przetworzenia całego pliku logu! Musimy, de facto, wykonać wszystkie zaakceptowane transakcje raz jeszcze – operacja po operacji! Może to być bardzo kosztowne. Rozwiązaniem są tak zwane punkty kontrolne. Punkt kontrolny (ang. checkpoint) - punkt na osi czasu, od którego i do którego są realizowane procedury ROLLBACK i ROLL FORWARD. Punkty kontrolne są tworzone w trakcie działania systemu bazy danych i ograniczają konieczność przetwarzania całego pliku logu w procedurze odtwarzania. Po pierwsze, plik logu narasta bardzo szybko i możemy nie posiadać możliwości, aby przechowywać cały plik logu. Po drugie, przetwarzanie całego pliku logu byłoby niezmiernie kosztowne czasowo.

Trzy ogólne podejścia do tworzenia punktów kontrolnych w systemie bazy danych to:

- punkt kontrolny akceptacyjnie spójny (ang. commit-consistent checkpointing),

- punkt kontrolny spójny z pamięcią podręczną (ang. cache-consistent checkpointing),

- punkt kontrolny rozmyty (ang. fuzzy checkpointing).

Opis wymienionych punktów kontrolnych i sposobów ich tworzenia można znaleźć w podanej literaturze.


<< Poprzedni slajd | Spis treści | Następny slajd >>