Sistem Manajemen Basis Data Teknik Konkurensi

Slides:



Advertisements
Presentasi serupa
OVERVIEW • Transaksi merupakan bagian dari pengeksekusian sebuah program yang melakukan pengaksesan basis data dan bahkan juga melakukan serangkaian pengubahan.
Advertisements

Pertemuan ke-2 Oleh : Muh. Lukman Sifa, Ir.
Penerapan Locking pada DBMS berbasis Web
Backup dan Recovery.
Manajemen Transaksi & Kontrol Konkurensi
SISTEM BERBASIS KASUS Dr. Sri Kusumadewi, S.Si., MT.
F 1 P = F x DF 1. Discounting Factor
Arief Cahyo S Rachmad Wahyudi S Abdul Qodir Jailani M. Choirur Rozi Rahmat Aidil FR
9 KUALITAS DATA.
Deadlock.
Proteksi data BASIS DATA.
Presentasi Keamanan Basis Data “Transaction Management”
OPERATOR LOGIKA Berikut adalah operator logika :
Wahyu Sudrajat, S. Kom PENGANTAR DATA TERDISTRIBUSI Analisis Masalah.
Pengantar basis data PROGRAM STUDI PENDIDIKAN TEKNIK INFORMASI DAN KOMPUTER (PTIK) JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK – UNIVERSITAS NEGERI MAKASSAR.
BASIS DATA Proteksi data.
Desain Arsitektur Sistem
DATABASE CONTROL.
Proteksi data BASIS DATA.
PENGONTROLAN KONKURENSI & RECOVERY
Proteksi data (recovery)
Administrasi Basis Data
TRANSAKSI DAN PENGENDALIAN PERSAINGAN
1 OTORISASI. Aturan Otorisasi Aturan otorisasi: kontrol yang melekat dalam sistem manajemen data yang membatasi akses thd data dan tindakan- tindakan.
PERTEMUAN 8 Teknik recovery.
Manajemen Transaksi (1)
Transaksi Konsep Transaksi Status transaksi
KONKURENSI.
BAB 1 Pengenalan Database dan DBMS
Collabnet Overview v Informatika BAB XIII Menangani Transaksi.
TRANSACTION MANAGEMENT
TRANSAKSI DAN PENGENDALIAN PERSAINGAN
1 concurrency. Concurrency Sejumlah transaksi diperkenankan untuk mengakses data yang sama dalam aktu yang bersamaan.
Deadlock Edi Sugiarto, S.Kom.
DEADLOCK.
Serializabilitas Two Phase Locking
Wahyu nurjaya wk, st., m.kom.
Manajemen Transaksi #5 D. SINAGA, M.KOM.
Recovery Adapted from: Connolly, Thomas., et.al., Database System. Wokingham England: Addison-Wesley Publishing Company.
Share Data & Transaction
Proteksi data BASIS DATA.
Pengantar Client Server
Pengamanan Sistem Basis Data
Pertemuan 13 LINGKUNGAN DATABASE.
Backup & Recovery.
TRANSACTION MANAGEMENT
Brilliani Ayunda Putri
TRANSAKSI DAN PENGENDALIAN PERSAINGAN
Sistem Basis Data ABU SALAM, M.KOM.
Bab 2 Mengenal Data Base Management System (DBMS)
Sinkronisasi dan Deadlock
Materi Kuliah ke 14 Proteksi data BASIS DATA.
Sistem Manajemen Basis Data
Pertemuan <<10>> Transaksi Manajemen
Keamanan database Jimmy Baharuddin
Sistem Basis Data (Kuliah 2)
PENGENDALIAN DEADLOCK
Serializabilitas Two Phase Locking
DEADLOCK KELOMPOK 8 Sistem Operasi Budi Nofianto
Sistem Operasi: Deadlock
Konkurensi (Lanjutan)
Transaksi Konsep Transaksi Status transaksi
Koordinasi Antar Proses DI DALAM SISTEM TERDISTRIBUSI
PROTEKSI DATA SBD - 12.
Proteksi data (concurrency)
Pemulihan Basis Data D. Sinaga, M.Kom.
Manajemen Transaksi D. SINAGA, M.KOM.
BASIS DATA TERDISTRIBUSI
Lingkungan Basis Data.
Proteksi Data Pertemuan 13.
Transcript presentasi:

Sistem Manajemen Basis Data Teknik Konkurensi Lintang Yuniar Banowosari http://staffsite.gunadarma.ac.id/lintang

Pengontrolan Konkurensi Pengontrolan konkurensi merupakan salah satu fungsi dari DBMS Pada DBMS terpusat yang multi-user, dapat mengakses sejumlah transaksi pada waktu bersamaan. Transaction (transaksi) adalah suatu aksi atau serangkaian aksi yang dilakukan oleh seorang pemakai atau suatu program aplikasi, dimana dapat mengakses atau mengubah isi dari database. Dua hasil transaksi adalah commit atau rollback. Jika transaksi berjalan sukses maka dikatakan commit, sebaliknya jika transaksi tidak berjalan sukses maka transaksi ibatalkan dan kembali ke keadaan semula dikatakan rollback.

Pengontrolan Konkurensi Untuk menjamin transaksi-transaksi yang dilakukan bersamaan berjalan sukses tanpa adanya tumpang tindih maka dibutuhkan mekanisme pengontrolan konkurensi, jika tidak timbul permasalahan: Lost update Uncommited dependency Inconsistent analysis

Permasalahan Konkurensi Lost update/kehilangan modifikasi. Permasalahan timbul pada saat operasi update berjalan sukses kemudian ditindih oleh operasi update lain yang dilakukan oleh pemakai lain.

Permasalahan Konkurensi Lost update/kehilangan modifikasi. T1 Waktu T2 begin_transaction read(x) x=x-10 write(x) commit t1 t2 t3 t4 t5 t6 x=x+100

Permasalahan Konkurensi Lost update/kehilangan modifikasi.

Permasalahan Konkurensi Uncommited dependency / ketergantungan pada saat belum commit Permasalahan timbul pada saat transaksi dibiarkan melihat hasil dari transasksi lain yang belum commit. Masalah ini timbul jika transaksi membaca suatu record yang sudah dimodifikasi oleh transaksi lain tetapi belum terselesaikan (uncommited), terdapat kemungkinan kalau transaksi tersebut dibatalkan (rollback).

Permasalahan Konkurensi Uncommited dependency T1 Waktu T2 begin_transaction read(x) x=x-10 write(x) commit t1 t2 t3 t4 t5 t6 t7 t8 x=x+100 rollback

Permasalahan Konkurensi Uncommited dependency

Permasalahan Konkurensi Inconsistent analysis / analisis yang tidak konsisten Permasalahan timbul apabila suatu transaksi membaca beberapa nilai tetapi transasksi berikutnya memodifikasi salah satu nilai.

Permasalahan Konkurensi Inconsistent analysis T1 Waktu T2 begin_transaction read(x) x=x-10 write(x) read(z) z=z+10 write(z) commit t1 t2 t3 t4 t5 t6 t7 t8 t9 t10 t11 sum=0 sum=sum+x read(y) sum=sum+y sum=sum+z

Permasalahan Konkurensi Inconsistent analysis Nilai 1 = 40 Nilai 2 = 50 Nilai 3 = 30 Transaksi A menjumlahkan nilai 1, 2 dan 3 Transaksi B nilai 1 + 10 dan nilai 3 - 10

Catatan Commit adalah operasi yang menyatakan bahwa suatu transaksi sudah terselesaikan/ sukses (successfull end-of-transaction). Rollback adalah operasi yang menyatakan bahwa suatu transaksi dibatalkan (unsuccessfull end-of-transaction).

TEHNIK PENGONTROLAN KONKURENSI Locking Apabila suatu transaksi mengakses suatu data maka suatu lock (kunci) dapat mencegah pengaksesan oleh transasksi lain. Timestamping Timestamping merupakan suatu identitas waktu dimulainya suatu transasksi.Timestamping mengatur prioritas transaksi berdasarkan timestamp. Timestamp terkecil merupakan transaksi paling duluan, jika terjadi konflik transaksi direstart. Optimistic Konflik jarang terjadi, semua transaksi dieksekusi dan pada saat commit, dicek kembali, jika ada konflik transaksi direstart.

Matrik Locking Konsep dasar : Ketika suatu transaksi memerlukan jaminan kalau record yang diingini tidak akan berubah secara mendadak, maka diperlukan kunci untuk record tersebut. Fungsi kunci (lock) adalah menjaga record tersebut agar tidak dimodifiksi transaksi lain.

Matrik Locking Cara kerja dari kunci : Kita asumsikan terdapat 2 (dua) macam kunci : Kunci X (kunci eksklusif) dan kunci S (kunci yang digunakan bersama-sama) Jika transaksi A menggunakan kunci X pada record R, maka permintaan dari transaksi B harus menunggu sampai nanti transaksi A melepaskan kunci Jika transaksi A menggunakan kunci S pada record R, Maka : Bila transaksi B ingin menggunakan kunci X, maka B harus menunggu sampai A melepaskan kunci tersebut. Bila transaksi B ingin menggunakan kuni S, maka B bisa menggunakan kunci S bersama A

Matrik Locking Bila suatu transaksi hanya melakukan pembacaan saja, secara otomatis ia memerlukan kunci S. Bila transaksi tersebut ingin memodifikasi record, maka secara otomatis ia memerlukan kunci X. Bila transaksi tersebut sudah menggunakan kunci S, setelah itu ia akan memodifikasi record, maka kunci S akan dinaikkan ke level kunci X. Kunci X dan kunci S akan dilepaskan pada saat Synchpoint (synchronization point). Bila synchpoint ditetapkan maka: semua modifikasi program menjalankan operasi COMMIT atau ROLLBACK semua kunci dari record dilepaskan

Matrik Locking Transaksi A X S - N Y Transaksi B

PENYELESAIAN MASALAH DENGAN LOCKING Penyelesaian masalah lost update Penyelesaian masalah lost update dengan locking menimbulkan deadlock dimana kedua transaksi sama-sama menunggu. T1 Waktu T2 begin_transaction read(x) ….. kunci S x=x-10 WAIT t1 t2 t3 t4 t5 x=x+100

PENYELESAIAN MASALAH DENGAN LOCKING Penyelesaian masalah uncommited dependency T1 waktu T2 begin_transaction read(x) WAIT read(x) ….. kunci S x=x-10 ….. kunci X write(x) commit t1 t2 t3 t4 t5 t6 t7 t8 t9 t10 x=x+100 … kunci X rollback

PENYELESAIAN MASALAH DENGAN LOCKING Penyelesaian masalah inconsistent analysis Penyelesaian masalah dengan locking juga menimbulkan masalah deadlock. T1 Waktu T2 begin_transaction read(x) ….. kunci S x=x-10 WAIT t1 t2 t3 t4 t5 t6 sum=0 sum=sum+x