Model Sistem Transaksi Atomik

Protokol pembacaan transaksi: • Jika TSTi W-timestampQ , maka Ti perlu membaca data yang sekarang sudah ditulis dengan data lain. Maka, transaksi ini akan ditolak. • Jika TSTi = W-timestampQ , maka Ti akan membaca data dan R-timestampQ akan di-set menjadi maksimum, yaitu sesuai timestampTi. Protokol penulisan transaksi: • Jika TSTi lebih kecil dari R-timestampQ , maka data Q yang akan ditulis oleh Ti diperlukan sebelumnya, sehingga dianggap bahwa Ti tidak perlu melakukan operasi write waktu eksekusi transaksi sudah lewat dan transaksi ini ditolak. • Jika TSTi lebih kecil W-timestampQ , maka transaksi Ti melakukan operasi write yang hasilnya tidak diperlukan lagi waktu Ti melakukan eksekusi sudah lewat sehingga transaksi ini ditolak. • Selain dua point di atas, maka transaksi akan dilakukan Tabel 21.3. Contoh Penjadwalan dengan PROTOKOL BERBASIS WAKTU T2 T3 ReadB ReadB WriteB ReadA ReadA WriteA ReadB WriteB Protokol berbasis waktu juga membantu dalam mengatasi deadlock, karena tidak ada transaksi-transaksi yang melakukan wait .

21.8. Rangkuman

Transaksi merupakan sekumpulan instruksi atau operasi yang menjalankan sebuah fungsi logis dan memiliki sifat atomicity, consistency, isolation, dan durability. Sifat atomicity pada transaksi menyebabkan transaksi tersebut akan dijalankan secara keseluruhan atau tidak sama sekali. Operasi-operasi pada transaksi atomik disimpan dalam log agar dapat dilakukan rolled-back jika terjadi kegagalan sistem. Dengan memanfaatkan log, pemulihan data dapat dilakukan dengan melakukan undo atau redo. Untuk menghemat waktu pada saat rolled-back, kita dapat memberikan operasi checkpoint pada transaksi sehingga kita tidak perlu memeriksa keseluruhan transaksi untuk memutuskan melakukan undoredo. Serialisasi diperlukan ketika beberapa transaksi atomik dijalankan secara bersamaan. Hal ini dimaksudkan agar sifat konsistensi hasil eksekusi transaksi dapat terpenuhi. Ada dua cara untuk menjaga agar penjadwalan bersifat serializable, yaitu protokol penguncian dan protokol berbasis waktu. Pada protokol penguncian, setiap data yang akan diakses harus dikunci oleh transaksi yang akan memakainya agar transaksi lain tidak bisa mengakses data yang sama. Sedangkan, pada protokol berbasis waktu, setiap transaksi diberikan suatu timestamp yang unik, sehingga dapat diketahui apakah transaksi tersebut sudah dijalankan atau belum. Protokol berbasis waktu dapat mengatasi masalah deadlock, sedangkan protokol penguncian tidak. 150