Minggu, 29 November 2015

CONCURRENCY DATA Sistem Basis Data






A.    CONCURRENCY
Concurrency adalah sebuah mekanisme pada system basis data yang mengijinkan banyak transaksi pada saat bersamaan untuk mengakses data yang sama tanpa adanya gangguan. Pada umumnya terdapat 3 masalah utama pada concurrency:
  • Lost update problem, ketika dua user mengupdate dua buah data yang sama
Contoh :
Satuan Waktu
Transaksi A
Transaksi B
1
Retrieve r
2
Retrieve r
3
Update r
4
Update r

Dari contoh diatas, maka transaksi A tidak akan dianggap dan data update pada transaksi A akan di overwrite oleh transaksi B Ini akan menimbulkan lost update problem pada transaksi A.
  • Uncommited dependency problem, ketika user yang satu me-retrieve data dan user yang lain me-rollback data tersebut
Contoh :
Satuan Waktu
Transaksi A
Transaksi B
1
Update r
2
Update r
3
Rollback
Dari contoh diatas, maka transaksi A akan menerima data yang salah karena pada transaksi B saat di update terjadi kesalahan kemudian di rollback.
  • Inconsistent analysis problem, ketika user yang satu meretrieve data dan user yang lain mengupdate data tersebut
Contoh :
Satuan Waktu
Transaksi A
Transaksi B
1
Retrieve r1
2
Retrieve r2
3
Update r1
4
Commit
5
Update r3 = r1 + r2

Dari contoh diatas, maka transaksi A akan menghasilkan data yang salah dan tidak sesuai database karena saat analisis di transaksi A terjadi update data pada salah satu datanya.

Untuk menangani masalah-masalah tersebut, dilakukan proses locking, jika sebuah transaksi ingin record/resource tidak berubah dalam waktu tertentu maka dia bisa meminta lock. Ada dua jenis lock yaitu :

·         Exclusive Lock (Xlock) -> write lock
·         Shared Lock (Slock) -> read lock

Bagaimana cara kerjanya?
·         Jika transaksi A memegang Xlock pada sebuah record, maka permintaan lock (X,S) pada record yang sama harus diabaikan.
·         Jika transaksi A memegang Slock pada record R maka :
a.    Permintaan Xlock transaksi lain pada R ditolak
b.       Permintaan Slock transaksi lain pada R diterima



Referensi
  1. Softfile DIKTAT KULIAH  IK 330 - BASIS DATA      
    Dosen: Budi Laksono Putro, S.Si, MT  
2. Gudangilmukomputer.com


0 komentar:

Posting Komentar