Selasa, 22 Oktober 2013

SERIALIZABILITY



  • Schedule atau jadual merupakan urutan dari operasi read & write secara bersamaan pada sekumpulan transaksi yg konkuren.
  • Serial schedule merupakan jadual dimana operasi2 setiap transaksi dieksekusi secara berurutan tanpa terselip operasi dari transaksi lain
  • Nonserial schedule merupakan jadual dimana operasi2 dari sekumpulan transaksi konkuren dapat saling menyelip.
  • Serializable berarti jika jadual (nonserial) menghasilkan hasil yg sama seperti halnya jadual serial lainnya

Instruksi Ii dan Ij masing – masing dari transaksi Ti dan Tj , konflik jika dan hanya jika ada beberapa item data yang sama (Q) diakses secara bersama – sama baik oleh Ii dan Ij , serta setidaknya salah satu dari instruksi melakukan operasi write (Q).

  • Jika Ii  = read(Q) dan Ij = read(Q), maka Ii dan Ij tidak konflik
  • Jika Ii  = read(Q) dan Ij = write(Q), maka Ii dan Ij konflik
  • Jika Ii  = write(Q) dan Ij = read(Q), maka Ii dan Ij konflik
  • Jika Ii  = write(Q) dan Ij = write(Q), maka Ii dan Ij konflik

Secara intuitif, konflik diantara Ii dan Ij memaksakan perintah logika temporal diantara keduanya.

Jika Ii dan Ij  merupakan instruksi dari transaksi berbeda dan tidak konflik, maka urutan instruksi Ii dan Ij   dapat ditukar sehingga menghasilkan jadwal baru dengan hasil yang tetap sama.



Contoh

Misalkan S dan S’ adalah dua jadwal dengan serangkaian transaksi yang sama. S dan S’ adalah view equivalent.

S dan S’ adalah view equivalent jika memenuhi kondisi sebagai berikut :
Untuk masing – masing data item Q , jika transaksi Ti membaca inisialisasi nilai pada Q di dalam jadwal S, maka transaksi Ti yang ada di jadwal S’ juga harus membaca inisialisasi nilai pada Q.
Untuk masing – masing data item Q, jika transaksi Ti  mengeksekusi read(Q) di dalam jadwal S, dan jika nilai yang dihasilkan oleh operasi write(Q) dieksekusi oleh transaksi Tj , maka operasi read(Q) pada transaksi Ti yang harus ada di jadwal S‘ juga membaca nilai Q yang dihasilkan oleh operasi write(Q) yang sama pada transaksi Tj
Untuk masing – masing data item Q, transaksi yang sampai ke tahap akhir operasi write(Q) di dalam jadwal S

Seperti yang terlihat, view serializability juga dilihat berdasarkan pada operasi read dan write saja

Tidak ada komentar:

Posting Komentar