Masalah Konkuransi SERIALIZABILITY
Serializability
Masalah
utama pengeksekusian transaksi secara bersamaan adalah integritas dan validitas
data, untuk kedua hal perlu adanya sebuaj mekanisme teertentu. Serializability
adalah sutu aturan untuk menjadwalkan proses-proses transaksi yang dijalankan hampir
bersamaan dengan tetap menjaga konsistensi data seolah-olah proses dari
transaksi tersebut dijalankan secara serial.
Cara
menjaga Serializability :
1.
Lock
Based Protocol
Suatu
cara yang digunakan untuk tetap memajaga Serializability pada data ayng diakses
oleh lebih dari suatu transaksi. Yaitu, apabila satu transaksi mengakses sebuha
item data maka aka nada transaksi yang dapat memodifikasi data tersebut.
Ada
dua jenis mode penguncian dasat yang digunakan dalam mekanisme ini :
·
Bersama
(shared). Jika sebuah transaksi Ti dapat melakukan pengungcian dengan mode ini
(dilambangkan dengan S) terhadap item data Q, maka Ti dapat membaca, tetapi
tidak dapat mengubah niali Q tersebut.
·
Tunggal
(Exclusive). Jika sebuah transaksi Ti dapat melakukan pengungcian dengan mode
ini (dilambangkan dengan X) terhadap item data Q, maka Ti dapat membaca maupun
mengubah niali Q tersebut.
Yang
harus di perhatikan :
§ Setiap transaksi harus meminta lock
apabila akan melakukan operasi atau mengakses terhadap suatu data. Misalkan
data Q, mode-lock yang diterapkan terhadap data Q harus sesuai dengan operasi
yang akan di lakukan.
§ Transaksi meminta lock terhadap
suatu data, kepada concurrency controil manager.
§ Operas terhadap Q dapat dilakukan
transaksi T apabila concurrency controil manager memberikan hak istimewa
(grant) lock yang diminta.
2.
Two
Phase Lock Protocol
Protocol
ini menginginkan bahwa setiap transaksi yang akan dijalankan penguncian dan
melepaskan penguncian harus melalui hdua fase :
·
Fase
pertumbuhan (growing Phase). Sebuah transaksi dapat melalukan sejumlah penguncian
tetapi belum satupun melepaskan pengunciannya.
·
Fase
pelepasa (shrinking phase). Sebuah transaksi dapat melepaskan sejumlaj
penguncian, tetapi belum melakukan penguncian yang baru.
Awalnya,
sebuah transaksi akan berasa dalam fase pertumbuhan. Transaksi tersebuy akan
melakuann penguncian sebanyak yang dibutuhkan. Ketika transaksi mulai
melepaskan sebuah penguncian, ia akan mulai memasuki fase pelepasan, tanpa ada permintaan
penguncian berikutnya.
Komentar
Posting Komentar