SBD 2 VClass 4
- myura dellya
- Apr 16, 2020
- 2 min read
Pretest 4
Sifat-sifat dasar transaksi
• Atomicity(keutuhan)
Transaksi merupakan unit yang tidak terlihat yang harus dilakukan secara keseluruhan atau tidak sama sekali.
• Consistency (Ketetapan)
Transaksi harus mengubah database dari satu stata konsisten ke stata lainnya/ berikutnya.
• Isolation (Pemisahan)
Transaksi dieksekusi secara terpisah dari yang satu dengan yang lainnya.
• Durability (Daya tahan)
Secara permanen direkam kedalam database dan tidak akan hilang dikarenakan kegagalan berikutnya.
Posttest 4
3 Masalah akibat Concurrency:
• Masalah kehilangan modifikasi (Lost Updates Problem)
>>Update yang dilakukan oleh user pertama diubah oleh user yang lain.
>>Contoh diatas menerangkan hilangnya modifikasi yang dilakukan oleh T2. Kehilangan modifikasi ini dapat diatasi dengan mencegah T1 melakukan pembacaan data sebelum perubahan T2 selesai dilaksanakan.
• Masalah modifikasi sementara (Uncommitted Dependency Problem)
>>Masalah modifikasi sementara terjadi jika satu transaksi (transaksi pertama) membaca hasil dari transaksi lainnya (transaksi kedua) sebelum transaksi kedua dinyatakan committed. Biasa dikenal dengan dirty read problem.
>>Contoh transaksi T4 merubah balx menjadi £200 tetapi digagalkan, sehingga balx harus dikembalikan ke nilai awal sebelum transaksi yaitu £100. Sedangkan transaksi T3 membaca nilai hasil modifikasi tadi yaitu, balx (£200) dan menguranginya dengan £10, sehingga memperoleh nilai akhir £190, yang seharusnya £90.
Masalah tersebut dapat dihindari Problem dengan mencegah T3 membaca balx sebelum T4 dinyatakan committed atau abort.
• Masalah analisa yang tidak konsisten (Inconsistent Analysis Problem)
>>Terjadi ketika transaksi pertama membaca beberapa nilai tetapi transaksi kedua melakukan perubahan terhadap nilai tersebut selama eksekusi transaksi pertama berlangsung.
Contoh transaksi T6 menjumlahkan variable balx (£100), baly (£50), dan balz (£25). Pada saat yang hampir bersamaan transaksi T5 memindahkan £10 dari balx ke balz, sehingga transaksi T6 mendapatkan hasil akhir yang salah (yaitu kelebihan £10).
>>Hal ini disebut dengan nonrepeatable ( or fuzzy) read.
Masalah tersebut dapat dihindari dengan mencegah transaksi T6 membaca balx dan balz sebelum transaksi T5 lengkap di-update.
Comments