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

Postingan populer dari blog ini

Pengantar Teknologi Game

Model EERD

Model EERD