Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Definisi Tingkat Isolasi
“I” di ACID
singkatan dari Isolasi. Tingkat isolasi transaksi menentukan berapa banyak atau sedikit transaksi bersamaan lainnya dapat mempengaruhi data yang beroperasi.
SQL:1992 standarTx1
dan Tx2
:
Dirty read
– Hal ini terjadi ketikaTx1
memodifikasi item, dan kemudianTx2
membaca item tersebut sebelumTx1
telah melakukan perubahan. Kemudian, jikaTx1
tidak pernah berhasil melakukan perubahan, atau kembali,Tx2
telah membaca nilai yang tidak pernah berhasil masuk ke dalam database.Non-repeatable read
– Hal ini terjadi ketikaTx1
membaca item, makaTx2
memodifikasi atau menghapus item tersebut dan melakukan perubahan, kemudianTx1
mencoba membaca ulang item tersebut.Tx1
sekarang membaca nilai yang berbeda dari sebelumnya, atau menemukan bahwa item tidak lagi ada.Phantom read
– Hal ini terjadi ketikaTx1
membaca satu set item yang memenuhi kriteria pencarian, dan kemudianTx2
menambahkan item baru yang memenuhi kriteria pencarian, kemudianTx1
mengulangi pencarian.Tx1
sekarang memperoleh satu set item yang berbeda daripada sebelumnya.
Masing-masing dari tiga jenis interaksi dapat menyebabkan inkonsistensi dalam data yang dihasilkan dalam database.
SQL:1992 standar mendefinisikan empat tingkat isolasi yang memiliki jaminan yang berbeda dalam hal tiga jenis interaksi dan inkonsistensi yang dapat mereka hasilkan. Pada keempat tingkat, transaksi dapat dijamin untuk mengeksekusi sepenuhnya atau tidak sama sekali:
READ UNCOMMITTED
– Memungkinkan semua tiga jenis interaksi (yaitu, dirty reads, non-repeatable reads, dan phantom reads).READ COMMITTED
– Dirty reads sifatnya tidak mungkin, tapi nonrepeatable dan phantom reads mungkin.REPEATABLE READ
– Tidak satupun dari dirty read dan nonrepeatable read sifatnya mungkin, tetapi phantom read masih mungkin.SERIALIZABLE
– Tak satu pun dari tiga jenis fenomena interaksi dapat terjadi.
Multiversion concurrency control (MVCC) memungkinkan satu jenis lain dari isolasi, yaitu SNAPSHOT isolasi. Ini menjamin bahwa transaksi beroperasi pada snapshot data seperti saat transaksi dimulai, dan bahwa tidak ada transaksi lain dapat mengubah snapshot itu.