Anda di halaman 1dari 8

Concurrency Control Approaches Locking Locking Types

NUR ATIKAH BT SULAIMAN NORADILAH BT MISROL HANIS BT MUSTAFA KAMIL AZMIE 01DIT05F041 01DIT05F042 01DIT05F043

Locking
Ia adalah antara yang plg luas digunakan. Dlm concurrency control, jika seseorang pengguna mengemaskini data, semua pengguna lain tidak dibenarkan mencapai data tersebut sehingga kemaskini lengkap.

Locking Levels
Adalah pertimbangan yg penting dlm implementasi concurrancy control dengan memilih peringkat kekunci. Ia dinamakan sbg lock granularity ( kunci pembutiran ). - ia mengenalpsti keluasan sumber tetapi akn dikunci apabila beberapa pengguna cuba mencapai PD. - kekunci terlibat pd peringkat berikut : i. Peringkat PD ii. Peringkat Jadual iii. Peringkat Mukasurat iv. Peringkat Baris v. Peringkat Medan

Lock Types
Proses perlaksanaan melibatkan pembacaan dan penulisan data. Pembacaan data secara serentak oleh pelbagai pengguna biasanya tidak ada masalah selagi data tidak berubah. Penulisan walaubagaimanapun mungkin akan menyebabkan masalah jika perlaksanaan tidak diuruskan dengan baik. Tanpa berpandukan peringkat kekunci, DBMS biasanya menggunakan 2 jns kekunci iaitu : - binary - shared/ exclusive locks

Binary Lock
Binary lock mempunyai 2 pernyataan iaitu locked atau unlocked. Jika objek PD dikunci semasa perlaksanaan, perlaksanaan lain tidak boleh menggunakan objek tersebut. Apabila perlaksanaan berakhir, ia akan melepaskan kunci dan perlaksanaan lain boleh menggunakannya. Setiap perlaksanaan memerlukan operasi lock dan unlock pada setiap objek data yang terlibat. Operasi lock dan unlock diuruskan secara automatik oleh DBMS . Sifat lock dan unlock di dlm DBMS menghapuskan masalah lost update.

Shared/Exclusive Locks
Shared lock wujud semasa perlaksanaan serentak yg mengizinkan capaian Baca pada asas kunci biasa. Ia tidak akan menyebabkan sebarang masalah concurrency kerana perlaksanaan ini hanya menjalankan operasi membaca.

Two-phase Locking
2 Fasa protokol kekunci akn knlpsti di mana perlaksanaan memperoleh dan melepaskan kekunci. Ia menjamin serializability (penerbitan bersiri), tetapi tidak menghalang deadlocks. 2 Fasa itu ialah : Growing phase di mana perlaksanaan memperoleh semua kekunci yg diperlukan tetapi tidak melepaskan sebarang kunci. Shrinking phase di mana perlaksanaan melepaskan semua kekunci tetapi tidak memperoleh sebarang kekunci baru.

Deadlocks
Penggunaan shared/exclusive locks akan menghasilkan deadlocks. Deadlock adalah situasi di mana 2 perlaksanaan menunggu di antara 1 sama lain utk melepaskan kekunci pada data. 2 pelaksanaan T1 dan T2 di dlm pernyataan deadlock adlh berdasarkan syarat berikut : - Perlaksanaan T1 memegang kunci untuk item data D1 dan menunggu untuk kunci data item D2 yg tidak boleh diberi kerana perlaksanaan T1 sedang memegangnya. - Perlaksanaan T2 memegang kunci untuk item data D2 dan menunggu untuk kunci data item D1 yg tidak boleh diberi kerana perlaksanaan T2 sedang memegangnya.

Anda mungkin juga menyukai