2. Rangkaian operasi Tulis dan Baca
Menulis data
Menambah data baru
Menghapus data yang ada
Mengubah data yang ada
Membaca data
Transaksi Sistem Terdistribusi (IKH331) 2
3. Atomicity
Transaksi bersifat tunggal
All or Nothing approach
Consistency
Data sebelum transaksi terjadi
Data setelah transaksi terjadi
Transaksi Sistem Terdistribusi (IKH331) 3
4. Isolation
Transaksi tidak bergantung kepada
keberlangsungan transaksi lain
Durability
Perubahan data harus dijaga permanen
Transaksi Sistem Terdistribusi (IKH331) 4
5. Sebuah transaksi mungkin diakhiri oleh
Commmit
Semua perubahan data yang terjadi selama
transaksi terjadi disimpan
Atau Rollback
Semua perubahan data yang terjadi selama
transaksi dianggap tidak pernah terjadi
Transaksi Sistem Terdistribusi (IKH331) 5
6. Sebuah transaksi dikoordinasikan di antara
beberapa proses
Satu proses sebagai Koordinator
Proses-proses lain sebagai Sub-ordinat
Transaksi Sistem Terdistribusi (IKH331) 6
7. Koordinator memecah transaksi dan
mengirimkannya ke beberapa sub-ordinat
Masing-masing sub-ordinat menyelesaikan
sub-transaksinya
Jika sebuah sub-ordinat Commit, dia
mengirimkan pesan pemberitahuan kepada
Koordinator
Sub-ordinat belum Fully commit
Semua perubahan data belum Durable
Transaksi Sistem Terdistribusi (IKH331) 7
8. Jika Koordinator menerima pemberitahuan
Commit dari semua Sub-ordinat
Koordinator mengirimkan pesan OK ke semua
sub-ordinat
Perubahan data di setiap sub-ordinat disimpan
Durability
Jika sebuah Sub-ordinat Rollback, dia
mengirimkan pesan Fail ke Koordinator
Transaksi Sistem Terdistribusi (IKH331) 8
9. Jika Koordinator menerima satu saja pesan
Fail dari salah satu Sub-ordinat
Koordinator mengirimkan pesan Rollback ke Sub-
ordinat yang lain
Semua perubahan data di semua Sub-ordinat di-
rollback
Transaksi Sistem Terdistribusi (IKH331) 9
10. Sub-ordinat yang mengirimkan
pemberitahuan Fail tidak perlu dikirimi pesan
Rollback dari Koordinator
Atomicity
Satu sub-ordinat Fail, semua harus Fail
Transaksi Sistem Terdistribusi (IKH331) 10
11. Vijay Garg, "Concurrent and Distributed
Programming in Java"
Source code
http://users.ece.utexas.edu/~garg/jbk.html
http://tjerdastangkas.blogspot.com/search/la
bel/ikh331
Transaksi Sistem Terdistribusi (IKH331) 11