👨‍💻
Sammi
  • Hello
  • About Me
    • Links
    • My Daily Uses
  • PostgreSQL → Partitioning
  • Belajar System Programming Menggunakan Go
    • Mengingat Kembali Tentang Concurrency dan Parallelism
  • Memory Management
  • Explore
    • Testing 1: Load and performance testing
    • Data Structure 1: Bloom Filter
    • System Design 1: Back of The Envelope Estimation
    • System Design 2: A Framework For System Design Interviews
    • System Design 3: Design a URL Shortener
    • Belajar RabbitMQ
  • Belajar Kubernetes
  • Notes
    • Permasalahan Penggunaan JWT dan Solusinya dengan PASETO
    • First Principle Thinking
    • The Over-Engineering Pendulum
    • Data-Oriented Programming
  • CAP Theorem
  • Go Series: Safer Enum
  • Go Series: Different types of for loops in Golang?
  • Go Series: Mutex & RWMutex
  • Setup VM Production Ready Best Practice
  • BEHAVIOUR QUESTION
  • Invert, always invert
  • Mengapa Tidak Menggunakan Auto-Increment ID?
  • I Prefix dan Impl Suffix
  • ACID
  • MVCC Di Postgres
  • Implicit Interface di Go
  • Transaction di Postgres
  • Kriteria Kolom yang Cocok Dijadikan Index
  • Misc
    • Go Project
    • Talks
    • Medium Articles
  • PostgreSQL
    • Introduction
  • English
    • Vocab
Powered by GitBook
On this page

ACID

Apa itu ACID?

ACID adalah singkatan dari:

Singkatan
Nama
Artinya

A

Atomicity

Semua operasi dalam transaksi harus berhasil semua atau gagal semua.

C

Consistency

Data harus selalu konsisten sebelum dan sesudah transaksi.

I

Isolation

Transaksi berjalan sendiri, tidak boleh kacau walau ada transaksi lain.

D

Durability

Setelah transaksi selesai, data tetap aman walau server mati.


Kegunaan ACID

ACID berguna supaya database:

  • Aman: Tidak ada data setengah jalan atau rusak.

  • Konsisten: Data tetap valid, tidak kacau.

  • Tahan gangguan: Kalau mati listrik, transaksi tetap disimpan.

  • Dapat dipercaya: Banyak pengguna akses bersamaan tanpa tabrakan.

Bayangkan kalau bank tidak pakai ACID: uang bisa hilang, saldo bisa ganda, atau data rusak kalau listrik mati. Bahaya, kan?


Ilustrasi ACID

Bayangkan kamu transfer uang di bank:

  • Kamu mau transfer Rp 100.000 dari rekening A ke rekening B.

Langkah transaksi:

  1. Cek saldo A

  2. Kurangi Rp 100.000 dari A

  3. Tambahkan Rp 100.000 ke B

  4. Simpan perubahan ke database

Kalau tanpa ACID:

  • Kalau server mati setelah saldo A berkurang, tapi saldo B belum bertambah ➔ uang hilang.


Dengan ACID:

Prinsip
Simpelnya saat transfer uang

Atomicity

Kalau gagal di langkah mana pun, semuanya dibatalkan. (A tetap utuh)

Consistency

Setelah transfer, total uang di A+B tetap sama.

Isolation

Kalau ada orang lain juga transfer, prosesmu tetap tidak kacau.

Durability

Kalau sudah berhasil, data tidak hilang walau listrik mati.


Gambar Ilustrasi

PreviousI Prefix dan Impl SuffixNextMVCC Di Postgres

Last updated 16 days ago