VClass 6 : Postest Pengontrolan Konkurensi
1. .Jelaskan outcome dari transaksi dan berikan contoh nya
2. Properti Transaksi yaitu ACID, jelaskan dan berikan contoh
Jawab
1. Terdapat 2 outcome dari transaksi, yaitu Commit dan Abort.
- Commit : Jika operasi berjalan sukses, maka transaksi disebut commited, basis data mencapai kondisi konsisten yang baru.
- Abort : Jika operasi berjalan tidak sukses, maka transaksi disebut aborted (gagal) Jika transaksi gagal maka basis data kembali ke keadaan konsisten sebelum transaksi dimulai. Disebut roll back atau undone.
2. ACID yang meiliki kepanjangan dari Atomicity, Consistency, Isolation, and Durability. adalah seperangkat sifat yang menjamin bahwa database transaksi diproses andal. Dalam konteks database , operasi logis tunggal data disebut transaksi. Sebagai contoh, transfer dana dari satu rekening bank ke bank lain, bahkan melibatkan beberapa perubahan seperti mendebet satu account dan mengkredit lain, adalah satu transaksi. Empat karakteristik yang menjamin transaksi database diproses secara reliable. Model ACID merupakan salah satu konsep tertua dan paling penting dari teori database transaksional.
Atomicity
Adalah suatu aturan dimana perubahan dilakukan secara keseluruhan atau tidak sama sekali. Sehingga jika di tengah transaksi terjadi kegagalan maka seruluruh perubahan akan di batalkan dan di kembalikan kekondisi semula. Kegagalan disini bisa terjadi karena aplikasi, system, database dsb.
Contoh (Ambil kasus transfer di suatu bank dari rek A ke rek B dengan nilai transfer 1000):
Maka stepnya adalah sebagai berikut:
1. Cek saldo A apakah mencukupi, jika mencukupi maka lanjut ke step ke-2. Jika tidak maka transaksi selesai dan tidak ada perubahan.
2. Kurangi saldo A sebesar 1000
3. Tambahkan saldo B sebesar 1000
Nah seluruh step diatas harus digabungkan sehingga apabila setelah step ke-2 terjadi kesalahan maka seluruh perubahan transaksi harus di batalkan. Setelah transaksi berhasil maka akan di lakukan commit.
Consistency
Menunjukkan konsistensi data yang ada setelah terjadi transaksi. Misalnya pada contoh kasus sebelumya, jika saldo A = 2000 dan saldo B = 500, maka setelah transaksi saldo A = 1000 dan saldo B = 1500. Nah beberapa hal yang biasanya ditangani oleh dbms adalah mengenai integrity constraint. Sedangkan jika berupa hasil perhitungan bisa di lakukan oleh aplikasi.
Isolation
Pada prinsip isolation, data yang sedang di lakukan perubahan tidak boleh diakses oleh lebih dari satu operasi. Harus hanya satu operasi yang melakukan perubahan ini. Sehingga jika ada operasi lain yang akan merubah maka harus menunggu sampai transaksi yang berlangsung selesai.
Misal ada 2 transaksi transfer antara rek A, dan rek B yang terjadi secara bersamaan:
T1 : Transfer A->B senilai 500
§ Kurangi saldo A 500
§ Tambah saldo B 500
T2 : Transfer B->A senilai 1000
§ Kurangi saldo B 1000
§ Tambah saldo A 1000
Nah bayangkan jika transaksi tersebut terjadi secara bersamaan dan di proses tanpa isolasi sehingga akan menjadi:
§ Kurangi saldo A 500
§ Tambah saldo B 500
§ Kurangi saldo B 1000
§ Tambah saldo A 1000
Jika terjadi kegagalan pada T1, maka data akan tidak konsisten sebab pada T2 sudah mengganti menambahkan saldo pada B. Demikian pentingnya isolasi, sehingga data tidak akan bisa di akses secara bersamaan oleh lebih dari satu operasi.
Durability
Kemampuan DBMS untuk menyimpan data transaksi yang terjadi. Sehingga jika terjadi kegagalan, DBMS menjamin bahwa data transaksi yang telah tersimpan tidak akan hilang. Banyak DBMS yang menuliskan log untuk suatu transaksi yang dapat digunakan ketika terjadi error pada hardware maupun software


Komentar
Posting Komentar