ACID Properties

Menengah

ACID adalah empat sifat yang menjamin transaksi database berjalan dengan aman dan benar: Atomicity, Consistency, Isolation, dan Durability. Ini yang bikin kamu bisa transfer uang lewat ATM tanpa takut uangnya hilang di tengah jalan.

Apa itu ACID Properties?

ACID adalah kumpulan empat properti yang harus dipenuhi oleh sebuah sistem database untuk menjamin bahwa transaksi diproses dengan andal. Istilah ini berasal dari dunia database relasional, tapi konsepnya jadi standar emas untuk keamanan data di berbagai sistem.

Transaksi di sini artinya serangkaian operasi database yang diperlakukan sebagai satu unit kerja. Misalnya: transfer uang dari rekening A ke rekening B itu satu transaksi yang terdiri dari dua operasi, yaitu debit rekening A dan kredit rekening B.

Empat Pilar ACID

A: Atomicity (Atomisitas)

"Semua atau tidak sama sekali." Kalau ada satu langkah dalam transaksi yang gagal, seluruh transaksi dibatalkan dan database dikembalikan ke kondisi sebelumnya. Nggak ada yang "setengah jadi".

Analogi: Kamu transfer uang Rp500.000 dari rekening ke dompet digital. Kalau proses debit berhasil tapi kredit ke dompet gagal, uangnya harus balik ke rekening, bukan lenyap begitu saja.

C: Consistency (Konsistensi)

Transaksi harus membawa database dari satu kondisi valid ke kondisi valid lainnya. Semua aturan, constraint, dan relasi yang udah didefinisikan harus tetap terpenuhi sebelum dan sesudah transaksi.

Contoh: Kalau ada aturan bahwa saldo rekening nggak boleh negatif, database nggak akan mengizinkan transaksi yang bikin saldo jadi minus.

I: Isolation (Isolasi)

Transaksi yang berjalan bersamaan nggak saling mengganggu satu sama lain. Setiap transaksi seolah berjalan sendiri, bahkan kalau ada ribuan transaksi lain yang terjadi di waktu yang sama.

Tanpa isolasi: dua proses bisa baca saldo yang sama di saat bersamaan, masing-masing melakukan transaksi, dan akhirnya terjadi race condition yang bikin data salah.

D: Durability (Durabilitas)

Setelah transaksi berhasil di-commit, perubahan data dijamin tersimpan secara permanen, bahkan kalau sistem mati mendadak seperti listrik padam atau server crash. Ini dicapai lewat mekanisme write-ahead log (WAL).

Ringkasan ACID

PropertiPertanyaan KunciMekanisme
AtomicityApakah semua langkah berhasil atau semuanya dibatalkan?Rollback dan commit
ConsistencyApakah semua aturan data tetap terpenuhi?Constraint dan trigger
IsolationApakah transaksi paralel saling aman?Locking dan MVCC
DurabilityApakah data tetap aman setelah commit?Write-ahead log (WAL)

ACID vs BASE

NoSQL sering pakai model BASE (Basically Available, Soft state, Eventually consistent) sebagai trade-off untuk performa dan skalabilitas. Ini bukan berarti lebih buruk, hanya berbeda prioritas: ACID utamakan konsistensi, BASE utamakan ketersediaan dan kecepatan.

Lanjut Latihan

Udah paham ACID Properties? Lanjut latihan SQL dan Excel yuk!

Latihan interaktif, langsung di browser.

Mulai Latihan →