BD-1st-2.4-lab9.tresc-1.1-Slajd16
Blokady w bazie danych
W bazach danych zadaniem, które żąda przydziału zasobu, jest transakcja, natomiast blokowanym zasobem może być atrybut, rekord relacji, strona dyskowa, w której relacja składuje rekordy, cała relacja lub nawet cała baza danych. Rodzaj blokowanego zasobu jest często określany jako „ziarno blokowania”. Najmniejszym ziarnem blokowania będzie atrybut, największym – cała baza danych. Powstaje problem – jak wybrać odpowiednie ziarno blokowania. Należy mieć świadomość, że im większe ziarno blokowania, tym niższy stopień współbieżności w dostępie do zasobu. Jeśli ziarnem blokowania byłaby cała baza danych, wówczas jednocześnie w bazie mogłaby pracować tylko jedna transakcja. Z kolei im mniejsze ziarno blokowania, tym większy stopień komplikacji algorytmu zarządzania współbieżnością, co przekłada się na zwiększone wykorzystanie zasobów systemowych i możliwość degradacji wydajności systemu. Przy wyborze ziarna blokowania trzeba wypracować rozsądny kompromis.