Konkurensi adalah bisa dikatakan sebagai suatu fitur di mana database management system(DBMS)
mengijinkan banyak transaksi pada saat bersamaan untuk mengakses data
yang sama. Dalam melakukan konkurensi dibutuhkan suatu Concurency Control Mechanism (CCM)
agar transaksi yang dilakukan oleh banyak user pada suatu sistem di
dalam waktu yang bersamaan tidak saling “mengganggu” dan tidak
menghasilkan inconsistency data.
Tiga masalah dalam Konkurensi :
- Lost Update Problem
Masalah operasi update yang sukses dari seorang pengguna kemudian ditimpali oleh operasi update dari pengguna lain. - Uncomited dependency problem (ketergantungan yg tidak sukses/modifikasi sementara)
Masalah terjadi saat suatu transaksi membaca data dari transaksi lain yg belum dicommit. - Inconsistent analysis problem
Masalah terjadi saat satu transaksi membaca beberapa nilai tetapi transaksi kedua pd waktu sama memodifikasi nilai tersebut.
Dua Outcome dari Konkurensi :
- Commit
Jika operasi berjalan sukses, maka transaksi disebut commited, basis data mencapai kondisi konsisten yang baru. - Abort
Jika operasi berjalan tidak sukses, maka transaksi disebut aborted (gagal)Jika transaksi gagal maka basis data kembali ke keadaan konsisten sebelum transaksi dimulai. Disebut roll back atau undone.
Locking
Jika sebuah transaksi ingin record/resource tidak berubah dalam waktu tertentu maka dia meminta lock. jenis lock :
- Exclusive Lock (Xlock) à write lock
- Shared Lock (Slock) à read lock
Deadlock
Situasi
dimana dua atau lebih transaksi dalam kondisi wait-state, satu sama
lain menunggu lock dilepaskan sebelum dapat memulai. Dapat diatasi
dengan cara :
- Deteksi dan pecahkan deadlock
- Deteksi deadlock à wait-for-graph
- Pecahkan deadlock à salah satu dirollback paksa (bagaimana penanganan rollback ini?)
- Ostrich Algorithmà diabaikan
Alasan mengapa konkurasi sangat penting
pada sistem basis data karena database pastinya akan diakses oleh banyak
orang secara bersamaan, untuk menghidari kesalahan tentunya monkurensi
ini sangat penting untuk menghindari masalaj tersebut.
No comments:
Post a Comment