Selasa, 22 Oktober 2013

Protocol Transaksi konkruen

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
  • ·         Untuk mencegahnya, DBMS mengimple-mentasikan pengontrolan konkurensi
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