- See more at: http://blog-rangga.blogspot.com/2013/01/cara-mengganti-icon-kursor-blog-dengan.html#sthash.mJMLjSMB.dpuf
0

VC7 Posttest Sistem Basis Data 2

Posted by Fikri Ramadhan on 19.19

Cara untuk menjaga konsistensi basis data untuk transaksi yang dilakukan secara bersamaan (konkunren) dengan mekanisme SERIALIZABILITY

a. Jelaskan 2 metode untuk menjamin SERIALIZABILITY
b. Pada Metode Locking  untuk transaksi terus menahan suatu kunci sampai dilepaskan 
secara eksplisit selama eksekusi atau telah selesai, aturannya menggunakan matriks locking. Jelaskan cara kerja dari matriks Locking
Jawab:

a.
  • Metode Locking

Locking adalah sebuah prosedur yang digunakan untuk mengendalikan akses bersamaan ke data. Ketika sebuah transaksi sedang mengakses database, sebuah lock mungkin menolak akses ke transaksi lain untuk mencegah hasil yang salah ( Connolly, 2005, p587 ). Ada dua macam lock, yaitu shared lock dan exclusive lock yang harus digunakan sebelum melakukan akses membaca ataupun menulis terhadap database. Penggunaan lock ini adalah untuk menjaga konsistensi data didalam database. Jika sebuah transaksi mempunyai sebuah shared lock pada sebuah item data, transaksi tersebut dapat membaca item tapi tidak dapat mengubah datanya ( Connolly, 2005, p588 ). Jika sebuah transaksi mempunyai sebuah exclusive lock pada sebuah item data, transaksi tersebut dapat membaca dan mengubah item data ( Connolly, 2005, p588 ).
  • Metode Timestamping

Salah satu alternatif concurrency control yang dapat menghilangkan deadlock adalah timestamping. Secara umum, timestamping (TS) adalah  penanda waktu saat transaksi terjadi.  Hal ini untuk mengurutkan eksekusi transaksi agar sama dengan eksekusi serial. Time stamp dapat berupa:
a.         waktu sistem saat transaksi dimulai, atau
b.        penghitung logik (logical counter) yang terus bertambah nilainya tiap kali terjadi transaksi baru.

 b. Matrik Locking Cara kerja dari kunci :
Kita asumsikan terdapat 2 (dua) macam kunci :Kunci X (kunci eksklusif) dan kunci S (kunci yang digunakan bersama-sama)Jika transaksi A menggunakan kunci X pada record R, maka permintaan dari transaksi B harus menunggu sampai nanti transaksi A melepaskan kunciJika transaksi A menggunakan kunci S pada record R, Maka :Bila transaksi B ingin menggunakan kunci X, maka B harus menunggu sampai A melepaskan kunci tersebut.Bila transaksi B ingin menggunakan kuni S, maka B bisa menggunakan kunci S bersama A.

Matrik Locking Bila suatu transaksi hanya melakukan pembacaan saja, secara otomatis ia memerlukan kunci S. Bila transaksi tersebut ingin memodifikasi record, maka secara otomatis ia memerlukan kunci X. Bila transaksi tersebut sudah menggunakan kunci S, setelah itu ia akan memodifikasi record, maka kunci S akan dinaikkan ke level kunci X.
Kunci X dan kunci S akan dilepaskan pada saat Synchpoint (synchronization point). Bila synchpoint ditetapkan maka: semua modifikasi program menjalankan operasi COMMIT atau ROLLBACK semua kunci dari record dilepaskan.



PENYELESAIAN MASALAH DENGAN LOCKING
Penyelesaian masalah lost update
Penyelesaian masalah lost update dengan locking menimbulkan deadlock dimana kedua transaksi sama-sama menunggu.
T1
Waktu
T2
begin_transaction
read(x) ….. kunci S
x=x-10
WAIT
t1 t2 t3 t4 t5
x=x+100

PENYELESAIAN MASALAH DENGAN LOCKING
Penyelesaian masalah uncommited dependency
T1
waktu
T2
begin_transaction
read(x)
WAIT
read(x) ….. kunci S
x=x-10 ….. kunci X
write(x)
commit
t1 t2 t3 t4 t5 t6 t7 t8 t9
t10
x=x+100 … kunci X
rollback

PENYELESAIAN MASALAH DENGAN LOCKING
Penyelesaian masalah inconsistent analysis
Penyelesaian masalah dengan locking juga menimbulkan masalah deadlock.
T1
Waktu
T2
begin_transaction
read(x) ….. kunci S
x=x-10
WAIT
t1 t2 t3 t4 t5 t6
sum=0
sum=sum+x


 Sumber:


0 Comments

Posting Komentar

Copyright © 2009 MORE INFO, MORE KNOWLEDGE All rights reserved. Theme by Laptop Geek. | Bloggerized by FalconHive.