Jumat, 19 Juni 2009

SOLUSI KOKURANCY

Locking adalah salah satu mekanisme pengontrolan concurrency.
ketika suatu transaksi memerlukan jaminan kalau record yang diinginkan tidak berubah secara transaksi.
Cara kerja dari locking/ kunci :
Dapat diasumsikan bahwa terdapat 2 macam kunci :
a) Kunci X yang bersifat eksklusif
b) Kunci S yang bersifat dapat digunakan secara bersama-sama.
Pernyataan dari penggunaan kunci X dan kunci S, sebagai berikut :
1. Jika transaksi A menggunakan kunci X pada record R, maka permintaan transaksi B harus menunggu sampai A melepaskan kunci. Pelepasan kunci X dengan perintah syinpoint yang berfungsi menyatakan akhir dari suatu transaksi dimana basis data berada pada state yang konsisten. Bila SYN ditetapkan maka nilai transaksi dapat commit dan semua transaksi dapat memproses lebih lanjut.
2. Jika transaksi menggunakan kunci S, maka B harus menunggu sampai A melepaskan kunci tersebut atau bila menggunakan kunci S maka B dapat menggunakan kunci S bersama A.

keterangan:
* SYN (syinchpoint) adalah pelepasan sebuah kunci pada suatu variabel yang dikunci. Efek dari SYN adalah perintah menjadi sukses.
* Kunci S tidak bisa melakukan modifikasi atau (hanya kunci X yang bisa)


masalah konkurancy pada tanggal 18 lalu belum ada solusinya, pada hari ini penulis akan memposting solusinya.
1. Solusi untuk kasus masalah kehilangan modifikasi
gambar diatas adalah solusi untuk kasus masalah kehilangan modifikasi. T9 tidak dapat melakukan modifikasi kalau t8 tidak melakukan SYN (syinpoint).

2. Solusi untuk kasus modifikasi sementara
pada kasus modifikasi sementara, solusi yang didapat adalah seperti yang tertera pada gambar diatas. T7 tidak dapat melakukan modifikasi kalau T5 tidak melakukan SYN (syinpoint). Pada kasus ini tidak ada Roll back.

3. Solusi untuk kasus analisa yang tidak konsisten
Gambar diatas adalah solusi untuk kasus analisa yang tidak konsisten. penyelesaian kasus ini sama dengan solusi untuk kasus modifikasi sementara dan kasus kehilangan modifikasi yaitu pada T9 tidak dapat melakukan modifikasi apabila T7 tidak melakukan SYN (syonpoint). artinya kalau pada T7 sudah melakukan synpoint maka T9 baru bisa melakukan modifikasi.

Tidak ada komentar:

Posting Komentar