Anda di halaman 1dari 3

D.

Model Transaksi
Model Transaksi atau disebut juga Distribusi Commit. Phase commit merupakan operasi
dimana satu set perubahan yang nyata juga diterapkan sebagai operasi tunggal. Jika
perubahan yang diterapkan maka commit atomis dikatakan telah berhasil. Jika ada kegagalan
sebelum commit atomis dapatdi selesaikan maka semua perubahan selesai maka semua
perubahan diselesaikan dalam commit atomis reserved. Hal ini memastikan bahwa sistem
selalu ditinggalkan dalam keadaan konsisten.
Dalam hal ini dijelaskan oleh Atomik yang merupakan salah satu sifat Transaksi yaitu
yang bertujuan memastikan bahwa setiap perubahan terjadi pada semua sistem atau tidak
sama sekali.

Ada tiga phase commit yaitu :


1. One Phase Commit Protokol
 Coordinator mengirimkan pesan commit atau abort pada semua partisipan
 Proses diulang terus menerus sampai semua sudah membalas
 Masalah : Tidak mungkin melakukan abort setelah ada permintaan untuk commit
 Solusi : Two Phase Commit
2. Two Phase Commit Protokol
Two-phase commit adalah protocol yang paling sederhana untuk menjaga
commitment atomic dari transaksi trdistribusi. Ini memperlebar efek dari aksi local atomic
commit pada transaksi terdistribusi dengan semua site pada saat melakukan eksekusi
distribusi setuju untuk melakukan commit sebelum efek tersebut menjadi permanent. Jika
seluruh site setuju melakukan commit maka semua aksi dari transaksi terdistribusi baru
mendapatkan efek. Jika tidak ada satupun site yang mengkomit operasi tersebut maka
semua operasi harus membatalkan transaksi tersebut. Oleh karenanya dasar dari aturan
2PC menyatakan:
 Jika tidak satupun site yang menyatakan commit maka transaksi dibatalkan.
 Jika semua site melakukan commit maka transaksi tersebut dijalankan.

Two-Phase Commit Protocol (2PC) memiliki dua jenis simpul untuk


menyelesaikan proses–prosesnya: koordinator dan bawahan. (Mohan dkk, 1986.). Protokol
dua Tahap Komit melewati dua tahap. Fase pertamaadalah fase persiapan, dimana
koordinator transaksi mengirimkan pesan mempersiapkan. Fase kedua adalah fase
pengambilan keputusan, dimana koordinator mengeluarkan pesan COMMIT.
a) Fase 1 (voting)
Coordinator mengirimkan request canCommit pada setiap partisipan kemudian
partisipan memilih yes/no dan mengirim balik pada coordinator. Jika yes, maka
menyimpan obyek pada penyimpanan permanen.
b) Fase 2
Coordinator mengumpulkan hasil voting, jika semua setuju coordinator
memutuskanuntuk commit (menjalankan) dan mengirimkan do Commit pada semua
partisipan.Selain itu, coordinator memutuskan abort dan mengirimkan do Abort pada
semuapartisipan yang memilih yes. Partisipan yang memilih yes menunggu
doCommit/doAbort dari coordinator Setelah menerima salah satu dari pesan diatas,
partisipan menjalankan perintah sesuai dengan pesan yang diterima Jika
dilakukanperintah commit, maka partisipan mengirimkan pesan have Committed pada
coordinator sebagai konfirmasi bahwa proses sudah dilaksanakan.
Phase Commit dapat dilakukan dengan salah satu dari metode berikut: Sentralisasi
2PC, Linear 2PC, dan Distributed 2PC, (Ozsu et al., 1991)
Masalah pada Two Phase Commit :

 Susah memastikan semua partisipan sudah melakukan vote dan mendapatkan


hasil yang sama
 Jika proses mengalami kegagalan (terjadi network partitioning), maka tidak
akan didapatkan konsensus, karena partisipan yang lain akan saling menunggu
(blocking).
 Solusi : Three phase commit

Masalah utama dengan komit dua fase terjadi ketika salah satu node yang
berpartisipasi dalam transaksi terdistribusi gagal sementara transaksi dalam
keadaan READY.
Ketika kegagalan dalam jangka waktu lama, maka data terkunci pada semua
node lain, tidak akan tersedia untuk transaksi lainnya. Hal ini akan
menyebabkan banyak transaksi untuk rollback karena deadlock.
3. Three Phase Commit Protokol
Mencoba mengatasi masalah blocking (menunggu) yaitu dengan menggunakan asumsi
tidak lebih dari k site fail (k adalah angka yang sudah disetujui). Coordinator memastikan
bahwa paling tidak k site lain tahu bahwa coordinator akan melakukan commit. Jika
coordinator fail, site yang lain melakukan election coordinator baru dan melihat status
Terakhir dan menentukan keputusan yang akan diambil (commit/abort).

Masalah pada Three Phase Commit :

 Susah implementasinya
 Harus memastikan bahwa state harus tetap konsisten meskipun terdapat perbedaan
hasil (transaksi di commit di satu site dan abort di site yang lain sebagai akibat dari
network partitioning)
 Terlalu banyak overhead