PENGONTROLAN KONKURENSI & RECOVERY

Slides:



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

Penerapan Locking pada DBMS berbasis Web
Backup dan Recovery.
Manajemen Transaksi & Kontrol Konkurensi
Sistem Manajemen Basis Data Teknik Konkurensi
Arief Cahyo S Rachmad Wahyudi S Abdul Qodir Jailani M. Choirur Rozi Rahmat Aidil FR
Proteksi data BASIS DATA.
Presentasi Keamanan Basis Data “Transaction Management”
PERENCANAAN KEAMANAN DATA
BASIS DATA Proteksi data.
DATABASE CONTROL.
Basisdata & Sistem Basisdata
Proteksi data BASIS DATA.
KEINTEGRITASAN & PENGAMANAN DATA/BASIS DATA
Proteksi data (recovery)
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.
1 Pertemuan > Rancangan Konseptual Model ER Matakuliah: >/ > Tahun: > Versi: >
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
1 Membuat proposal proyek sisfo (PENGENDALIAN) Materi Pertemuan 25.
TRANSAKSI DAN PENGENDALIAN PERSAINGAN
1 concurrency. Concurrency Sejumlah transaksi diperkenankan untuk mengakses data yang sama dalam aktu yang bersamaan.
Sistem Operasi Pertemuan 24.
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.
Sistem Basis Data ABU SALAM, M.KOM.
Database Management Systems Bab 9 Overview Manajemen Transaksi (Chap
Proteksi data BASIS DATA.
Pengamanan Sistem Basis Data
Backup & Recovery Sistem Basis Data.
Pertemuan 13 LINGKUNGAN DATABASE.
Backup & Recovery.
TRANSACTION MANAGEMENT
Brilliani Ayunda Putri
Konsep Teknologi Informasi B
TRANSAKSI DAN PENGENDALIAN PERSAINGAN
Sistem Basis Data ABU SALAM, M.KOM.
Bab 2 Mengenal Data Base Management System (DBMS)
SINKRONISASI & DEADLOCK
SISTEM DATABASE.
Materi Kuliah ke 14 Proteksi data BASIS DATA.
Basisdata & Sistem Basisdata
Sistem Manajemen Basis Data
Pertemuan <<10>> Transaksi Manajemen
Keamanan database Jimmy Baharuddin
STRUKTUR SISTEM OPERASI
LINGKUNGAN DATABASE Arsitektur Database
introduction database system
Serializabilitas Two Phase Locking
DEADLOCK KELOMPOK 8 Sistem Operasi Budi Nofianto
LINGKUNGAN DATABASE LANJUTAN
Konkurensi (Lanjutan)
Transaksi Konsep Transaksi Status transaksi
Koordinasi Antar Proses DI DALAM SISTEM TERDISTRIBUSI
Pemulihan Basis Data D. Sinaga, M.Kom.
PERANCANGAN BASIS DATA
Manajemen Transaksi D. SINAGA, M.KOM.
SISTEM MANAJEMEN FILE.
BASIS DATA TERDISTRIBUSI
Pengendaian Mutu SIM Pengendalian organisasi Pengendalian dokumentasi
Lingkungan Basis Data.
Proteksi Data Pertemuan 13.
Transcript presentasi:

PENGONTROLAN KONKURENSI & RECOVERY Bertalya Program SARMAG, Universitas Gunadarma 2008

ALASAN PENGONTROLAN KONKURENSI Lebih dari satu pengguna (pada DBMS terpusat) dapat melakukan operasi pada basis data secara simultan Jika tidak dikontrol, hal ini dapat menyebab kan interferensi satu sama lain sehingga basis data menjadi tidak konsisten Untuk mencegahnya, DBMS mengimple-mentasikan pengontrolan konkurensi

TRANSAKSI Merupakan suatu aksi atau serangkaian aksi, dilakukan oleh seorang pengguna atau program aplikasi, yang mengakses atau mengubah konten basis data Mentransformasikan basis data dari suatu keadaan konsisten ke yg lain. Contoh: Perintah INSERT atau UPDATE Serangkaian operasi pada basis data

DUA OUTCOME DARI TRANSAKSI 1. COMMIT Jika operasi berjalan sukses, maka transaksi disebut commited , basis data mencapai kondisi konsisten yg baru

DUA OUTCOME DARI TRANSAKSI (lanj.) 2. ABORT Jika operasi berjalan tidak sukses, maka transaksi disebut aborted (gagal) Jika transaksi gagal maka basis data kembali ke keadaan konsisten sebelum transaksi dimulai. Disebut roll back atau undone

PERNYATAAN TRANSAKSI DALAM DBMS BEGIN TRANSACTION COMMIT ROLLBACK

PROPERTI TRANSAKSI (ACID) ATOMICITY Properti ‘semua atau tidak sama sekali’. Transaksi dilaksanakan keseluruhan atau tidak dilaksanakan sama sekali. CONSISTENCY Transaksi harus mentransformasikan basis data dari kondisi konsisten ke kondisi konsisten lain

PROPERTI TRANSAKSI (ACID) (lanj.) INDEPENDENCE Transaksi dieksekusi berdiri sendiri. Efek dari transaksi yg tidak selesai tidak terlihat pada transaksi lain. DURABILITY Efek transaksi yg sukses secara permanen disimpan dalam basis data.

DEF. PENGONTROLAN KONKURENSI Proses pengelolaan operasi pada basis data secara simultan tanpa saling berinterferensi satu sama lain Pengaksesan konkuren yg hanya membaca data, tidak akan saling ber-interferensi, tetapi apabila ada yg mengupdate data, akan saling berinterferensi & menyebabkan terjadi ketidakkonsistenan.

3 MASALAH KONKURENSI 1. Lost update (modifikasi yg hilang) Masalah operasi update yg sukses dari seorang pengguna kemudian ditimpali oleh operasi update dari pengguna lain 2. Uncommited dependency (ketergantung an yg tidak sukses/modifikasi sementara) Masalah terjadi saat suatu transaksi membaca data dari transaksi lain yg belum dicommit 3. Inconsistent analysis Masalah terjadi saat satu transaksi membaca beberapa nilai tetapi transaksi kedua pd waktu sama memodifikasi nilai tersebut.

MASALAH MODIFIKASI YANG HILANG

MASALAH MODIFIKASI SEMENTARA

MASALAH ANALISIS YG TIDAK KONSISTEN

OBJEKTIF PENGONTROLAN KONKURENSI Penjadualan transaksi untuk mencegah adanya saling interferensi. Hanya satu transaksi dieksekusi pada satu waktu : satu transaksi di-commit sebelum transaksi lain diperkenankan untuk mulai. Transaksi dapat dilakukan pada sistem paralel, dengan cara penjadualan bersama.

SERIALIZABILITY Schedule atau jadual merupakan urutan dari operasi read & write secara bersamaan pada sekumpulan transaksi yg konkuren. Serial schedule merupakan jadual dimana operasi2 setiap transaksi dieksekusi secara berurutan tanpa terselip operasi dari transaksi lain Nonserial schedule merupakan jadual dimana operasi2 dari sekumpulan transaksi konkuren dapat saling menyelip. Serializable berarti jika jadual (nonserial) menghasilkan hasil yg sama seperti halnya jadual serial lainnya

SERIALIZABILITY (lanj.) Urutan operasi sangat penting Jika 2 transaksi hanya melakukan operasi read data, maka tidak terjadi konflik & urutan operasi tidak penting Jika 2 transaksi melakukan operasi read & write pada data yg berbeda, maka tidak terjadi konflik & urutan operasi tidak penting Jika satu transaksi melakukan operasi write data & yg lain melakukan operasi read & write pada data yg sama, maka urutan eksekusi sangat penting

METODE UNTUK MENJAMIN SERIALIZABILITY 1. LOCKING 2. TIMESTAMPING Keduanya konservatif (pesimistik) karena transaksi ditunda untuk mencegah konflik dg transaksi lain di waktu kemudian. METODE OPTIMISTIC Berasumsi bhw konflik jarang terjadi sehingga proses tetap berjalan & pengecekan dilakukan pada saat transaksi sudah di-commit

METODE LOCKING Prosedur untuk mengontrol pengaksesan data secara konkuren. Apabila satu transaksi mengakses basis data, suatu lock (kunci) akan menolak pengaksesan transaksi lain utk mencegah modifikasi yg tidak benar

2 KUNCI 1. Kunci READ / S (digunakan bersama) Jika transaksi mempunyai kunci read terhadap suatu data, maka dia dapat melakukan operasi read tetapi tidak dapat melakukan operasi update terhadap data tsb. 2. Kunci WRITE / X (eksklusif) Jika transaksi mempunyai kunci write terhadap suatu data, maka dia dapat melakukan operasi read maupun operasi update terhadap data tsb.

ATURAN LOCKING Transaksi yg akan mengakses suatu data harus terlebih dahulu menguncinya, meminta kunci S jika hanya melakukan read data saja atau kunci X jika untuk melakukan operasi read & write. Jika data tsb belum dikunci oleh transaksi apapun, maka kunci diperkenankan.

ATURAN LOCKING (lanj.) Jika data tsb telah dikunci, maka DBMS menentukan apakah kunci yg diminta sesuai dg yg ada. Jika kunci read yg diminta sama dengan kunci read yg telah ada, maka permintaan diperkenankan, selain itu maka transaksi harus menunggu (wait) sampai kunci write dilepaskan. Transaksi terus menahan suatu kunci sampai dilepaskan secara eksplisit selama eksekusi atau telah selesai.

Matriks LOCKING

PROTOKOL TWO-PHASE LOCKING (2PL) Protokol untuk menjamin serializability Suatu transaksi mengikuti protokol Two-phase locking jika semua operasi penguncian mendahului operasi membuka kunci terlebih dahulu dalam suatu transaksi.

Phase 1: Growing Phase Transaksi dapat memperoleh kunci Transaksi tidak boleh melepaskan kunci Phase 2: Shrinking Phase Transaksi boleh melepaskan kunci Transaksi tidak dapat memperoleh kunci

2PL UNTUK MASALAH KEHILANGAN MODIFIKASI

2PL UNTUK MASALAH MODIFIKASI SEMENTARA

2PL UNTUK MASALAH ANALISIS YANG TIDAK KONSISTEN

DEADLOCK Suatu situasi dimana dua atau lebih transaksi masing2 menunggu (wait) suatu kunci yg ditahan oleh transaksi lain, untuk dilepaskan. 2 teknik menangani deadlock 1. deadlock prevention, DBMS mengamati transaksi apakah menimbulkan deadlock & tidak akan membiarkan deadlock terjadi 2. Deadlock prevention and recovery, DBMS membiarkan terjadi deadlock, mengenalinya lalu menanganinya.

TRANSAKSI DEADLOCK

METODE TIMESTAMPING Timestamp, merupakan suatu identifikasi unik dibuat DBMS yg mengindikasikan waktu mulai relatif dari suatu transaksi. Dengan waktu sistem atau penambahan pada kounter logik setiap waktu transaksi mulai. Suatu protokol yg menyusun transaksi2 secara global, dimana transaksi yg tertua, transaksi dg timestamp terkecil, mendapat prioritas utama dari konflik transaksi tsb.

METODE OPTIMISTIC Berbasis pada asumsi bahwa pada lingkungan tertentu, jarang terjadi konflik, sehingga lebih efisien membiarkan transaksi dieksekusi. Kemudian pada saat akan di-commit, diidentifikasi apakah akan timbul konflik, jika ya maka transaksi harus di rollback atau di proses ulang.

PENGONTROLAN RECOVERY Recovery basis data merupakan suatu proses penyimpanan kembali basis data pada keadaan yang benar sebelum terjadi kegagalan(failure).

PENYEBAB KEGAGALAN System crash (kerusakan sistem), akibat kesalahan pada perangkat keras atau lunak, menyebabkan kehilangan memori utama Media failure (kegagalan pada media), seperti media tidak dapat dibaca, menyebabkan kehilangan sebagian dari penyimpanan sekunder Application software error (kesalahan pada perangkat lunak aplikasi, seperti kesalahan logika yg mengakses basis data menyebab kan satu atau lebih transaksi mengalami kegagalan

AKIBAT YG TIMBUL KRN KESALAHAN (lanj.) Natural physical disasters (bencana fisik yg natural), seperti kebakaran, air bah, gempa Carelessness (kekurangtelitian atau kerusakan pada data atau fasilitas yg tidak disengaja disebabkan oleh operator atau pengguna Sabotase, kerusakan pada data, fasilitas perangkat lunak & keras yg disengaja

FASILITAS RECOVERY PADA DBMS Mekanisme backup melakukan backup secara periodik terhadap basis data yang ada Fasilitas Logging Mencatat transaksi-transaksi dan perubahan-perubahan yang terjadi terhadap basis data. DBMS memelihara file khusus yang disebut Log (Journal) yang menyediakan informasi mengenai seluruh perubahan yang terjadi pada basis data. Fasilitas Checkpoint Mengizinkan update terhadap basis data yang akan menjadi basis data yang permanen Manager recovery Mengizinkan sistem untuk menyimpan kembali basis data ke keadaan sebelum terjadi kegagalan

TEKNIK RECOVERY Prosedur recovery yang digunakan tergantung dari kegagalan yang terjadi pada basis data. Terdapat 2 kasus kerusakkan : 1. Jika basis data rusak secara fisik seperti : disk head crash dan menghancurkan basis data, maka yang terpenting adalah melakukan menyimpan kembali backup basis data yang terakhir dan mengaplikasikan kembali operasi-operasi update transaksi yang telah commit dengan menggunakan log file. Dengan asumsi bahwa log file-nya tidak rusak.

TEKNIK RECOVERY (lanj.) 2. Jika basis data tidak rusak secara fisik tetapi menjadi tidak konsisten, sebagai contoh : sistem crash sementara transaksi dieksekusi, maka yang perlu dilakukan adalah membatalkan perubahan-perubahan yang menyebabkan basis data tidak konsisten. Mengulang beberapa transaksi sangat diperlukan juga untuk meyakinkan bahwa perubahan2 yang dilakukan telah disimpan di dalam secondory storage. Di sini tidak perlu menggunakan salinan backup basis data, tetapi dapat me-restore basis data ke dalam keadaan yang konsisten dengan menggunakan before- dan after-image yang ditangani oleh log file.

TEKNIK RECOVERY (lanj.) Teknik recovery berikut ini dilakukan terhadap situasi dimana basis data tidak rusak tetapi basis data dalam keadaan yang tidak konsisten. 1. Deferred Update Update tidak dituliskan ke basis data sampai sebuah transaksi dalam keadaan commit. Jika transaksi gagal sebelum mencapai keadaan ini, transaksi ini tidak akan memodifikasi basis data dan juga tidak ada perubahan2 yang perlu dilakukan.

Penulisan dilakukan secara initial hanya terhadap log dan log record yang digunakan untuk actual update terhadap basis data. Jika sistem gagal, sistem akan menguji log dan menentukan transaksi mana yang perlu dikerja kan ulang, tetapi tidak perlu membatalkan semua transaksi. 2. Immediate Update Update diaplikasikan terhadap basis data tanpa harus menunggu transaksi dalam keadaan commit. Update dapat dilakukan terhadap basis data setiap saat setelah log record ditulis. Log dapat digunakan untuk membatalkan dan mengulang kembali transaksi pada saat terjadi kegagalan.