Wednesday, April 22, 2015

Concurency Control

CONCURENCY CONTROL

Concurrency control merupakan proses pengaturan transaksi yang simultan pada database tanpa menyebabkan saling mempengaruhi antara transaksi satu dengan yang lain. Akses konkuren tidak akan bermasalah jika user hanya melakukan pembacaan data saja. Gangguan akan terjadi jika dua atau lebih user mengakses database secara simultan dan sedikitnya melakukan suatu perubahan (update data), maka dapat menyebabkan ketidakkonsistenan (inconsistencies).
Ketika beberapa transaksi berjalan secara bersamaan dalam database, properti isolasi tidak dapat dipertahankan. Untuk itu, sistem perlu menerapkan skema concurrency-control. Hal ini dilakukan untuk menjamin interaksi antar transaksi concurrent. Kontrol konkurensi ini didasarkan pada properti serializability.
Ada dua teknik concurrency control utama yang mengijinkan transaksi untuk berjalan dengan aman dalam subjek paralel untuk constraint tertentu, yaitu locking dan metode timestamp.
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 yang 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.
a.         Shared lock. Jika sebuah transaksi mempunyai sebuah shared lock pada sebuah item data, transaksi tersebut dapat membaca item tapi tidak dapat mengubah datanya.
b.        Exclusive lock. Jika sebuah transaksi mempunyai sebuah exclusive lock pada sebuah item data, transaksi tersebut dapat membaca dan mengubah item data.

2. 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.
Jika timestamp transaksi a lebih kecil daripada timestamp transaksi b, atau TS(Ta) < TS(Tb),  maka transaksi a(Ta) selalu dilaksanakan sebelum transaksi b(Tb). Contoh: misal rekaman pada basis data memuat TS 168, yang mengidentifikasikan transaksi dengn TS 168 adalah transaksi yang terkemudian yang sukses meng-update rekaman yang bersangkutan. Maka jika ada transaksi dengan TS 170 mencoba meng-update rekaman yang sama, maka update ini akan diijinkan, karena TS yang dimiliki lebih dari pada TS rekaman. Saat transaksi ini dilakukan, TS pada rekaman akan diatur menjadi 170. Kemudian, jika transaksi yang akan meng-update rekaman tersebut memiliki TS 165, maka update ditolak karena TS-nya < TS di rekaman.
Selain transaksi, item data juga memiliki nilai time stamp. Untuk setiap item data Q, ada 2 nilai time stamp, yaitu:
a.         Read time stamp atau R-timestamp(Q), yang menunjukkan nilai TS terbesar dari setiap transaksi yang berhasil menjalankan operasi read (Q).
b.        Write time stamp atau W-timestamp(Q), yang menunjukkan nilai TS terbesar dari setiap transaksi yang berhasil menjalankan operasi write (Q).
Timestamp ini akan selalu diperbarui ketika ada perintah baru read(Q) atau write(Q) yang dijalankan.
untuk lebih jelas nya dapat di download materi nya di bawah ini, tapi ada yang versi bahasa inggris , hehe :D

0 comments:

Post a Comment

http://www.resepkuekeringku.com/2014/11/resep-donat-empuk-ala-dunkin-donut.html http://www.resepkuekeringku.com/2015/03/resep-kue-cubit-coklat-enak-dan-sederhana.html http://www.resepkuekeringku.com/2014/10/resep-donat-kentang-empuk-lembut-dan-enak.html http://www.resepkuekeringku.com/2014/07/resep-es-krim-goreng-coklat-kriuk-mudah-dan-sederhana-dengan-saus-strawberry.html http://www.resepkuekeringku.com/2014/06/resep-kue-es-krim-goreng-enak-dan-mudah.html http://www.resepkuekeringku.com/2014/09/resep-bolu-karamel-panggang-sarang-semut-lembut.html