Manajemen Transaksi dan Konkurensi

Manajemen Transaksi dan Konkurensi
SISTEM BASIS DATA | PERTEMUAN 8 DARI 10
Klik judul bagian untuk membuka atau menutup.
PERTEMUAN 8
Manajemen Transaksi dan Konkurensi
Semua berhasil, atau tidak ada yang terjadi
Capaian: Menjelaskan sifat ACID, masalah konkurensi, serta pengendalian locking dan recovery.
 
๐Ÿ“˜ Transaksi dan ACID
  • Transaksi = satu unit kerja logis.
  • Atomicity, Consistency, Isolation, Durability.
  • Perintah: START TRANSACTION, COMMIT, ROLLBACK.
๐Ÿ“˜ Konkurensi dan Recovery
  • Masalah: lost update, dirty read, unrepeatable read.
  • Locking: shared dan exclusive; two-phase locking; waspadai deadlock.
  • Recovery: log transaksi, checkpoint, rollback/redo.
๐Ÿงฉ Metafora
Perumpamaan: Transfer ATM: saldo A berkurang dan saldo B bertambah harus terjadi bersama. Konkurensi seperti dua orang membeli kursi konser yang sama.
๐Ÿงช Contoh Kasus / Kode
START TRANSACTION;
UPDATE rekening SET saldo = saldo - 500000 WHERE no_rek = 'A01';
UPDATE rekening SET saldo = saldo + 500000 WHERE no_rek = 'B02';
COMMIT;      -- bila ada kesalahan, jalankan ROLLBACK;
๐Ÿ–ผ๏ธ Ilustrasi Visual
Empat sifat ACID
Empat sifat ACID dan contoh transfer: dua perubahan saldo harus berhasil bersama atau dibatalkan bersama.
๐Ÿž Kesalahan Umum
  • Menjalankan dua UPDATE terkait tanpa transaksi.
  • Lupa COMMIT sehingga data tidak tersimpan.
  • Menahan lock terlalu lama.
โœ๏ธ Latihan

Rancang skenario dua kasir menjual kursi terakhir dan tunjukkan di mana dirty read bisa terjadi.

๐Ÿš€ Ajakan (Call to Action)
Ajakan: Jelaskan dengan bahasa Anda sendiri mengapa durability penting bagi bank.
Disusun oleh ALIMIN, M.Kom