В базы данных



Download 2,26 Mb.
Pdf ko'rish
bet88/90
Sana25.02.2022
Hajmi2,26 Mb.
#256733
1   ...   82   83   84   85   86   87   88   89   90
t1
Обновление кортежа p 
Извлечение кортежа p 
t2
t3 
Отмена выполнения транзакции 
Рис.10.4. Транзакция А становится зависимой от невыполненного 
изменения в момент времени t2 
Транзакция А 
Время 
Транзакция В 
t1
Обновление кортежа p 
Обновление кортежа p 
t2
t3 
Отмена выполнения транзакции 
Рис.5. Транзакция А обновляет невыполненное изменение в момент 
времени t2, и результаты этого обновления утрачиваются в момент 
времени t3 
Проблема несовместимого анализа 
На рис.6. показаны транзакции А и В, которые выполняются для 
кортежей со счетами. При этом транзакция А суммирует балансы, 
транзакция В производит перевод суммы 10 со счета 3 на счет 1. 
полученный в итоге транзакции А результат 110, очевидно, неверен, и если 
он будет записан в базе данных, то в ней может возникнуть проблема 
несовместимость. В таком случае говорят, что транзакция А встретилась с 
несовместимым состоянием и на его основе был выполнен несовместимый 
анализ. 
Счет 1 – 40, Счет2 – 50, Счет3 - 30 
Транзакция А 
Время 
Транзакция В 
Извлечение кортежа Счет 1 
Sum=40 
t1 
Извлечение кортежа Счет 2 
Sum=90 
t2 
t3 
Извлечение кортежа Счет 3 
t4 
Обновление кортежа Счет 3 
30 Æ 20 
t5 
Извлечение кортежа Счет 1 
t6 
Обновление кортежа Счет 1 
40 Æ 50
t7 
Завершение транзакции 
Извлечение кортежа Счет 3 
Sum = 110 ( а не 120) 
t8 
Рис.10.6. Транзакция А выполнила несовместимый анализ 
10.5. Блокировка 
Описанные выше проблемы могут быть разрешены с помощью 
методики управления параллельным выполнением процессов под 
названием блокировка. Ее основная идея проста: в случае, когда для 


126
выполнения некоторой транзакции необходимо чтобы некоторый объект 
(обычно это кортеж базы данных) не изменялся непредсказуемо и без 
ведома этой транзакции, такой объект блокируется. 
Более подробно функционирование блокировки заключается в 
следующем: 
1. Прежде всего, предположим, что в системе поддерживается два типа 
блокировок: блокировка без взаимного доступа (монопольная 
блокировка), называемая X-блокировкой, и блокировка с взаимным 
доступом, называемая S-блокировкой. 
2. Если транзакция А блокирует кортеж р без возможности взаимного 
доступа (X-блокировка), то запрос другой транзакции В с 
блокировкой этого кортежа р будет отменен. 
3. Если транзакция А блокирует кортеж р с возможностью взаимного 
доступа (S-блокировка), то
ƒ запрос со стороны некоторой транзакции В на X-блокировку 
кортежа будет отвергнут; 
ƒ запрос со стороны некоторой транзакции В на S-блокировку 
кортежа будет принят (т.е. транзакция В также будет 
блокировать кортеж р с помощью S-блокировки). 
Теперь следует ввести протокол доступа к данным, который на 
основе X и S-блокировок позволяет избежать возникновения проблем 
параллелизма, описанных выше. 
1. Транзакция, предназначенная для извлечения кортежа, прежде всего 
должна наложить S-блокировку на этот кортеж. 
2. Транзакция, предназначенная для обновления кортежа, прежде всего 
должна наложить X-блокировку на этот кортеж. Иначе говоря, если, 
например, 
для 
последовательности 
действий 
типа 
извлечение/обновление для кортежа уже задана S-блокировка, то ее 
необходимо заменить X-блокировкой. 
3. Если запрашиваемая блокировка со стороны транзакции В 
отвергается из-за конфликта с некоторой другой блокировкой со 
стороны транзакции А, то транзакция В переходит в состояние 
ожидания. Причем транзакция В будет находится в состоянии 
ожидания до тех пор, пока не будет снята блокировка, заданная 
транзакцией А. 
4. X-блокировки сохраняются вплоть до конца выполнения транзакции 
(до операции «завершение выполнения»). S –блокировки также 
обычно сохраняются вплоть до этого момента. 

Download 2,26 Mb.

Do'stlaringiz bilan baham:
1   ...   82   83   84   85   86   87   88   89   90




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish