DISTRIBUTED TRANSACTIONS. Willy Sudiarto Raharjo

dokumen-dokumen yang mirip
DISTRIBUTED TRANSACTIONS

Distributed Transaction

Penguncian pada Concurrency Control

PENGONTROLAN BERBASIS KOMPUTER

Semester Ganjil 2014 Fak. Teknik Jurusan Teknik Informatika Universitas Pasundan. Caca E. Supriana, S.Si.,MT.

Gambar Layar pertama untuk pemecahan masalah Lost Update

DATABASE CONTROL 1. SECURITY DATABASE. Suzan Agustri 81

ARSITEKTUR SISTEM. Alif Finandhita, S.Kom, M.T. Alif Finandhita, S.Kom, M.T 1

Nama : Putra Adi Nugraha dan Priska Kalista Kelas : B

BAB 4 IMPLEMENTASI DAN EVALUASI

Distributed System. 9 Concurrency Control. Genap 2011/2012. Dahlia Widhyaestoeti, S.Kom dahlia74march.wordpress.

Administrasi Basis Data. Transaksi dan Lock. Yoannita

Bab 7. Basis Data Terdistribusi POKOK BAHASAN: TUJUAN BELAJAR: 7.1 PENDAHULUAN

Praktikum MONITORING AND RESOLVING LOCK CONFLICTS. Tujuan :

PENDAHULUAN PENDAHULUAN TRANSAKSI TRANSAKSI TRANSAKSI 24/04/2016 TEKNIK RECOVERY

SISTEM BASIS DATA 2. WAHYU PRATAMA, S.Kom., MMSI.

DEADLOCK & RECOVERY SYSTEM

BAB 3 ANALISIS DAN PERANCANGAN SISTEM

SISTEM BASIS DATA 2. WAHYU PRATAMA, S.Kom., MMSI.

Algoritma Co-ordination

Database dalam Sistem Terdistribusi

MODUL 10 TRANSACTION

Database dalam Sistem Terdistribusi

BAB II KAJIAN PUSTAKA

Teknik Informatika Universitas Pasundan. Caca E. Supriana, S.Si.,MT.

BAB 4 IMPLEMENTASI DAN EVALUASI

MANAGEMEN TRANSAKSI. Ferdi Yusuf #1

Manajemen Transaksi (Penjadwalan & Kontrol konkurensi)

MANAJEMEN TRANSAKSI. Alif Finandhita, S.Kom

sistem basis data ti ti ukdw Transaksi Budi Susanto Teknik Informatika Universitas Kristen Duta Wacana Yogyakarta 11/14/11 budi susanto 1

FILE SERVICE DI DALAM SISTEM INFORMASI TERDISTRIBUSI

SISTEM BASIS DATA (KONTROL KONKURENSI) Alif Finandhita,S.Kom, M.T.

Backup & Recovery System. Teknik Informatika

PENGONTROLAN BERBASIS KOMPUTER

TEKNIK RECOVERY (ref. Fundamentals of DB Systems, Elmasri, N)

DEADLOCK. KELOMPOK : Aurora Marsye Mellawaty Vidyanita Kumalasari Y

Transactions and Concurrency Control

DISTRIBUTED FILE SYSTEM. Sistem terdistribusi week 11

Pertemuan #3: Sinkronisasi dan Deadlock

COORDINATION AND AGREEMENT

Koordinasi Antar Proses

MODUL VIII BASIS DATA TRANSACTION

Manajemen Transaksi. Sistem Basis Data. Gentisya Tri Mardiani, S.Kom., M.Kom

Transaksi Semester Ganjil 2014 Fak. Teknik Jurusan Teknik Informatika. Caca E. Supriana, S.Si.,MT. Si

Bab 1. Pengenalan Sistem Terdistribusi

UNIVERSITAS BINA NUSANTARA. Jurusan Teknik Informatika Skripsi Sarjana Komputer Semester Ganjil tahun 2006/2007

Kusnawi, S.Kom, M.Eng

Transaction & Conccurency

DISTRIBUTED FILE SYSTEMS


Tujuan. 1. Mahasiswa memahami apa itu sinkronisasi dan pentingnya sinkronisasi pada sistem terdistribusi.

6/26/2011. Database Terdistribusi. Database Terdesentralisasi

BAB IV ANALISIS DAN PERANCANGAN

ABSTRAK. i Universitas Kristen Maranatha

Sistem Operasi Pertemuan 6 Concurrency: Deadlock & Starvation. H u s n i Lab. Sistem Komputer & Jaringan Teknik Informatika Univ.

RECOVERY SYSTEM. Alif Finandhita, S.Kom

Komunikasi & Sinkronisasi Proses

MERANCANG WEB DATA BASE UNTUK CONTENT SERVER

Sistem Basis Data Terdistribusi Arif Basofi

Deadlock. Pada kasus ini juga bisa terjadi kelaparan, yaitu ada proses yang tidak terlayani

Database Terdistribusi. by: Ahmad Syauqi Ahsan

ADDING RTGS BENEFICIARY FOR CHECKER MAKER SYSTEM

PENGAMANAN SISTEM basis DAta

Pertemuan XII Distributed Database Fak. Teknik Jurusan Teknik Informatika. Caca E. Supriana, S.Si.,MT.

SINKRONISASI. Sistem terdistribusi week 5

BAB II LANDASAN TEORI. dihubungkan untuk berbagi sumber daya (Andi Micro, 2011:6). Jaringan Komputer

Manajemen Transaksi. Sistem Basis Data. Gentisya Tri Mardiani, S.Kom

DEADLOCK PADA WINDOWS DAN LINUX

BAB 3 ANALISIS DAN PERANCANGAN SISTEM

Semester Ganjil 2014 Fak. Teknik Jurusan Teknik Informatika Universitas Pasundan. Caca E. Supriana, S.Si.,MT.

KOMUNIKASI DATA Kontrol Komunikasi

BAB I PENDAHULUAN : SISTEM BASIS DATA

BAB 2 TINJAUAN PUSTAKA

Mekanisme Penanganan Deadlock Dalam Pemrosesan Transaksi Oleh DBMS Menggunakan Algoritma Backtracking

Sinkronisasi dan Deadlock Sistem Operasi

Semester Ganjil 2014 Fak. Teknik Jurusan Teknik Informatika Universitas Pasundan. Caca E. Supriana, S.Si.,MT.

Automatic File Replication Cluster High-Availability Storage Dengan Menggunakan GlusterFS

ADMINISTRASI SERVER KELAS 11

PROSES DAN THREADS DALAM SISTEM OPERASI

SEKOLAH TINGGI MANAJEMEN INFORMATIKA & KOMPUTER JAKARTA STI&K SATUAN ACARA PERKULIAHAN

BAB III ANALISIS DAN PERANCANGAN

Sistem Operasi Komputer. Pembahasan Deadlock

TSI Perbankan MANAJEMEN DATA LOCK. Obyektif : 1. Mengetahui konsep lock 2. Mengetahui konsep share pada file database. AS/400 hal. B.

KONTROL KONKURENSI TERDISTRIBUSI (DCC)

Desain Aplikasi. by: Ahmad Syauqi Ahsan

RECOVERY SYSTEM. Sistem Basis Data. Gentisya Tri Mardiani, S.Kom., M.Kom

PENGONTROLAN KONKURENSI

ABSTRAK. Kata kunci: DSR, Manet, OLSR, OPNET, Routing. v Universitas Kristen Maranatha

PROSES. Sistem Terdistribusi

Model Sistem Terdistribusi

BAB I PENDAHULUAN. 1.1 Latar Belakang

Mohammad Safii

SATUAN ACARA PERKULIAHAN MATA KULIAH SISTEM BASIS DATA 2 (D3/SI) * KODE / SKS KK / 2 SKS

Konsep Backup dan Recovery. By: Arif Basofi

Distributed System. 8 Management Transaksi. Genap 2011/2012. Dahlia Widhyaestoeti, S.Kom dahlia74march.wordpress.

REVIEW KARAKTERISTIK DAN MODEL SISTEM TERDISTRIBUSI

Bab 5. File Service. Atribut File Nama yaitu menentukan nama file yang dimaksud Tipe

Bab 6. Basis Data Client / Server POKOK BAHASAN: TUJUAN BELAJAR: 6.1 PENDAHULUAN

BAB 1 PENDAHULUAN. satu hal yang sangat dominan dan terjadi dengan sangat pesat. Informasi

TUGAS KELOMPOK. MK. Pengantar Komputer Dosen : Toto Haryanto

Transkripsi:

SISTEM TERDISTRIBUSI DISTRIBUTED TRANSACTIONS Willy Sudiarto Raharjo

Distributed Transactions Proses transaksi (flat / nested) yang mengakses object yang dikelola oleh beberapa server Konsep atomicity tetap berlaku (all or nothing) Diperlukan sebuah coordinator untuk memastikan konsep atomicity Menggunakan protokol yang sudah disepakati sejak awal (two phase commit protocol) Memerlukan concurrency control

Flat Transaction (1) Sebuah client melakukan request pada lebih dari satu server Sebuah transaksi diselesaikan dahulu sebelum meminta ke server berikutnya (sequential) Jika menggunakan konsep locking, maka sebuah transaksi hanya bisa menunggu satu obyek saja

Flat Transaction (2) X T T Y Client Z

Nested Transactions (1) Top level transaction bisa membuat sub transaksi Sub transaksi pada level yang sama bisa berjalan secara concurrent (parallel) Mampu memanfaatkan utilitas prosessor (pada kasus multi processor)

Nested Transactions (2) M T 11 X Client T 1 N T T 12 T 2 T 21 Y P T 22

CONTOH TRANSAKSI BANK (1) X Client T 1 A a.withdraw(10) T T = opentransaction Y opensubtransaction a.withdraw(10); T 2 B b.withdraw(20) opensubtransaction b.withdraw(20); opensubtransaction c.deposit(10); opensubtransaction d.deposit(20); T 3 T 4 Z C D c. deposit(10) d.deposit(20) closetransaction

CONTOH TRANSAKSI BANK (2) opentransaction closetransaction. join join participant A a.withdraw(4); BranchX T participant Client b.withdraw(t, 3); B b.withdraw(3); T = opentransaction a.withdraw(4); join BranchY c.deposit(4); b.withdraw(3); d.deposit(3); closetransaction Note: the coordinator is in one of the servers, e.g. BranchX participant C D BranchZ c.deposit(4); d.deposit(3);

PROSES TRANSAKSI Client mengirimkan request opentransaction pada coordinator pada sembarang server Coordinator yang dituju mengembalikan identifier transaction yang unik pada client Client bekerjasama dengan coordinator dengan commit protocol

Coordinator (1) Sebuah host/system yang menjadi mandor untuk menyelesaikan sebuah transaksi terdistribusi Bertanggung jawab untuk mengambil keputusan commit/abort Selama terjadi transaksi, coordinator mencatat daftar referensi dari partisipan dan vice versa Coordinator tahu semua daftar peserta dan vice versa

Coordinator (2)

Atomic Commit Protocols Dikembangkan awal 1970an Bertujuan untuk memastikan bahwa setiap perubahan terjadi pada semua system atau tidak sama sekali (all or nothing) Terdapat tiga jenis One phase commit protocol Two phase commit protocol Three phase commit protocol Berakhir setelah transaksi di commit/abort

One Phase Commit Protocol Coordinator mengirimkan pesan commit atau abort pada semua partisipan Proses diulang terus menerus sampe semua sudah membalas Masalah : Tidak mungkin melakukan abort setelah ada permintaan untuk commit Solusi : Two Phase Commit

Two Phase Commit Protocol (1) Fase 1 (voting) Coordinator mengirimkan request cancommit pada setiap partisipan Partisipan memilih yes/no dan mengirim balik pada coordinator. Jika yes, maka menyimpan obyek pada penyimpanan permanen. Jika tidak, abort

Two Phase Commit Protocol (2) Fase 2 Coordinator mengumpulkan hasil voting Jika semua setuju, coordinator memutuskan commit dan mengirimkan docommit pada semua partisipan Selain itu, coordinator memutuskan abort dan mengirimkan doabort pada semua partisipan yang memilih yes Partisipan yang memilih yes menunggu docommit/ doabort dari coordinator

Two Phase Commit Protocol (3) Setelah menerima salah satu dari pesan diatas, partisipan menjalankan perintah sesuai dengan pesan yang diterima Jika dilakukan perintah commit, maka partisipan mengirimkan pesan havecommitted pada coordinator sebagai konfirmasi bahwa proses sudah dilaksanakan

Two Phase Commit Protocol (4) Coordinator Participant step status step status 1 prepared to commit cancommit? (waiting for votes) Yes 2 prepared to commit 3 committed docommit (uncertain) havecommitted 4 committed done

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

Three Phase Commit Mencoba mengatasi masalah blocking 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 aksi (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 abord di site yang lain sebagai akibat dari network partitioning) Terlalu banyak overhead

Concurrency Control Setiap server mengelola sekumpulan obyek dan bertanggung jawab untuk memastikan tetap konsisten ketika diakses oleh transaksi concurrent Jenis Locking Timestamp ordering concurrency control Optimistic concurrency control Baca materi minggu kemarin

Distributed Locking (1) Lock pada obyek dikendalikan secara lokal oleh local lock manager Memberikan akses untuk lock Membuat transaksi yang meminta request menunggu Tidak bisa melepas lock sampai ada kepastian abort/commit pada semua server Bisa menimbulkan distributed deadlock

Distributed Locking (2) d.deposit(10) U V W lock D b.deposit(10) lock B a.deposit(20) lock A at Y at X c.deposit(30) lock C b.withdraw(30) wait at Y at Z c.withdraw(20) wait at Z a.withdraw(20) wait at X

Distributed Locking (3) Held by W Waits for W C D A Z X V Waits for V Held by Held by U U Held by B Waits for Y

Phantom Deadlock (1) Deadlock yang terdeteksi tetapi bukan merupakan sebuah deadlock Terjadi karena adanya delay pada saat pengiriman informasi deadlock pada jaringan local wait for graph local wait for graph global deadlock detector T U V T T X Y U V

Phantom Deadlock (2) Transaksi U melepas obyek pada server X Transaksi U meminta V pada server Y Asumsi Server Y diterima terlebih dahulu dibandingkan server X T > U > V > T T > U sudah tidak ada lagi

Transaction Recovery Proses pemulihan dengan menggunakan versi terakhir dari obyek yang sudah di commit dari media penyimpanan permanen Dilakukan oleh recovery manager Menyimpan obyek pada storage permanen Restore obyek server setelah crash Mengorganisasi ulang file recovery untuk meningkatkan performa dari recovery Reclaim storage space

Intention List Berisi daftar obyek aktif yang diakses oleh client selama transaksi (termasuk yang mengalami perubahan selama transaksi) Digunakan untuk melihat obyek mana yang terkena efek perubahan setelah commit Jika commit, maka nilai baru disimpan pada storage. Jika abort, data dari intention list digunakan untuk membatalkan perubahan dan melakukan rollback ke data lama

Logging Semua transaksi yang commit dicatat pada log Urutan entry menggambarkan urutan transaksi Setelah crash, semua transaksi yang tidak memiliki status committed akan dibatalkan P0 P1 P2 P3 P4 P5 P6 P7 Object: A Object: B Object: C Object: A Object: B Trans: T Trans: T Object: C Object: B Trans: U 100 200 300 80 220 prepared committed 278 242 prepared <A, P1> < C, P5> <B, P2> <B, P6> P0 P3 P4 Checkpoint End of log

Contoh pada 2PC Trans: T Coord r: T Trans: T Trans: U Part pant: U Trans: U Trans: U prepared intentions list part pant list:... committed prepared Coord r:.. uncertain committed Intention s list

Recovery pada 2PC Role Status Action of recovery manager Coordinator prepared No decision had been reached before the server failed. It sends aborttransaction to all the servers in the participant list and adds the transaction status aborted in its recovery file. Same action for state aborted. If there is no participant list, the participants will eventually timeout and abort the transaction. Coordinator committed A decision to commit had been reached before the server failed. It sends a docommit to all the participants in its participant list (in case it had not done so before) and resumes the two phase protocol at step 4 Participant committed The participant sends a havecommitted message to the coordinator (in case this was not done before it failed). This will allow the coordinator to discard information about this transaction at the next checkpoint. Participant uncertain The participant failed before it knew the outcome of the transaction. It cannot determine the status of the transaction until the coordinator informs it of the decision. It will send a getdecision to the coordinator to determine the status of the transaction. When it receives the reply it will commit or abort accordingly. Participant prepared The participant has not yet voted and can abort the transaction. Coordinator done No action is required.

Recovery Pada Oracle (1)

Recovery Pada Oracle (2)

Minggu Depan Replication