Postest masalah Konkurensi
a. Jelaskan 2 metode untuk menjamin SERIALIZABILITY
b. Pada Metode Locking untuk transaksi terus menahan suatu kunci sampai dilepaskan secara eksplisit selama eksekusi atau telah selesai, aturannya menggunakan matriks locking. Jelas kerja dari matriks Locking
b. Pada Metode Locking untuk transaksi terus menahan suatu kunci sampai dilepaskan secara eksplisit selama eksekusi atau telah selesai, aturannya menggunakan matriks locking. Jelas kerja dari matriks Locking
Serializability adalah suatu aturan untuk menjadwalkan proses-proses transaksi yang dijalankan hampir bersamaan dengan tetap menjaga konsistensi data seolah-olah proses dari transaksi-transaksi tersebut dijalankan secara serial. Metode untuk menjamin Seriability adalah Locking dan Timestamping.
1.METODE
LOCKING
Locking adalah sebuah prosedur yang digunakan untuk mengendalikan akses
bersamaan ke data. Ketika sebuah transaksi sedang mengakses database, sebuah
lock mungkin menolak akses ke transaksi lain untuk mencegah hasil yang salah (
Connolly, 2005, p587 ). Ada dua macam lock, yaitu shared lock dan exclusive
lock yang harus digunakan sebelum melakukan akses membaca ataupun menulis
terhadap database. Penggunaan lock ini adalah untuk menjaga konsistensi data
didalam database.
>Jika sebuah transaksi mempunyai sebuah shared lock pada sebuah item
data, transaksi tersebut dapat membaca item tapi tidak dapat mengubah datanya (
Connolly, 2005, p588 ). >Jika sebuah transaksi mempunyai sebuah exclusive
lock pada sebuah item data, transaksi tersebut dapat membaca dan mengubah item
data ( Connolly, 2005, p588 ).
-
Bersama (Shared). Jika sebuah transaksi Ti dapat melakukan penguncian dengan mode ini
(dilambangkan dengan S) terhadap item data Q, maka Ti dapat
membaca, tapi tidak dapat mengubah nilai Q tersebut.
– Tunggal (Exclusive). Jika sebuah transaksi Ti dapat melakukan penguncian dengan mode ini
(dilambangkan dengan X) terhadap item data Q, maka Ti dapat membaca
maupun mengubah nilai tersebut.
TAHAPAN
PENGUNCIAN {matriks locking}
Phase 1: Fase bertumbuh (Growing Phase)
Transaksi dapat melakukan sejumlah penguncian, tetapi belum melepaskan
satupun penguncian .
Phase 2: Fase pelepasan (Shrinking Phase)
Transaksi mungkin melepas kunci & Transaksi belum melakukan
penguncian yang baru.
Titik dalam schedule dimana transaksi tersebut telah mendapatkan
penguncian akhir disebut lockpoint transaksi.Locking dua fase tidak menjamin
terjadinya deadlock.
Atran Locking
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.Jika data tsb belum dikunci oleh transaksi apapun, maka kunci diperkenankan.
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.Transaksi terus menahan suatu kunci sampai dilepaskan secara eksplisit selama eksekusi atau telah selesai.
Strict Two-Phase Locking. Dengan mekanisme ini dikehendaki bahwa semua penguncian dengan mode exclusive dari sebuah transakasi harus tetap dipegang hingga transaksi berada dalam status berhasil sempurna (commiteed).
Rigorous two-phase locking yang menghendaki semua penguncian (exclusive maupun share) tetap diterapkan hingga transksaksi committed.
2.METODE TIMSTAMPING
Timestamp, merupakan suatu
identifikasi unik dibuat DBMS yg mengindikasikan waktu mulai relatif dari suatu
transaksi.Dengan waktu sistem atau penambahan pada kounter logik setiap waktu
transaksi mulai. Suatu protokol yg menyusun transaksi2 secara global, dimana
transaksi yg tertua, transaksi dg timestamp terkecil, mendapat prioritas utama
dari konflik transaksi tsb.
Tidak ada komentar:
Posting Komentar