Senin, 21 April 2014

LOCKING pada TRANSAKSI DATABASE

LOCKING PROTOCOL 


Pada transaksi database, ada istilah locking yang berfungsi untuk menjaga integritas data.
Terdapat dua metode locking yaitu :

1.  Shared Lock (S-LOCK)
         Jika transaksi memiliki shared lock, transaksi tersebut hanya bisa melakukan pembacaan.

2.  Exclusive Lock (X-LOCK)
         Bagi transaksi yang memiliki exclusive lock, transaksi tersebut dapat melakukan perubahan dan pembacaan terhadap data tersebut.

Perbedaan S-LOCK dan X-LOCK


Untuk Shared Lock, bisa dimiliki beberapa transaksi dalam satu waktu,
Exclusive Lock, hanya dapat dimiliki oleh satu transaksi pada satu waktu.

PENGUNCIAN LEVEL TABEL 

Penguncian berfungsi untuk mengunci suatu tabel untuk mencegah perubahan atau penghapusan tabel selama ada transaksi yang menggunakan tabel tersebut.
pada ORACLE, untuk melakukan perintah penguncian tabel, adalah sebagai berikut
LOCK TABLE [nama_tabel]; 

PENGUNCIAN LEVEL BARIS 

Penguncian yang dilakukan pada baris (ROW) yang sedang digunakan oleh suatu transaksi sampai transaksi tersebut selesai dilakukan. Penguncian level baris hanya berlaku untuk operasi UPDATE dan DELETE.

DEADLOCK 

Situasi dimana dua atau lebih transaksi dalam kondisi saling menunggu satu sama lain, sampai Lock dilepas. Deadlock terjadi karena dua transaksi atau lebih tersebut memiliki X-LOCK pada data yang sama dan belum melakukan COMMIT.

Tidak ada komentar:

Posting Komentar