• Tidak ada hasil yang ditemukan

Penguncian pada Concurrency Control

N/A
N/A
Protected

Academic year: 2021

Membagikan "Penguncian pada Concurrency Control"

Copied!
33
0
0

Teks penuh

(1)

Control

Teknik Informatika

Universitas Kristen Duta Wacana Yogyakarta

(2)

11/22/11 budi susanto 2

Tujuan

● Memahami tentang konsep penguncian pada

concurrency control terhadap transaksi database.

(3)

Pendahuluan

● Ketika beberapa transaksi berjalan secara

bersamaan dalam database, properti isolasi tidak dapat dipertahankan.

● Untuk itu, sistem perlu menerapkan skema

concurrency-control.

● Untuk menjamin interaksi antar transaksi concurrent

(4)

11/22/11 budi susanto 4

Protokol Berbasis Kunci

● Untuk memastikan serializability, salah satunya

dengan cara mutually exclusive:

● Ketika satu transaksi mengakses item data, tidak

ada transaksi lain yang dapat memodifikasi item data tersebut.

(5)

Penguncian

● Shared

● Jika T

i mendapat shared-mode lock (S) pada item

Q, maka Ti dapat membaca, tapi tidak dapat

menulis item Q.

● Exclusive

● Jika T

i mendapat exclusive-mode lock (X) pada item

Q, maka Ti tidak dapat membaca atau menulis item

(6)

11/22/11 budi susanto 6

Compatibility Function

Setiap transaksi meminta kunci ke

concurrency-control manager.

● Transaksi dapat melanjutkan operasinya hanya

setelah mendapat grant dari manager.

● Dari sekumpulan mode penguncian, kita dapat

mendefinisikan compatibility function.

S X

S true false

(7)

Locking Protocol

● Jika kita tidak menggunakan penguncian, atau

jika kita melepas kunci segera setelah baca atau tulis item data, kita mungkin akan

mendapat kondisi tidak konsisten.

● Jika kita tidak melepas kunci item data sebelum

meminta untuk mengunci item data lain, deadlock mungkin terjadi.

Harus mengikuti aturan: locking protocol

(8)

11/22/11 budi susanto 8

Locking Protocol

● {T0, T1, ..., Tn} adalah himpunan transaksi

dalam schedule S.

● Ti Tj dalam S jika

● Terdapat item data Q, dan

● Ti mengunci Q mode A, dan Tj mengunci Q mode B

kemudian, dan

(9)

Locking Protocol

Jadwal S dikatakan legal di bawah locking

protocol, jika S adalah jadwal yang mengikuti aturan locking protocol.

● Locking protocol memastikan conflict

(10)

11/22/11 budi susanto 10

Granting Lock

● Ketika Ti meminta kunci pada item data Q

dalam mode M, concurrency-control manager memberikan kunci :

● Tidak ada transaksi lain menyimpan kunci untuk Q

dalam mode yang konflik dengan M;

● Tidak ada transaksi lain yang sedang menunggu

(11)

Contoh

● Diberikan T1 dan T2 berikut:

● Jika A = 100, dan B=200, berapa nilai akhir jika

(12)

11/22/11 budi susanto 12

Jika secara concurrent?

(13)
(14)

11/22/11 budi susanto 14

Kegagalan Locking Protocol

● Masih mungkin terjadi deadlock ● Starvation

● Sebuah transaksi menunggu untuk X-lock untuk

item data, sedangkan sederetan transaksi lain meminta dan diberi suatu S-lock untuk item data yang sama.

● Transaksi yang sama di rollback secara berulang

karena deadlock.

● Concurrency control manager dirancang untuk

(15)
(16)

11/22/11 budi susanto 16

Contoh lain

(17)

Two-Phase Locking Protocol

● Protokol ini membutuhkan setiap transaksi yang

ingin kunci atau melepas kunci, memintanya dalam 2 fase:

● Growing phase:

– Sebuah transaksi dapat memperoleh kunci, tetapi tidak

dapat melepaskan kunci apapun.

● Shrinking phase

– Transaksi mungkin melepas kunci, namun tidak

(18)

11/22/11 budi susanto 18

Two-phase Locking

(19)

Two-Phase Locking Protocol

● Pada awalnya, sebuah transaksi dalam growing

phase.

● Sekali melepas sebuah kunci, masuk ke

shrinking phase, dan tidak dapat meminta kunci lagi.

● Suatu titik pada schedule dimana transaksi

mencapai kunci akhir (akhir growing phase) disebut lock point dari transaksi.

(20)

11/22/11 budi susanto 20

Two-Phase Locking Protocol

● Protokol Two-phase tetap memungkinkan

deadlock.

● Modifikasinya:

● Strict two-phase locking protocol

– Sembarang data yang ditulis oleh uncommit transaction

dikunci mode exclusive sampai commit, untuk mencegah transaksi lain membaca data.

● Rigorous two-phase locking protocol

(21)
(22)

11/22/11 budi susanto 22

Konversi Kunci

● Two-phase locking dengan konversi kunci:

● First Phase:

– Dapat memperoleh lock-S untuk item – Dapat memperoleh lock-X untuk item

Dapat mengubah lock-S ke lock-X (upgrade)

● Second Phase:

– Dapat melepas lock-S – Dapat melepas lock-X

Dapat mengubah lock-X ke lock-S (downgrade)

● Protokol ini memastikan serializability. Namun tetap

mengandalkan programmer untuk menyisipan perintah penguncian.

(23)
(24)

11/22/11 budi susanto 24

Graph Based Protocol

● Protokol alternatif dari two-phase

● Memaksa partial ordering -> pada himpunan D

= {d1, d2, ..., dn} dari semua item data.

Jika di -> dj, maka sembarang transaksi mengakses

di dan dj harus mengakses di dahulu baru dj.

(25)

Tree Protocol

● Hanya pengucian eksklusif.

● Kunci pertama oleh Ti dapat dilakukan untuk

sembarang item data. Selanjutnya, data Q dapat dikunci oleh Ti, hanya jika induk Q dikunci oleh Ti.

● Item data dapat di unlocked setiap saat.

● Item data yang di kunci dan di unlock oleh Ti

(26)

11/22/11 budi susanto 26

Tree Protocol

(27)

Akuisisi Kunci otomatis

● Sebuah transaksi Ti melakukan perintah read/write standar,

tanpa melakukan pemanggilan kunci secara eksplisit.

● The operation read(D) is processed as:

if Ti has a lock on D then

read(D) else begin

if necessary wait until no other transaction has a lock-X on D grant Ti a lock-S on D;

(28)

11/22/11 budi susanto 28

Akuisisi Kunci otomatis

● write(D) diproses sebagai :

if Ti has a lock-X on D then

write(D) else begin

if necessary wait until no other trans. has any lock on D, if Ti has a lock-S on D

then

upgrade lock on D to lock-X else

grant Ti a lock-X on D write(D)

end;

(29)

Penanganan Deadlock

● Terdapat 2 transaksi:

T1: write (X) T2: write(Y) write(Y) write(X)

(30)

11/22/11 budi susanto 30

Deadlock prevention protocol

● Suatu protocol yang menjamin bahwa sistem

tidak akan pernah masuk dalam status deadlock.

● Strateginya

● Membutuhkan bahwa setiap transaksi mengunci

semua item data sebelum mengeksekusinya.

● Memaksa partial ordering dari semua data dan

transaksi dapat mengunci item data hanya dalam suatu urutan tertentu dengan partial order (graph based protocol).

(31)

Deadlock Detection

● Deadlock dapat digambarkan sebagai graf

wait-for

● Terdiri dari G = (V, E)

● V adalah transaksi

● E adalah pasangan transaksi Ti -> Tj

– Artinya Ti menunggu Tj untuk melepas kunci

● Sistem akan deadlock, jika dan hanya jika graf

(32)

11/22/11 budi susanto 32

Deadlock Detection

(33)

Pencegahan Deadlock

● Memberikan prioritas ke transaksi

● Menggunakan timestamp untuk menyatakan prioritas

● Ti meminta suatu kunci yang dipegang oleh Tj

● Wait-die:

– Jika Ti memiliki prioritas lebih tinggi, ia menunggu; selain itu di

batalkan

● Wound-wait

– Jika Ti memiliki prioritas lebih tinggi, batalkan Tj, selain itu Tj

menunggu.

Referensi

Dokumen terkait

Dosis harian yang di anjurkan 25 mg /kg BB, sedangkan untuk pengobatan intermiten 3 kali seminggu di berikan dengan dosis 35 mg / kg BB.. Streptomisin (

Kemampuan jus bawang putih dalam meningkatkan aktivitas fibrinolisis pada tikus wistar yang dipapar inhibitor plasmin yaitu asam traneksamat dimungkinkan

V SK Walikota terbaru (2016) tentang cagar budaya belum dapat dipenuhi karena data belum tersedia... - - 31 hari kalender (1-30 April

Walaupun kebersihan rongga mulutnya baik, namun pada gingiva dapat terlihat adanya kemungkinan terjadi perdarahan setelah menyikat gigi atau setelah sulkus dilakukan

Sehingga berdasarkan penjelasan di atas dari ke-2 Sub Bagian Pelaksanaan Fungsi humas di Setda Kabupaten Temanggung, peneliti fokus untuk meneliti pada Sub Bagian

The problems were the students often feel anxiety to speak in English because some of factors, it could be from external factors and internal factors..

Melihat adanya peluang bahwa model bisnis food truck masih jarang di Indonesia penulis berinisiatif untuk membuka bisnis food truck karena menurut penulis

This aims to clarify why this research is needed, in this study the importance of this research is to find out what factors affect the Financial Literacy of students