SBD2 VC7


Pretest
Terdapat beberapa masalah umum yang muncul pada konkurensi yaitu:
  • Lost update problem (Masalah hilangnya data yang diupdate).
  • Uncommited dependency problem / dirty real (Masalah kebergantungan terhadap transaksi yang belum commit).
  • Inconsistent analysis problem (masalah analisa yang tidak konsisten).
Jelas ke 3 masalah tersebut secara singkat
Jawaban :
Lost Update Problem :
Masalah operasi update yang sukses dari seorang pengguna kemudian diikuti oleh operasi update dari pengguna lain. Masalah ini muncul ketika sebuah transaksi membaca beberapa nilai dari database tapi transaksi kedua mengubah beberapa darinya ketika eksekusi transaksi yang pertama.
Uncommited Dependency Problem :
Masalah terjadi saat suatu transaksi membaca data dari transaksi lain yang belum di commit. Masalah muncul jika transaksi diizinkan retrieve record-record yang telah diubah nilainya oleh transaksi lain yang belum terekam, sehingga ada kemungkinan perubahan tersebut aka di undo (redo), dikenal dengan dirty read problem.
Inconsistent Analysis Problem :
Masalah terjadi saat satu transaksi membaca beberapa nilai tetapi transaksi kedua pada waktu yang sama memodifikasi nilai tersebut. Terjadi ketka transaksi pertama membaca beberapa nilai tetapi transaksi kedua melakukan perubaha terhadap nilai tersebut selama eksekusi transaksi pertama berlangsung. Hal ini disebut denan nonrepeatable or fuzzy read.



Posttest
Cara untuk menjaga konsistensi basis data untuk transaksi yang dilakukan secara bersamaan (konkunren) dengan mekanisme SERIALIZABILITY
a. Jelaskan 2 metode untuk menjamin SERIALIZABILITY
Jawaban :
1.    Metode Locking
Locking adalah sebuah prosedur yang digunakan untuk mengendalikan akses bersamaan ke data. Ketika sebuah transaksi sedang mengakses database, sebuah lock akan menolak akses ke transaksi lain untuk mencegah hasil ayng salah. Hal ini dilakukan untuk memastikan serializable pada transaksi-transaksi yang sedang berjalan. Ada dua macam lock, yaitu shared lock dan exclusive lock yang harus digunakan sebelum melakukan akses membaca ataupun menulis terhadap database.

2.    Timestamping
Salah satu alternative concurrency control yang dapat menghilangkan deadlock adalah timestamping. Secara umum, timestamping (TS) adalah penanda waktu saat transaksiu terjadi. Hal ini untuk mengurutkan eksekusi transaksi agar sama dnegan eksekusi serial. Time stamp dapat berupa :
o   Waktu system saat transaksi dimulai, atau
o   Penghitung logic (logical counter) yang terus bertambah nilainya tiap kali terjadi transaksi baru,
b. Pada Metode Locking  untuk transaksi terus menahan suatu kunci sampai dilepaskan secara eksplisit selama eksekusi atau telah selesai, aturannya menggunakan matriks locking. Jelas kerja dari matriks Locking
jawaban :
·         Transaksi apapun yang membutuhkan akses pada sebuah item data harus melakukan lock terhada[ item tersebut: meminta shared lock untuk akses membaca saja atau sebuah exclusive lock untuk akses membaca dan menulis.
·         Jika item belum dikunci oleh transaksi lain, maka lock tersebut akan dikabulkan.
·         Jika item sedang dikunci, DBMS menentukan apakaha permintaan ini compatible dnegan lock saat ini. Jika diminta shared lock oleh transaksi lain, sementara transaksi yang pertama sudah mengunci shared lock, maka kedua transaksi dapat menggunakan shared lock tersebut secara bersamaan. Apabila transaksi kedua meminta exclusive lock, sementara exclusive lock ini masih digunakan oleh transaksi pertama, maka transaksi kedua harus menunggu sampai transaksi pertama melepaskan exclusive lock.
·         Shared lock dan exclusive lock akan dilepaskan pada saat synchpoint (synchronization point). Synchpoint menyatakan akhir dari suatu transaksi dimana basis data berada pada keadaan yang konsisten. Bila synchpoint ditetapkan maka semua modifikasi program menjalakan operasi commit atau rollback dan semua kunci dari record dilepaskan

Komentar

Postingan populer dari blog ini

Teknologi New Media