Transaksi
Apa itu transaksi? Transaksi
dalam sistem basis data diartikan sebagai unit logic pekerjaan atau unit logic
recovery yang terdiri dari 1 atau lebih set instruksi. Intruksi harus dijamin
dikerjakan semua untuk menjamin konsistensi. Untuk menjamin transaksi, ada dua
operasi penting didalam transaksi, yaitu
commit (memberi tanda bahwa transaksi telah selesai. Update dibuat permanen)
dan rollback (memberi tanda bahwa transaksi gagal. Semua update harus di undo).
Ada empat elemen
dalam transaksi,yaitu :
-Atomicity
Setiap transaksi harus dijamin untuk dapat sukses dalam
melakukan aksinya atau jika gagal , maka tidak berpengaruh apapun terhadap
database.
Consistency: Setiap transaksi adalah sebuah aksi kombinasi
secara logikal dari sebuah state database yang konsisten ke state yang lain
dengan tetap menjaga kekonsisten-an database tersebut
-Isolation
Meskipun ada beberapa transaksi yang berlangsung bersamaan,
masing-masing transaksi tidak boleh mengetahui transaksi lain yang sedang
berlangsung. Hasil transaksi sementara harus disembunyikan dari transaksi lain
yang sedang berlangsung . (level transparansi transaksi dapat di set).
-Durability
Setelah sebuah transaksi sukses dilakukan,
perubahan-perubahan yang dibuatnya terhadap database bersifat permanen, bahkan
jika terjadi kegagalan sistem sekalipun.
Concurrency
Concurrency adalah banyaknya
transaksi yang dijalankan secara bersamaan dalam satu waktu. DBMS mengijinkan banyak transaksi pada saat
bersamaan untuk mengakses data yang sama, untuk itu dibutuhkan Concurrency
Control Mechanism (CCM) agar transaksi tidak saling mengganggu.
Ada tiga masalah yang
muncul pada concurrency:
-Lost Update Problem,masalah ini muncul ketika dia user
mengupdate dua buah data yang sama
-Uncommited dependency problem,masalah ini muncul ketika user
yang satu meretrieve data dan user yang lainnya merollback data tersebut.
-Inconsistent analysis problem, masalah ini muncul ketika satu
user meretrieve data dan user uang lainnya mengupdate data tersebut.
Bagaimana cara mengatasi 3 maslah diatas? Untuk mencegah
masalah seperti diatas dilakukanlah Locking. Terdapat 2 jenis lock, yaitu
Exclusive Lock (Xlock) dimana transaksi lain bisa melakukan pembacaan dan
perubahan data, dan Shared Lock (Slock) dimana transaksi lain hanya bisa
melakukan pembacaan data saja.
Reference : Yudi Wibisono. 2015. Transaksi.ppt
No comments:
Post a Comment