Menjaga Konsistensi Basis Data yang Dilakukan Secara Konkurensi

A. 2 metode untuk menjamin SERIALIZABILITY :

  1. LOCKING

Prosedur untuk mengontrol pengaksesan data secara konkuren. Apabila satu transaksi mengakses basis data, suatu lock (kunci) akan menolak pengaksesan transaksi lain utk mencegah modifikasi yg tidak benar

  1. TIMESTAMPING

Skema yang menjamin serializability dengan memilih urutan pasangan transaksi berdasarkan nilai waktu. Timestamp, merupakan suatu identifikasi unik dibuat DBMS yang mengindikasikan waktu mulai relatif dari suatu transaksi. Dengan waktu sistem (system lock) atau penambahan pada kounter logik (logical counter) setiap waktu transaksi mulai. Suatu protokol yg menyusun transaksi2 secara global, dimana transaksi yg tertua, transaksi dengan timestamp terkecil, mendapat prioritas utama dari konflik transaksi tsb.

 

B. Kerja dari matriks Locking

  1. Kunci READ / S (digunakan bersama)

Jika transaksi mempunyai kunci read terhadap suatu data, maka dia dapat melakukan operasi read tetapi tidak dapat melakukan operasi update terhadap data tersebut.

  1. Kunci WRITE / X (eksklusif)

Jika transaksi mempunyai kunci write terhadap suatu data, maka dia dapat melakukan operasi read maupun operasi update terhadap data tsb.

 

Aturan 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.

 

Leave a comment