Metody blokowania-opracowanie

Nasza ocena:

3
Pobrań: 49
Wyświetleń: 1106
Komentarze: 0
Notatek.pl

Pobierz ten dokument za darmo

Podgląd dokumentu
Metody blokowania-opracowanie - strona 1 Metody blokowania-opracowanie - strona 2

Fragment notatki:

Metody blokowania
Harmonogram - kolejność wykonywania transakcji z dokładnością do elementarnych operacji wykonywanych przez transakcję, tj. blokowania, czytania, odblokowania, zapisu, itp. Harmonogram jest sekwencyjny, jeżeli wszystkie operacje każdej transakcji występują kolejno po sobie. Harmonogram jest szeregowalny (dający się uszeregować), jeżeli wynik działania tego harmonogramu jest równoważny wynikowi otrzymanemu za pomocą pewnego harmonogramu sekwencyjnego. Jeżeli w momencie pojawienia się harmonogramu okaże się że jest on szeregowalny, to transakcja może być wykonywana w systemie bazodanowym. W module zarządzania blokadami sprawdza się czy harmonogram jest szeregowalny. Nie każdy harmonogram jest sprawdzany przy realizacji w implementacjach BD. Większość harmonogramów jest sprawdzana z punktu widzenia operacji zapisu, odczytu, zablokowania, odblokowania. Poprzez program sprawdzający szeregowalność harmonogramu można osiągnąć rozwiązanie problemu impasu. Dla wszystkich jednostek bazy danych wprowadza się jeden lub więcej protokołów przestrzeganych przez wszystkie transakcje. Na przykład protokół, w którym przyjęto określoną metodę blokowania jednostek w określonej kolejności. W normalnych harmonogramach występują jeszcze operacje zakładania i zdejmowania blokady, dopiero na podstawie tego rozpatrujemy problem szeregowalności.
Algorytm szeregowania dla operacji Lock i UnLock realizowanych dla każdej operacji Read i Write.
S - harmonogram składający się z transakcji T1...Tk
Metoda sprawdzania szeregowalności polegać będzie na utworzeniu grafu pierwszeństwa (graf zorientowany). Wierzchołkami będą transakcje. W grafie należy określić krawędzie. Wyznacza się je tak:
Przyjmujemy, że mamy dwie transakcje: Tj - ma zadanie Lock albo UnLock. Jeżeli operacja w harmonogramie jest operacją odblokowania, czyli operacją na transakcji Tj, Tj:UNLOCK[Am], to szukamy w harmonogramie takiej transakcji Ts, która blokuje tę samą jednostkę bazy danych Am. Ts:LOCK[Am]. W grafie dokonujemy wtedy połączenia Tj i Ts:
Jeżeli graf pierwszeństwa zawiera cykl, to taki harmonogram nie jest szeregowalny. Gdy w grafie nie ma cyklu, to harmonogram jest szeregowalny i można do grafu zastosować metodę sortowania topologicznego, która pozwoli na sprowadzenie tego szeregowalnego harmonogramu do harmonogramu sekwencyjnego. Polega to na znalezieniu w grafie pierwszeństwa takiego wierzchołka Ti, do którego nie dochodzą żadne inne krawędzie. Taki wierzchołek wpisujemy jako pierwsza transakcja w realizacji, usuwamy ten wierzchołek z grafu i znowu szukamy w podgrafie. Powtarzamy to, aż nie usuniemy wszystkich wierzchołków z grafu pierwszeństwa. Kolejność usuwania wierzchołków definiuje harmonogram sekwencyjny, który dowodzi szeregowalności harmonogramu.


(…)

….
Bezpieczeństwo przy awarii na tle metod blokowania transakcji:
System musi mieć dodatkowe mechanizmy zabezpieczenia przed awariami. Dotyczy to tylko scentralizowanych baz danych. Inne metody dotyczą systemów rozproszonych. Mówimy o awarii powodujących błędną interpretację danych i są odwracalne (do naprawy przez SZBD).
Aby zabezpieczyć system baz danych stosuje się metody:
Okresowe sporządzanie kopii BD bez…
… poszerzony o dwufazowość
Kolejny model został poszerzony o tzw. dwufazowość, czyli wg protokółu dwufazowego oznaczamy go jako 2PL lub Two Phase Locking. Polega on na tym, że każda transakcja przebiega w dwóch fazach: zablokowania i odblokowania, więc nie ma oddzielnego odblokowania. Moment założenia wszystkich blokad nazywa się punktem akceptacji. Zapis realizuje się dopiero w fazie odblokowania…
... zobacz całą notatkę



Komentarze użytkowników (0)

Zaloguj się, aby dodać komentarz