Cara untuk menjaga
konsistensi basis data untuk transaksi yang dilakukan secara bersamaan
(konkunren) dengan mekanisme SERIALIZABILITY
a. Jelaskan
2 metode untuk menjamin SERIALIZABILITY
METODE UNTUK
MENJAMIN SERIALIZABILITY
1. LOCKING
· Prosedur untuk mengontrol pengaksesan data secara
konkuren.
· Apabila satu transaksi mengakses basis data, suatu
lock (kunci) akan menolak pengaksesan transaksi lain utk mencegah modifikasi yg
tidak benar
2. TIMESTAMPING
Keduanya konservatif
(pesimistik) karena transaksi ditunda untuk mencegah konflik dg transaksi lain
di waktu kemudian.
METODE OPTIMISTIC
Berasumsi bhw konflik jarang
terjadi sehingga proses tetap berjalan & pengecekan dilakukan pada saat
transaksi sudah di-commit
b. Pada
Metode Locking untuk transaksi terus menahan suatu kunci sampai
dilepaskan secara eksplisit selama eksekusi atau telah selesai, aturannya
menggunakan matriks locking. Jelaskan kerja dari matriks Locking!
a) Transaksi yg akan mengakses suatu data harus terlebih
dahulu menguncinya, meminta kunci S jika hanya melakukan read data saja atau
kunci X jika untuk melakukan operasi read & write.
b) Jika data tsb belum dikunci oleh transaksi apapun,
maka kunci diperkenankan.
c) Jika data tsb telah dikunci, maka DBMS menentukan
apakah kunci yg diminta sesuai dg yg ada. Jika kunci read yg diminta sama
dengan kunci read yg telah ada, maka permintaan diperkenankan, selain itu maka
transaksi harus menunggu (wait) sampai kunci write dilepaskan.
d) Transaksi terus menahan suatu kunci sampai dilepaskan
secara eksplisit selama eksekusi atau telah selesai.
0 komentar:
Posting Komentar