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
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