Penguncian pada Concurrency Control

dokumen-dokumen yang mirip
Desain Aplikasi. by: Ahmad Syauqi Ahsan

SISTEM BASIS DATA (KONTROL KONKURENSI) Alif Finandhita,S.Kom, M.T.

Manajemen Transaksi. Sistem Basis Data. Gentisya Tri Mardiani, S.Kom

Manajemen Transaksi (Penjadwalan & Kontrol konkurensi)

Semester Ganjil 2014 Fak. Teknik Jurusan Teknik Informatika Universitas Pasundan. Caca E. Supriana, S.Si.,MT.

Distributed System. 9 Concurrency Control. Genap 2011/2012. Dahlia Widhyaestoeti, S.Kom dahlia74march.wordpress.

sistem basis data ti ti ukdw Transaksi Budi Susanto Teknik Informatika Universitas Kristen Duta Wacana Yogyakarta 11/14/11 budi susanto 1

Nama : Putra Adi Nugraha dan Priska Kalista Kelas : B

SISTEM BASIS DATA 2. WAHYU PRATAMA, S.Kom., MMSI.

Semester Ganjil 2014 Fak. Teknik Jurusan Teknik Informatika Universitas Pasundan. Caca E. Supriana, S.Si.,MT.

Gambar Layar pertama untuk pemecahan masalah Lost Update

DISTRIBUTED TRANSACTIONS

Praktikum MONITORING AND RESOLVING LOCK CONFLICTS. Tujuan :

Concurrency Control Semester Ganjil 2014 Fak. Teknik Jurusan Teknik Informatika. Caca E. Supriana, S.Si.,MT. Si

PENGONTROLAN BERBASIS KOMPUTER

Mekanisme Penanganan Deadlock Dalam Pemrosesan Transaksi Oleh DBMS Menggunakan Algoritma Backtracking

PENGONTROLAN KONKURENSI

DATABASE CONTROL 1. SECURITY DATABASE. Suzan Agustri 81

KONTROL KONKURENSI TERDISTRIBUSI (DCC)

BAB 3 ANALISIS DAN PERANCANGAN SISTEM

Kusnawi, S.Kom, M.Eng

TSI Perbankan MANAJEMEN DATA LOCK. Obyektif : 1. Mengetahui konsep lock 2. Mengetahui konsep share pada file database. AS/400 hal. B.

MANAJEMEN TRANSAKSI. Alif Finandhita, S.Kom

DISTRIBUTED TRANSACTIONS. Willy Sudiarto Raharjo

MANAGEMEN TRANSAKSI. Ferdi Yusuf #1

Distributed Transaction

Backup & Recovery System. Teknik Informatika

Transaction & Conccurency

BAB 4 IMPLEMENTASI DAN EVALUASI

LINGKUNGAN DATABASE Baca R Modifikasi R -

DEADLOCK & RECOVERY SYSTEM

MODUL 10 TRANSACTION

BAB 2 LANDASAN TEORI

Masalah Deadlock. Contoh Persimpangan Jalan. Resource-Allocation Graph. Deadlock

Bab 6. Deadlock POKOK BAHASAN: TUJUAN BELAJAR:

Transactions and Concurrency Control

Manajemen Transaksi. Sistem Basis Data. Gentisya Tri Mardiani, S.Kom., M.Kom

DEADLOCK. KELOMPOK : Aurora Marsye Mellawaty Vidyanita Kumalasari Y

Manajemen Transaksi. Praktikum Sistem Basis Data. Gentisya Tri Mardiani, S.Kom., M.Kom

UNIVERSITAS BINA NUSANTARA. Jurusan Teknik Informatika Skripsi Sarjana Komputer Semester Ganjil tahun 2006/2007

Transaksi Semester Ganjil 2014 Fak. Teknik Jurusan Teknik Informatika. Caca E. Supriana, S.Si.,MT. Si

BAB I PENDAHULUAN : SISTEM BASIS DATA

Sistem Operasi Komputer. Pembahasan Deadlock

Administrasi Basis Data. Transaksi dan Lock. Yoannita

Distributed System. 8 Management Transaksi. Genap 2011/2012. Dahlia Widhyaestoeti, S.Kom dahlia74march.wordpress.

Bab 7: Deadlock. Permasalahan Deadlock

PENGONTROLAN BERBASIS KOMPUTER

Pertemuan IX MANAJEMEN TRANSAKSI

PENDAHULUAN PENDAHULUAN TRANSAKSI TRANSAKSI TRANSAKSI 24/04/2016 TEKNIK RECOVERY

Deadlock. Pada kasus ini juga bisa terjadi kelaparan, yaitu ada proses yang tidak terlayani

MODIFIKASI DAN EVALUASI KINERJA ALGORITMA READ-COMMIT ORDER CONCURRENCY CONTROL (ROCC)

Sistem Operasi. Critical section, konkurensi, mutasi exclusion, starvation dan deadlock. Juliansyahwiran, S. Kom, MTI. Modul ke: Fakultas FASILKOM

Penggunaan Brute Force untuk Mendeteksi Potensi Terjadinya Deadlock

Semester Ganjil 2014 Fak. Teknik Jurusan Teknik Informatika Universitas Pasundan. Caca E. Supriana, S.Si.,MT.

BAB VIII DEADLOCK ...

Operating System. Synchronization & Deadlock. Fak. Teknik Jurusan Teknik Informatika Universitas Pasundan

Transaction & Conccurency

PROTOKOL CONCURRENCY CONTROL PADA REAL-TIME DATABASE SYSTEM

Sinkronisasi & Deadlock AGUS PAMUJI. SISTEM OPERASI - Sinkronisasi & Deadlock

DEADLOCK. Haryono Setiadi, ST, M.Eng

Pertemuan #3: Sinkronisasi dan Deadlock

Sistem Operasi. Konkurensi

SISTEM OPERASI. Deadlock.

SISTEM MONITORING PELANGGAN PASCABAYAR DAN PRABAYAR TBT MENERAPKAN MANAJEMEN TRANSAKSI MENGGUNAKAN METODE TWO PHASE LOCKING

Sistem Operasi. Deadlock

MODUL PRAKTIKUM SISTEM OPERASI PRAKTIKUM VIII Deadlock

Sistem Operasi. Deadlock & Penanganannya. Aditya Wikan Mahastama

Transaksi. by: Ahmad Syauqi Ahsan

ARSITEKTUR SISTEM. Alif Finandhita, S.Kom, M.T. Alif Finandhita, S.Kom, M.T 1

Manajemen Transaksi A. Konsep Transaksi 1. Membuat Tabel account dengan type Innodb

RECOVERY SYSTEM. Sistem Basis Data. Gentisya Tri Mardiani, S.Kom

Konkurensi merupakan landasan umum perancangan sistem operasi. Proses-proses disebut konkuren jika proses-proses berada pada saat yang sama.

MODUL VIII BASIS DATA TRANSACTION

Fairuz El Said Sekedar Berbagi Sistem Operasi (SO) Konkurensi KONGKURENSI

IMPLEMENTASI BASISDATA DALAM REAL-TIME SYSTEM

PENGATURAN PROSES. Proses adalah program yang sedangdieksekusi atau sofware yang sedang dilaksanakan.

Modul Praktikum Sistem Basis Data 2010

Pertemuan V Penjadwalan Proses

PROTEKSI DATA (DATABASE CONTROL)

Sinkronisasi dan Deadlock Sistem Operasi

BAB 4 IMPLEMENTASI DAN EVALUASI. maka diperlukan suatu jaringan LAN yang terhubung antara komputer yang satu

Deadlock Ch. 7. Deadlock. SISTIM OPERASI (Operating System) IKI Johny Moningka

1. DEADLOCK. Diagram Graf

MERANCANG WEB DATA BASE UNTUK CONTENT SERVER

Komunikasi & Sinkronisasi Proses

RECOVERY SYSTEM. Sistem Basis Data. Gentisya Tri Mardiani, S.Kom., M.Kom

a. TRUE b. FALSE c. Jawaban A dan B keduanya dimungkinkan benar d. Tidak dapat ditentukan e. Tidak ada jawaban di antara A, B, C, D yang benar

DEADLOCK PADA DISTRIBUSI DATA DAN PEMECAHANNYA

BAB VI PROTEKSI DATA (DATABASE CONTROL)

Transaction dan Trigger. M. Saefudin SKom, MMSI

BAB III PEMODELAN MASALAH

Bab 23. Deadlocks Pendahuluan. Gambar Contoh kasus deadlock pada lalu lintas di jembatan

BAB 4 IMPLEMENTASI DAN EVALUASI

TEKNIK RECOVERY (ref. Fundamentals of DB Systems, Elmasri, N)

Koordinasi Antar Proses

BAB 3 ANALISIS DAN PERANCANGAN SISTEM

Optimisasi Penjadwalan Proses Pada Central Processing Unit Dengan Menggunakan Algoritma Greedy

BAB I PENDAHULUAN. 1.1 Latar Belakang

Kongkurensi LPOHLVSFOTJ!

JMA, VOL. 2, NO. 1, JULI, 2003, ALGORITMA ROCC FAHREN BUKHARI

Transkripsi:

Penguncian pada Concurrency Control Teknik Informatika Universitas Kristen Duta Wacana Yogyakarta 11/22/11 budi susanto 1

Tujuan Memahami tentang konsep penguncian pada concurrency control terhadap transaksi database. 11/22/11 budi susanto 2

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 Didasarkan pada properti serializability. 11/22/11 budi susanto 3

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. Dengan cara mengunci item data. 11/22/11 budi susanto 4

Penguncian Shared Jika T i mendapat shared-mode lock (S) pada item Q, maka T i dapat membaca, tapi tidak dapat menulis item Q. Exclusive Jika T i mendapat exclusive-mode lock (X) pada item Q, maka T i tidak dapat membaca atau menulis item Q. 11/22/11 budi susanto 5

Compatibility Function Setiap transaksi meminta kunci ke concurrencycontrol manager. Transaksi dapat melanjutkan operasinya hanya setelah mendapat grant dari manager. Dari sekumpulan mode penguncian, kita dapat mendefinisikan compatibility function. S S true false X false false X 11/22/11 budi susanto 6

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 Menentukan kapan suatu transaksi mengunci atau melepas kunci untuk setiap item data. 11/22/11 budi susanto 7

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 comp(a, B) = false 11/22/11 budi susanto 8

Locking Protocol Jadwal S dikatakan legal di bawah locking protocol, jika S adalah jadwal yang mengikuti aturan locking protocol. Locking protocol memastikan conflict serializability. 11/22/11 budi susanto 9

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 untuk mengunci Q sebelum permintaan Ti. 11/22/11 budi susanto 10

Contoh Diberikan T1 dan T2 berikut: Jika A = 100, dan B=200, berapa nilai akhir jika dijalankan secara serial? 11/22/11 budi susanto 11

Jika secara concurrent? 11/22/11 budi susanto 12

Presecende Graph 11/22/11 budi susanto 13

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 mencegah starvation. 11/22/11 budi susanto 14

deadlock 11/22/11 budi susanto 15

Contoh lain 11/22/11 budi susanto 16

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 mendapatkan kunci baru. 11/22/11 budi susanto 17

Two-phase Locking 11/22/11 budi susanto 18

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. 11/22/11 budi susanto 19

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 Semua kunci disimpan, sampai commit atau rollback. 11/22/11 budi susanto 20

Strict two-phase locking protocol 11/22/11 budi susanto 21

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. 11/22/11 budi susanto 22

Contoh 11/22/11 budi susanto 23

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. Menggunakan tree protocol 11/22/11 budi susanto 24

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 berikutnya tidak dapat dikunci ulang oleh Ti. 11/22/11 budi susanto 25

Tree Protocol 11/22/11 budi susanto 26

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 end if necessary wait until no other transaction has a lock-x on D grant Ti a lock-s on D; read(d) 11/22/11 budi susanto 27

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; Semua kunci dilepas setelah commit atau abort 11/22/11 budi susanto 28

Penanganan Deadlock Terdapat 2 transaksi: T1: write (X) T2: write(y) write(y) write(x) Schedule dengan deadlock 11/22/11 budi susanto 29

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). 11/22/11 budi susanto 30

Deadlock Detection Deadlock dapat digambarkan sebagai graf waitfor 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 wait-for berulang. 11/22/11 budi susanto 31

Deadlock Detection Tanpa cycle dengan cycle 11/22/11 budi susanto 32

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. Setelah dibatalkan, restart timestamp awalnya. 11/22/11 budi susanto 33