V-Class 6 - Post-test Pengontrolan Konkurensi
Soal :
- Jelaskan outcome dari transaksi dan berikan contohnya!
- Properti Transaksi yaitu ACID, jelaskan dan berikan contoh!
Jawab :
1. Commit dan RollbackCommit adalah operasi yang menyatakan bahwa suatu transaksi sudah terselesaikan/ sukses (successfull end-of-transaction).
Contoh :
Rollback adalah operasi yang menyatakan bahwa suatu transaksi dibatalkan (unsuccessfull end-of-transaction).
Contoh :
2. Singkatan dari Atomicity, Consistency, Isolation, and Durability. Empat karakteristik yang menjamin transaksi database diproses secara reliable. Model ACID merupakan salah satu konsep tertua dan paling penting dari teori database transaksional.
- Atomicity mengacu pada kemampuan database untuk menjamin bahwa baik semua bagian transaksi dilakukan atau tidak sama sekali. Jika salah satu bagian dari transaksi gagal, seluruh transaksi gagal.
- Consistency memastikan data dapat dikembalikan dalam keadaan sebelum transaksi dimulai, jika terjadi kegagalan.
- Isolation memastikan transaksi yang masih dalam proses dan belum dilakukan (committed) harus tetap terisolasi terhadap transaksi lainnya.
- Durability memastikan data yang telah disimpan (committed data) disimpan oleh sistim sebagaimana keadaannya , bahkan jika dalam keadaan kegagalan sistim dan restart sistem, data tersebut tersedia dalam tahapan dan keadaan yang benar.
Contoh :
Sebuah transaksi transfer uang Transaksi untuk transfer 50.000 dari account A ke account B :
- Consistency requirement – jumlah A dan B tidak berubah setelah eksekusi transaksi.
- Atomicity requirement — Jika transaksi gagal dijalankan setelah langkah ke 3 dan sebelum langkah ke 6, maka sistem harus menjamin bahwa perubahan yang terjadi tidak direfleksikan di database, jika hal ini tidak dapat dilakukan maka akan menghasilkan inconsistency.
State (keadaan) Transaksi
- Active, merupakan keadaan (state) awal; transaksi berada di state ini ketika dia sedang dieksekusi
- Partially committed, setelah operasi (statement) terakhir telah dieksekusi.
- Failed, setelah diketahui bahwa eksekusi secara normal tidak lagi dapat dilakukan.
- Aborted, setelah sebuah transaksi di-roll back (dikembalikan ke kondisi sebelum transaksi). Ada dua pilihan setelah transaksi di abort : Ulangi transaksi atau Hanya jika tidak ada kesalahan logika internal
- Committed, setelah semua operasi selesai dijalankan dengan sukses.