3582317272

3582317272



Metody usuwania impasu.

Sytuacja, w której każdy element zbioru S dwóch lub większej ilości transakcji czeka na blokadę jednostki właśnie zablokowanej przez pewną transakcję ze zbioru S nazywa się impasem (deadlock). Istnieje kilka sposobów na pokonanie tego problemu:

□    Każda transakcja zgłasza od razu swoje żądania blokowania zaś system albo przydzielała je wszystkie albo w przypadku gdy jedna lub więcej blokad cząstkowych jest już nałożona przez inne transakcje, nie przydziela takiej blokady i powoduje, że cała taka transakcja oczekuje na blokadę.

□    Przypisuje się jednostkom pewne arbitralne uporządkowanie i wymaga się by wszystkie żądały blokad w tej kolejności.

□    Nie robi się nic by zapobiegać impasom. Bada się za to okresowo żądania blokowania i sprawdza, czy impas występuje. Stosuje się tu zazwyczaj metodę opartą na rysowaniu grafu oczekiwań. Wierzchołkami takiego grafu są transakcje, a jego krawędzie oznaczają, że transakcja Tl czeka na zablokowanie jednostki która jest zablokowana przez T2

Jeżeli taki graf oczekiwań zostanie utworzony i w grafie tym będą występowały cykle to mamy' wówczas dowód na istnienie impasu. Jeżeli taki impas został wykryty, to trzeba zacząć ponownie wykonywać jedną z powodujących ten impas transakcję, a wyniki dotychczasowego działania tej transakcji muszą być usunięte z BD. Taki proces ponownego startu przy impasie może być i często jest skomplikowany jeśli nie opracowano specjalnego sposobu zapisu zmian w BD.

Strategia dwufazowego wypełniania.

Przy tworzeniu zabezpieczeń antyawaryjnych dla rozproszonych BD istotną rolę odgrywa min. proces badania czy dana transakcja została wypełniona. Stąd wniosek, że akcja wypełnienia transakcji powinna być zapisana w dzienniku BD. Jeśli zachodzi potrzeba usunięcia skutków awarii, to badając dziennik można dowiedzieć się które transakcje zostały wypełnione. Do określenia czy dana transakcja została wypełniona, czy nie, przyjmuje się często tzw. strategię dwufazowego wypełniania, którą definiujemy następująco:

□    Transakcja nie może zapisywać danych do BD dopóty, dopóki nie zostanie wypełniona.

□    Transakcja nie może być wypełniona dopóty, dopóki nie zapisze w dzienniku wszystkich dokonywanych przez siebie zmian elementarnych.

Z powyższych uwarunkowań wynika, ze pierwsza faza wypełnienia, to zapis danych do dziennika, a faza druga to zapis danych do BD. Jeżeli dodatkowo transakcje przestrzegają protokołu dwufazowego i odblokowanie odbywa się po wypełnieniu (zapis do dziennika i zapis do BD) to żadna transakcja nie może odczytywać z BD wartości zapisanej przez transakcję nie wypełnioną. Gdy w systemie wystąpi awaria, to możliwe jest badanie dziennika i powtórzenie wszystkich wypełnionych transakcji zapisanych w dzienniku, które nie mogły zapisać zmian do BD.


Wyszukiwarka

Podobne podstrony:
5.2. Zbiory, przedziały i nierówności Zbiór A jest podzbiorem zbioru B, jeśli każdy element zbioru A
Wyjaśnienie elementów tekstu wyodrębnić typy, sytuacje wątki i ćwiczyć każdy element - wszyscy
SELECT...FOR XML - tryb AUTO tt każdy element otrzymuje nazwę od nazwy tabeli, z której został wybra
Zadanie 114 Dla zbioru z powtórzeniami X = < 4*a, 3*b, 5*c > rozważ podzbiory, w których każdy
112 Cześć II ♦ Jednoużytkownikowa baza danych, zbudowana z wielu tabel elementów bazy. Sytuacja, w k
Image 20 VI. TYPOWE USTERKI, ICH PRZYCZYNY ORAZ METODY USUWANIA Lp. Objawy uszkodzenia Przyczyny
Image026 PEDAGOGIKA EMANCYPACYj(
skanuj0301 •    koronową, w której jednym z elementów jest koło zębate płaskie (dawni
logistyka zaopatrzenia4 Monopol producenta oznacza sytuacją, w której występują na tynku producenci
IMGP1463 2ANarunek selekcji definiujemy w sposób rekurencyjny*. • każdy elementarny warunek selekcji
img?015 2Zbiory Pojęcia: zbiór; element zbioru, zaliczamy do pojęć pierwotnych (nie definiujemy),
16 Paweł Cabała Elementami zbioru relacji przewyższania są zatem następujące pary wariantów: {(a2,

więcej podobnych podstron