930 x 180 AD PLACEMENT

ACID pada Database Relasional

750 x 100 AD PLACEMENT

Halo, di tulisan kali ini saya mau nulis sedikit tentang ACID. ACID ini adalah sebuah karakteristik yang terkait dengan transaksi pada basis data relasional.

Pengertian ACID

ACID adalah singkatan dari Atomicity, Consistency, Isolation, dan Durability, yang merupakan serangkaian prinsip untuk memastikan keandalan transaksi pada database relasional. Setiap transaksi dalam database relasional diharapkan mematuhi prinsip ini untuk menjaga integritas data, terutama dalam lingkungan dengan banyak pengguna atau sistem.

ACID menjamin bahwa database dapat menangani transaksi dengan aman, menjaga integritas data meskipun dalam situasi yang rumit, seperti kegagalan sistem atau banyaknya pengguna yang mengakses secara bersamaan.

Lebih detailnya akan dibahas per poin pada bab berikut

750 x 100 AD PLACEMENT

1. Atomicity

Prinsip ini memastikan bahwa suatu transaksi adalah sebuah unit kerja yang tidak dapat dibagi. Artinya, seluruh operasi dalam transaksi harus berhasil sepenuhnya atau tidak ada yang dilakukan sama sekali.

Atau bisa juga kita sebut All or nothing.

Jika terjadi kegagalan selama transaksi, perubahan yang telah dilakukan akan dibatalkan (rolled back) sehingga database kembali ke keadaan awal sebelum transaksi.

Contoh:

750 x 100 AD PLACEMENT
  • Transfer uang antara dua rekening:
    • Debit dari rekening A.
    • Kredit ke rekening B.
    • Jika salah satu operasi gagal (misalnya, kredit gagal), maka operasi lainnya juga dibatalkan.

2. Consistency (Konsistensi)

Konsistensi memastikan bahwa transaksi membawa database dari satu keadaan yang valid ke keadaan valid lainnya, mengikuti aturan yang ditetapkan (seperti constraints, triggers, dan relasi antar tabel).

Setelah transaksi selesai, database harus memenuhi semua aturan integritas yang ada.

Contohnya, jika ada constraint yang mengatur bahwa saldo rekening tidak boleh negatif, database akan memastikan bahwa tidak ada perubahan dalam transaksi yang melanggar aturan tersebut.

3. Isolation (Isolasi)

Isolasi memastikan bahwa operasi dari transaksi yang sedang berlangsung tidak akan terpengaruh oleh transaksi lain yang berjalan secara bersamaan. Ini penting untuk menghindari race conditions atau perubahan data yang tidak diinginkan.

750 x 100 AD PLACEMENT

Contohnya, dua transaksi yang mengupdate saldo rekening secara bersamaan tidak boleh saling mengganggu hingga masing-masing selesai.

4. Durability (Daya Tahan)

Durability memastikan bahwa setelah transaksi berhasil selesai, perubahan data akan tetap ada meskipun terjadi kegagalan sistem (seperti crash atau mati listrik).

Setelah transfer uang berhasil dan pengguna diberi konfirmasi, data transaksi tersebut akan tetap aman di database meskipun sistem tiba-tiba mati.

Oke mungkin gitu dulu guys. Semoga bermanfaat

750 x 100 AD PLACEMENT

Leave a Reply

Your email address will not be published. Required fields are marked *

930 x 180 AD PLACEMENT