Senin, 25 Juni 2012


LINGKUNGAN DATABASE
CONCURRENCY (KONKURENSI)
Ada 3 masalah yang disebabkan oleh Concurrency :
1. Masalah kehilangan modifikasi (Lost Update Problem)

Masalah ini timbul jika dua transaksi mengakses item database yang sama yang mengakibatkan nilai dari database tersebut menjadi tidak benar.














Contoh Lost Update problem

Data transaksi pada rekening bersama (Ika dan Susi)






Nilai saldo menjadi tidak benar disebabkan transaksi Susi 
membaca nilai saldo sebelum transaksi Ika mengubah 

di update yang dihasilkan dari transaksi Ika menjadi 
nilai tersebut dalam database, sehingga nilai yang sudah 
hilang.



2. Masalah Modifikasi Sementara (uncommited Update Problem)



Masalah ini timbul jika transaksi membaca suatu record yang sudah dimodifikasi oleh transaksi lain tetapi belum terselesaikan (uncommited), terdapat kemungkinan kalau transaksi tersebut dibatalkan (rollback).
























Contoh uncommited Update Problem





















Nilai saldo menjadi tidak benar disebabkan terjadi RollBack pada T7 yang membatalkan transaksi sebelumnya (T6), sehingga saldo seharusnya tetap 2.000.000

3. Masalah Analisa yang tidak konsisten (Problem of inconsistency Analysis)
Masalah ini timbul jika sebuah transaksi membaca suatu nilai tetapi transaksi yang keduamengupdate beberapa nilai tersebut selama eksekusi transaksi pertama


Contoh Problem of inconsistency Analysis

























Transaksi A menjumlahkan nilai 1, nilai 2 dan nilai 3 Transaksi B nilai 1 + 10, nilai 3 –10

LOCKING adalah salah satu mekanisme pengontrol concurrency
KONSEP DASAR :

Ketika sebuah transaksi memerlukan jaminan kalau record yang diinginkan tidak akan berubah secara mendadak, maka diperlukan kunci untuk record tersebut




FUNGSI Locking berfungsi untuk menjaga record tersebut agar tidak dimodifikasi oleh transaksi lain.
Jenis- Jenis Lock :
1. Share (S)

Kunci ini memungkinkan pengguna dan para pengguna konkuren yang lain dapat membaca record tetapi tidak mengubahnya.


2. Exclusive (X)
Kunci ini memungkinkan pengguna untuk membaca dan mengubah record. Sedangkan pengguna konkuren lain tidak diperbolehkan membaca ataupun mengubah record tersebut.


X=kunci X
S=kunci 
SN=No
Y=Yes









•KASUS CARA KERJA LOCKING
masalah kehilangan modifikasi (Lost Update Problem)




























masalah Modifikasi Sementara(Uncommited Update Problem)





























Masalah Analisa yang tidak konsisten (Problem of inconsistensi Analisa)
















TIMESTAMPING

Adalah salah satu alternatif mekanisme kontrol konkurensi yang dapat menghilangkan masalah dead lock

Dua masalah yang timbul pada Timestamping :

1. Suatu transaksi memerintahkan untuk membaca sebuah item yang sudah di update oleh transaksi yang belakangan.


2. Suatu transaksi memerintahkan untuk menulis sebuah item yan nilainya sudah dibaca atau ditulis oleh transaksi yang belakangan

Tidak ada komentar:

Posting Komentar