Simulasi Transaksi Database: Dirty Read, Lost Update, dan Isolasi
Dua sesi berjalan bergantian di satu garis waktu. Putar langkah demi langkah dan lihat kapan dirty read, non-repeatable read, phantom, atau lost update terjadi.
Simulasi Transaksi Database: Dirty Read, Lost Update, dan Isolasi
- Pilih anomali, lalu putar garis waktu langkah demi langkah.
- Amati papan data: nilai tersimpan versus draf yang belum di-commit tiap sesi.
- Ganti tingkat isolasi atau pola penulisan, putar ulang, dan bandingkan bacaannya.
- Bandingkan dengan tabel standar SQL di bawah papan.
- Dirty read di sini memakai aturan Read Uncommitted standar SQL; PostgreSQL dan SQLite (tanpa shared cache) tidak pernah melakukannya.
- Satu nilai per contoh; kunci baris, MVCC, dan galat serialisasi PostgreSQL tidak digambar.
- Sesi yang terkunci langsung gagal (timeout 0) lalu mencoba lagi, seperti latihan di kelas.
- PostgreSQL — §13.2 Transaction Isolation · Definisi dirty read, non-repeatable read, phantom read; Tabel 13.1 level isolasi standar
- SQLite — Isolation In SQLite · Koneksi lain tidak melihat perubahan yang belum di-commit; penulisan diserialkan
- SQLite — BEGIN TRANSACTION · DEFERRED, IMMEDIATE, EXCLUSIVE; SQLITE_BUSY
Apakah Transaksi & isolasi ini gratis?
Gratis dan tanpa akun. Simulasinya berjalan di peramban kamu; tidak ada yang dikirim ke server KelasGratis. Bila kamu masuk, KelasGratis hanya mencatat bahwa akunmu membuka lab ini (sekali sehari) untuk riwayat dan aktivitas komunitas.
Apa saja penyederhanaan modelnya?
Dirty read di sini memakai aturan Read Uncommitted standar SQL; PostgreSQL dan SQLite (tanpa shared cache) tidak pernah melakukannya. Satu nilai per contoh; kunci baris, MVCC, dan galat serialisasi PostgreSQL tidak digambar. Sesi yang terkunci langsung gagal (timeout 0) lalu mencoba lagi, seperti latihan di kelas.
Boleh dipasang di situs sekolah atau blog?
Boleh. Pasang iframe ke https://kelasgratis.com/lab/transaksi-isolasi-database?embed=1; bingkainya menampilkan lab saja beserta tautan balik.