40
Gambar 2. 2
WFG dengan sebuah Cycle menunjukkan Deadlock antara 2
transaksi
Sumber : Connoly, 2005, p596
Deadlock
terjadi
jika
dan
hanya
jika
WFG
mengandung sebuah
cycle.
Gambar
di
atas
menunjukkan
WFG
yang
menunjukkan deadlock
antara
dua transaksi.
Algoritma
dari deadlock detection akan
membuat
WFG pada selang waktu
tertentu dan
mengecek apakah terdapat cycle pada
WFG
tersebut.
Jika
terjadi
deadlock,
DBMS
harus
melakukan abort
terhadap salah
satu
transaksi.
Ada
beberapa hal
yang
perlu
diperhatikan
dalam hal ini, yaitu :
Choice of deadlock victim
Logika
pemilihan
transaksi
mana
yang
mengalami proses
abort
mungkin
saja
membingungkan. Dalam
hal
ini
dapat
dipertimbangkan beberapa
hal
berikut,
yaitu,
berapa
lama
transaksi
telah
berjalan.
Akan
lebih
baik
jika
proses
abort
dilakukan pada
transaksi yang
baru
saja
dimulai
daripada transaksi yang
telah
berjalan
lebih
lama
didalam
sistem.
Pertimbangan berikutnya
yaitu
berapa
banyak
data
item
yang
telah
diubah
oleh
transaksi. Akan
lebih
baik
jika
proses
abort
dilakukan
pada
transaksi
yang
sedikit
melakukan
perubahan
di
dalam
database.
Pertimbangan berikutnya
yaitu,
berapa
banyak
data
item
yang
masih
harus
diubah.
Akan
|