ALASAN PENGONTROLAN KONKURENSI
- · Lebih dari satu pengguna (pada DBMS terpusat) dapat melakukan operasi pada basis data secara simultan
- · Jika tidak dikontrol, hal ini dapat menyebab kan interferensi satu sama lain sehingga basis data menjadi tidak konsisten
TRANSAKSI
- · Merupakan suatu aksi atau serangkaian aksi, dilakukan oleh seorang pengguna atau program aplikasi, yang mengakses atau mengubah konten basis data
- · Mentransformasikan basis data dari suatu keadaan konsisten ke yg lain.
Contoh:
Perintah INSERT atau UPDATE
Serangkaian operasi pada basis data
Protokol Transaksi Konkuren:
–
Lock-Based Protocol (2PL, Strick 2PL, Rigorous
2PL)
–
Graph-Based Protocol
–
Timestamp-Based Protocol
Paling banyak dipakai: Lock-based Protocol
Locking Protocol
•
Suatu lock adalah mekanisme untuk mengontrol
akses secara bersamaan (concurrent access) terhadap sebuah item data
•
Item
data dapat di-lock dengan dua cara:
1. Exclusive (X) mode. Item data dapat
dibaca dan ditulis. X-lock
dilakukan dengan menggunakan instruksi lock-X.
2. Shared
(S) mode. Item data hanya dapat dibaca. S-lock dilakukan dengan menggunakan
instuksi lock-S.
•
Permintaan lock dilakukan terhadap concurrency
–control manager. Transaksi hanya akan berlanjut setelah permintaan dikabulkan.
Locking Protocol
•
Matriks Kompatibilitas Lock
•
Sebuah transaksi hanya akan memperoleh lock pada
suatu item data jika lock yang diminta kompatibel dengan lock pada item data
tersebut yang sudah dipegang oleh transaksi lain
•
Beberapa transaksi dapat memegang shared lock
pada sebuah item data, tetapi jika ada transaksi yang memegang exclusive lock
pada suatu item data maka tidak boleh ada transaksi lain yang memegang lock
pada item data tersebut.
•
Jika permintaan lock tidak bisa dikabulkan, maka
transaksi yang meminta lock tersebut harus menunggu sampai semua lock yang
tidak kompatibel yang sedang dipegang oleh transaksi lain dilepaskan. Lock
kemudian diberikan pada transaksi tersebut.
Contoh
Lock Table
•
Segiempat hitam menyatakan lock yang telah
diberikan, sementara yang putih menyatakan permintaan yang sedang menunggu
jawaban.
•
Lock table juga mencatat tipe lock yang
diberikan atau yang diminta.
•
Permintaan baru ditambahkan pada akhir antrian
permintaan untuk suatu item data, dan diberikan jika kompatibel dengan lock
sebelumnya.
•
Permintaan unlock dilakukan dengan menghapus
entri lock yang besangkutan, dan permintaan selanjutnya diperiksa untuk melihat
apakah dapat dikabulkan.
•
Jika transaksi abort, semua permintaan yang
sedang menunggu atau sudah dikabulkan dihapus
Tidak ada komentar:
Posting Komentar