Cara untuk menjaga konsistensi basis data untuk transaksi yang dilakukan secara bersamaan
Cara untuk menjaga konsistensi basis data untuk transaksi yang dilakukan secara bersamaan (konkunren) dengan mekanisme SERIALIZABILITY
a. Jelaskan 2 metode untuk menjamin SERIALIZABILITY
Lock Based Protocol
Merupakan suatu cara yang digunakan untuk tetap menjaga serializability pada data yang diakses oleh lebih dari suatu transaksi. Yaitu, apabila satu transaksi mengakses sebuah item data maka tidak akan ada transaksi yang dapat memodifikasi data tersebut.
Two Phase Lock Protokol
Protocol ini menginginkan bahwa setiap transaksi yang akan menjalankan penguncian dan melepaskan penguncian harus melalui dua fase atau tahapan
b. Pada Metode Locking untuk transaksi terus menahan suatu kunci sampai dilepaskan secara eksplisit selama eksekusi atau telah selesai, aturannya menggunakan matriks locking. Jelaskan kerja dari matriks Locking
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.
Potensi terjadinya deadlock ada di hampir semua protokol locking. Starvation terjadi jika ada transaksi yang terus-menerus menunggu mendapatkan lock sehingga tidak bisa selesai, hal ini terjadi karena concurrency control manager kurang didesain dengan baik. Contoh:
Sebuah transaksi terus-menerus menunggu sebuah X-lock pada suatu item, sementara urutan transaksi-transaksi lainnya diberikan S-lock pada item tersebut.
Transaksi yang sama terus menerus di roll back karena terjadi deadlock. Concurrency control manager harus didesain untuk mencegah starvation.
a. Jelaskan 2 metode untuk menjamin SERIALIZABILITY
Lock Based Protocol
Merupakan suatu cara yang digunakan untuk tetap menjaga serializability pada data yang diakses oleh lebih dari suatu transaksi. Yaitu, apabila satu transaksi mengakses sebuah item data maka tidak akan ada transaksi yang dapat memodifikasi data tersebut.
Two Phase Lock Protokol
Protocol ini menginginkan bahwa setiap transaksi yang akan menjalankan penguncian dan melepaskan penguncian harus melalui dua fase atau tahapan
b. Pada Metode Locking untuk transaksi terus menahan suatu kunci sampai dilepaskan secara eksplisit selama eksekusi atau telah selesai, aturannya menggunakan matriks locking. Jelaskan kerja dari matriks Locking
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.
Potensi terjadinya deadlock ada di hampir semua protokol locking. Starvation terjadi jika ada transaksi yang terus-menerus menunggu mendapatkan lock sehingga tidak bisa selesai, hal ini terjadi karena concurrency control manager kurang didesain dengan baik. Contoh:
Sebuah transaksi terus-menerus menunggu sebuah X-lock pada suatu item, sementara urutan transaksi-transaksi lainnya diberikan S-lock pada item tersebut.
Transaksi yang sama terus menerus di roll back karena terjadi deadlock. Concurrency control manager harus didesain untuk mencegah starvation.
Comments
Post a Comment