Pengenalan Database ACID

pengenalan database acid

Database ACID

ACID merupakan compliance (kepatuhan) untuk Sistem Basis Data yang memiliki karakter Atomicity, Consistency, Isolation dan Durability.

ACID adalah sekumpulan properti transaksi basis data yang dimaksudkan untuk menjamin validitas data meskipun ada kesalahan, kegagalan daya, dan kecelakaan lainnya.

Atomicity

Setiap statement dalam transaksi (baik itu membaca, menulis, mengubah atau menghapus), diperlakukan sebagai satu kesatuan.

Jika transaksi berhasil, maka seluruh statement harus berhasil.

Jika transaksi gagal, maka seluruh statement harus tidak boleh ada yang berhasil, atau digagalkan.

Properti ini mencegah terjadinya kehilangan atau kerusakan data, misal jika ditengah transaksi terjadi kegagalan aplikasi.

Consistency

Memastikan bahwa transaksi hanya bisa mengubah data dari satu kondisi konsisten ke kondisi konsisten lainnya.

Setiap data yang ditulis ke database harus valid sesuai dengan semua aturan yang sudah ditetapkan.

Hal ini mencegah data data menjadi tidak konsisten, dan menjamin integritas relasi antar data.

Isolation

Transaksi sering dieksekusi secara bersamaan (mis., Beberapa transaksi membaca dan menulis ke tabel pada waktu yang sama). 

Isolation memastikan bahwa eksekusi transaksi secara bersamaan meninggalkan database dalam keadaan yang sama yang akan diperoleh jika transaksi dieksekusi secara berurutan.

Isolation adalah tujuan utama kontrol konkurensi; tergantung pada tingkat isolasi yang digunakan, efek dari transaksi yang tidak lengkap mungkin tidak terlihat oleh transaksi lain.

Durability

Durability menjamin bahwa sekali transaksi telah disimpan, itu akan tetap disimpan bahkan dalam kasus kegagalan sistem (misalnya, pemadaman listrik atau crash).

MySQL ACID

MySQL sudah mengikuti kaidah ACID ketika menggunakan engine InnoDB.

https://dev.mysql.com/doc/refman/8.0/en/mysql-acid.html

Di materi selanjutnya, kita akan coba praktekan ACID menggunakan database MySQL.
Next Post Previous Post
No Comment
Add Comment
comment url