Transaction Management (part 1) – Introduction
Transaction
“Action, or series of actions, carried out by user or application, which reads or updates contents of database.”
Jadi, sebuah transaksi merupakan sebuah aksi, atau rangkaian aksi yang dilakukan pengguna atau aplikasi yang membaca atau memperbarui konten yang ada dalam database. Sebuat unit logika yang bekerja dalam database. Dapat dipicu dari aplikasi program untuk rangkaian transaksi dengan pemrosesan secara non-database. Konsep transaksi yaitu mengubah basis data dari satu kondisi konsisten ke kondisi lain, meskipun konsistensi dapat dilanggar selama transaksi.
Dapat memiliki salah satu dari dua hasil:
- Sukses – transaksi berhasil terkomit dan database mencapai kondisi baru yang konsisten.
- Gagal – transaksi dibatalkan, dan database harus dikembalikan ke kondisi sebelum dimulainya transaksi.
Transaksi seperti itu dibatalkan (rolled back).
Transaksi yang sudah terkomit tidak dapat dibatalkan karena database sudah memiliki kondisi baru. Transaksi yang dibatalkan (rolled back) dapat dimulai kembali nanti.
Gambar diatas menjelaskan secara umum bagaimana sebuah transaksi pada setiap kondisi yang ada. Saat memulai transaksi, transaksi memiliki kondisi aktif, lalu secara parsial terkomit, lalu secara penuh terkomit. Bagian bawah, sebuah transaksi gagal, memiliki kondisi abort lalu sudah aborted.
Berikutnya kita akan membahas mengenai properti yang ada pada sebuah transaksi. Dengan mudah dihafal dengan singkatan ACID.
- Atomicity ‘All or nothing’ property.
- Consistency Must transform database from one consistent state to another.
- Isolation Partial effects of incomplete transactions should not be visible to other transactions.
- Durability Effects of a committed transaction are permanent and must not be lost because of later failure.
Untuk penjelasan lebih lengkapnya dapat dilihat pada artikel berikut ini:
https://sis.binus.ac.id/2018/08/30/database-transaction-and-the-acid-rules/