a. Jelaskan 2 metode untuk menjamin SERIALIZABILITY
Serializability merupakan cara untuk menjaga konsistensi basis data untuk transaksi yang dilakukan secara bersamaan atau konkuren. Serializability ini terbagi menjadi beberapa bagian, yaitu:
- Schedule atau jadwal merupakan urutan dari operasi read and write secara bersamaan pada sekumpulan transaksi yang konkuren.
- Serial Schedule merupakan jadwal dimana operasi-operasi setiap transaksi dieksekusi secara berurutan tanpa terselip operasi dari transaksi lain.
- Nonserial Schedule merupakan jadwal dimana operasi-operasi dari sekumpulan transaksi konkuren dapat saling menyelip.
- Serializable berarti jika jadwal (nonserial) menghasilkan hasil yang sama seperti halnya jadwal serial lainnya.
Pada serializability, urutan operasi baca dan tulis itu penting. Berikut ini hal – hal yang perlu diperhatikan:
- Jika dua transaksi hanya membaca satu item data yang sama, dua transaksi tersebut tidak mengalami konflik dan urutan menjadi tidak penting.
- Jika dua transaksi melakukan operasi membaca ataupun menulis pada item data yang berbeda, dua transaksi tersebut tidak mengalami konflik dan urutan menjadi tidak penting.
- Jika satu transaksi menulis sebuah item data dan transaksi lain baik membaca ataupun menulis pada item data yang sama, maka urutan eksekusi itu menjadi penting.
Metode untuk menjamin serializability ada dua, diantaranya yaitu:
- Locking, yaitu prosedur untuk mengontrol pengaksesan data secara konkuren. Apabila satu transaksi mengakses basis data, suatu lock (kunci) akan menolak pengaksesan transaksi lain untuk mencegah modifikasi yg tidak benar.
- Timestamping, yaitu skema yang menjamin serializability dengan memilih urutan pasangan transaksi berdasarkan nilai waktu. Timestamp, merupakan suatu identifikasi unik dibuat DBMS yg 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 dg timestamp terkecil, mendapat prioritas utama dari konflik transaksi tsb.
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
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.
Protokol untuk menjamin serializability. Suatu transaksi mengikuti protokol Two-phase locking jika semua operasi penguncian mendahului operasi membuka kunci terlebih dahulu dalam suatu transaksi.
Phase 1: Growing Phase
Transaksi dapat memperoleh kunci.
Transaksi tidak boleh melepaskan kunci.
Phase 2: Shrinking Phase
Transaksi boleh melepaskan kunci.
Transaksi tidak dapat memperoleh kunci.
ABOUTME
Hi all. Thankz For coming. I'm trying the best for this blog and you’ve to comment. What can I say, we are the best..
0 comments:
Post a Comment