Administrasi Basis Data. Transaksi dan Lock. Yoannita

dokumen-dokumen yang mirip
Kusnawi, S.Kom, M.Eng

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

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

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

MANAJEMEN TRANSAKSI. Alif Finandhita, S.Kom

Transaction & Conccurency

Administrasi Basis Data. Integritas Data. Yoannita

Modul Praktikum Sistem Basis Data 2010

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

MODUL 10 TRANSACTION

Transaksi. by: Ahmad Syauqi Ahsan

BAB V IMPLEMENTASI DAN PENGUJIAN

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

Manajemen Transaksi (Penjadwalan & Kontrol konkurensi)

IMPLEMENTASI CONCURENCY CONTROL UNTUK APLIKASI MULTIUSER MENGGUNAKAN DATABASE SQL SERVER. Wiwi Widayani STMIK AMIKOM Yogyakarta

DEADLOCK & RECOVERY SYSTEM

Administrasi Basis Data. Yoannita

Nama : Putra Adi Nugraha dan Priska Kalista Kelas : B

BAB IV IMPLEMENTASI DAN PENGUJIAN

Pertemuan IX MANAJEMEN TRANSAKSI

PENGAMANAN SISTEM basis DAta

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

IMPLEMENTASI CONCURENCY CONTROL UNTUK APLIKASI MULTIUSER MENGGUNAKAN DATABASE SQL SERVER Wiwi Widayani

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

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

PENGONTROLAN BERBASIS KOMPUTER

PRAKTIKUM SISTEM BASIS DATA TUGAS 1 MANGROVE PERCETAKAN. Penyusun : Nama : Edi Sastrawijoyo NIM : Prodi : Teknik Informatika

KEAMANAN KOMPUTER. Pertemuan 12

MODUL VIII BASIS DATA TRANSACTION

Gambar Layar pertama untuk pemecahan masalah Lost Update

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

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

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

RECOVERY SYSTEM. Alif Finandhita, S.Kom

DISTRIBUTED TRANSACTIONS

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

DATABASE CONTROL 1. SECURITY DATABASE. Suzan Agustri 81

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

BAB 3 ANALISIS DAN PERANCANGAN SISTEM

Praktikum MONITORING AND RESOLVING LOCK CONFLICTS. Tujuan :

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

Perangkat keras Kebakaran, banjir, bom, pencurian, listrik, gempa, radiasi, kesalahan mekanisme keamanan

Administrasi Basis Data. Index. Yoannita

Transaksi dan Data Integrity

BAB 4 IMPLEMENTASI DAN EVALUASI

Andi Dwi Riyanto, M.Kom

STRUCTURE QUERY LANGUAGE DDL & DML

MANAGEMEN TRANSAKSI. Ferdi Yusuf #1

Mekanisme Penanganan Deadlock Dalam Pemrosesan Transaksi Oleh DBMS Menggunakan Algoritma Backtracking

PERTEMUAN 9 MANIPULASI DATA

SEKOLAH TINGGI MANAJEMEN INFORMATIKA & KOMPUTER JAKARTA STI&K SATUAN ACARA PERKULIAHAN

Transaction & Conccurency

Database Systems: Lab. Actvity 3: Fungsi-Fungsi MySql Advance. Pendahuluan. Pendahuluan

LINGKUNGAN DATABASE Baca R Modifikasi R -

BAB VI PROTEKSI DATA (DATABASE CONTROL)

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

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

Ada dua cara untuk melakukan backup dan pemulihan Oracle: Recovery Manager dan dikelola pengguna backup dan pemulihan.

GAMBAR 4.21 TRANSACTION EDUCATION SEARCH AVAILABLE REGISTRATION Halaman diatas akan tampil jika user menekan icon search pada halaman transaction ->

BAB IV ANALISIS DAN PERANCANGAN

Oracle Academic Initiative

PENGONTROLAN BERBASIS KOMPUTER

Transaction dan Trigger. M. Saefudin SKom, MMSI

BAB V CURSOR AND RESULT SETS

MENGAKSES DATABASE DENGAN JDBC

MODUL 1. Pembuatan tabel, pendefinisian constraint, export dan import PRAKTIKUM BASIS DATA LANJUT TEKNIK PERANGKAT LUNAK UNIVERSITAS PGRI RONGGOLAWE

SISTEM BASIS DATA BACKUP DAN RECOVERY. Backup Data. Restore Data. DENI HERMAWAN Informatika

Cursor. M. Saefudin SKom, MMSI

BAB 4 IMPLEMENTASI DAN EVALUASI

LATAR BELAKANG IBM San Jose Research Laboratory.

KONSEP DATABASE ORACLE BKPM 1

SISTEM BASIS DATA By Novareza Klifartha

LINGKUNGAN DATABASE LANJUTAN

DASAR-DASAR SQL SERVER 2005

Database Security. Kelompok 1 TEKNIK INFORMATIKA UIN SUSKA 2015

Mengelola Data. Oleh: Arif Basofi

PENGONTROLAN KONKURENSI

PENGENALAN MICROSOFT SQL SERVER

Konsep Dasar Basis Data. Oleh: Harnan Malik Abdullah, ST., MSc. Program Pendidikan Vokasi Universitas Brawijaya 2017

PERTEMUAN 10 PEMBUATAN TABEL

6. Kumpulan data yang diorganisir menggunakan metode tertentu sehingga menghasilkan informasi yang berguna bagi pemakainya, pengertian dari: JAWAB:

Data Manipulation Language (DML) & Data Control Language (DCL) pada Database

PENGANTAR BASIS DATA

DATABASE ADMINISTRATOR

MERANCANG WEB DATA BASE UNTUK CONTENT SERVER

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

Spesifikasi: Ukuran: 14x21 cm Tebal: 159 hlm Harga: Rp Terbit pertama: Maret 2005 Sinopsis singkat:

Backup & Recovery System. Teknik Informatika

Pertemuan DDL INDIKATOR. Modul Teori Database Aknela

Pembuatan Disaster Recovery Planning SQL Server dengan Metode Log Shipping

KEAMANAN SISTEM BASIS DATA

Pemodelan Basis Data. Rima Dias Ramadhani, S.Kom., M.Kom Wa:

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

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

ESTIMASI QUERY. Sistem Basis Data. Gentisya Tri Mardiani, M.Kom

TUGAS I PRAKTIKUM SISTEM BASIS DATA. Nama: Krisna Pandu Wibowo( )

TUGAS 1 PRAKTIKUM SISTEM BASIS DATA

SECURITY SYSTEM BASIS DATA

3. Apa kekurangan paging sederhana dibandingkan dengan paging pada virtual memory?

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

Transkripsi:

Administrasi Basis Data Transaksi dan Lock Yoannita

Mengenal Transaksi dan Lock Transaksi dan lock dipakai untuk menjamin konsistensi dan integritas data. Transaksi adalah sebuah unit kerja logis yang berisi sekumpulan perintah. Lock mencegah konflik antarpemakai sehingga seorang user tidak dapat membaca atau mengubah data yang sedang diubah oleh user lain. Transaksi memakai lock untuk mencegah user mengubah data yang sedang dipakai oleh transaksi.

Mengenal Transaksi dan Lock Setiap database SQL Server mempunyai sebuah log transaksi yang mencatat semua transaksi dan modifikasi database yang dibuat oleh transaksi. Log tersebut mendukung 3 operasi : Proses Recovery dari transaksi-transaksi tunggal Proses Recovery semua transaksi yang belum selesai pada saat SQL Server dimulai Mengembalikan database ke keadaan semula setelah terjadi kegagalan

Proses Recovery dari transaksi-transaksi tunggal Jika sebuah aplikasi menjalankan perintah ROLLBACK atua SQL Server mendeteksi sebuah kesalahan, record-record dalam log dipakai untuk kembali ke data sebelum transaksi dimulai

Proses Recovery semua transaksi yang belum selesai pada saat SQL Server dimulai Jika SQL Server berhenti tiba-tiba karena sesuatu hal, database mungkin dalam keadaan sedang mengalami perubahan yang belum ditulis ke file data. Jika SQL Server dimulai, proses recovery akan dijalankan pada setiap database. Setiap modifikasi yang dicatat di dalam log dan belum ditulis ke dalam file data akan dikembalikan ke keadaan sebelum transaksi dimulai. Hal ini untuk menjaga integritas database.

Mengembalikan database ke keadaan semula setelah terjadi kegagalan Setelah terjadi kegagalan pada harddisk, Anda dapat mengembalikan data pada keadaan sebelum terjadi kerusakan.

Log Transaksi Log transaksi bukanlah sebuah tabel, tetapi merupakan sebuah file atau beberapa file terpisah dalam database. Cache dari log adalah tempat terpisah dari cache buffer untuk page data. Bentuk data dalam log tidaklah sama dengan format dari page data. Anda dapat membuat log transaksi menjadi beberapa file. Anda juga dapat mengatur pertumbuhan file log sehingga menghindari ukuran log yang tidak terkontrol.

Log Transaksi Log transaksi dapat dianggap sebagai sebuah string serial dari record-record log. Log Sequence Number (LSN) mengidentifikasi setiap record log. Record log baru ditulis pada akhir log dengan LSN lebih tinggi dari LSN record sebelumnya. Record log untuk modifikasi data dapat berupa operasi yang dilakukan atau data sebelum dan sesudah terjadi perubahan.

Log Transaksi Beberapa operasi yang dicatat di dalam log transaksi : Awal dan akhir transaksi Setiap perubahan data (INSERT, UPDATE, dan DELETE) Setiap perluasan alokasi atau dealokasi. Pembuatan dan penghapusan tabel atau index

Log Transaksi Record-record log disimpan secara serial sesuai dengan pembuatannya. Untuk sebuah transaksi, semua record log dari transaksi tersebut dihubungkan dengan menggunakan pointer agar proses rollback dapat dilakukan.

Log Transaksi Pernyataan ROLLBACK tidak dimasukkan ke dalam log transaksi. Setiap transaksi menyediakan sejumlah tempat di log transaksi agar proses rollback dapat dilakukan. Tempat tersebut akan dibebaskan pada saat transaksi selesai. Jumlah tempat yang disediakan tergantung pada operasi yang dilakukan transaksi, tetapi pada umumnya sama dengan jumlah tempat yang dipakai untuk setiap operasi.

Properti ACID Sebuah transaksi harus memenuhi empat kriteria yang dikenal dengan properti ACID. SQL Server menyediakan mekanisme agar sebuah transaksi memenuhi keempat kriteria tersebut : Atomicity Consistency Isolation Durability

Properti ACID (i) : Automicity Semua modifikasi dalma sebuah transaksi dianggap sebagai satu kesatuan, semua modifikasi akan berhasil atau semua akan gagal. SQL Server memberikan mekanisme yang secara otomatis menentukan apakah transaksi berhasil atau tidak.

Properti ACID (i) : Automicity Misalnya adalah sebuah transaksi untuk mentransfer uang melalui bank. Ada dua perubahan yang harus dilakukan. Rekening pengirim harus dikurangi dan rekening penerima harus ditambah. Kedua modifikasi tersebut merupakai sebuah kesatuan. Jika rekening pengirim berhasil dikurangi tetapi rekening penerima tidak berhasil ditambah, maka transaksi dibatalkan dan data dikembalikan ke keadaan semula.

Properti ACID(ii) : Consistency Semua data dalam keadaan konsisten. Integritas data dijaga setelah transaksi selesai, baik berhasil atau gagal. Sebelum transaksi dimulai, database berada dalam keadaan konsisten artinya index pohon B+ dan list gandanya dalam keadaan benar. Setelah transaksi selesai, database juga dalam keadaan konsisten.

Properti ACID(iii) : Isolation Efek dari setiap transaksi dama dengan jika hanya ada transaksi tersebut di dalam sistem, modifikasi oleh sebuah transaksi diisolasi (tidak dipengaruhi) oleh modifikasi yang dilakukan oleh transaksi lain. Dengan cara ini sebuah transaksi tidak akan dipengaruhi oleh nilai yang diubah oleh transaksi lain sampai perubahan selesai (transaksi di-commit). Jika sebuah transaksi gagal, modifikasimodifikasi yang dilakukan dibatalkan dengan proses rollback.

Properti ACID(iv) : Durability Sekali transaksi dicommit (selesai) efek dari transaksi akan bersifat permanen di dalam database. Jika SQL Server, sistem operasi, atau sebuah komponen server gagal, secra otomatis database akan dikembalikan ke keadaan pada saat SQL Server dimulai. SQL Server memakai log transaksi untuk mengembalikan ke keadaan semula

Level-Level Isolasi Setting yang menentukan level sebuah transaksi menerima data yang tidak konsisten, yaitu tingkatan sebuah transaksi diisolasi dari transaksi lain. Semakin tinggi tingkat isolasi semakin tinggi keakuratan data. Level-level isolasi dari terendah sampai tertinggi adalah : read uncommitted, read committed, repeatable read, serializable.

Level Isolasi : Read Uncommitted Level isolasi terendah. Pada level ini, transaksi diisolasi hanya untuk menjadi data yang rusak secara fisik tidak dapat dibaca

Level Isolasi : Read Committed Level default dari SQL Server Pada level ini, pembacaan data diperbolehkan hanya pada data yang telah di-commit. Data yang telah dicommit adalah data yang merupakan bagian permanen dari database. Pada level ini data yang masih belum dicommit (masih dipakai oleh transaksi) tidak dapat dibaca.

Level Isolasi : Repeatable Read Pembacaan berulang pada data yang dipakai oleh sebuah transaksi akan menghasilkan data yang sama

Level Isolasi : Serializable Level tertinggi isolasi Transaksi terisolasi dari transaksi lainnya Hasil yang diperoleh dari transaksi konkuren pada sebuah database sama dengan jika transaksi dijalankan secara serial (satu per satu)

Level Isolasi Level isolasi yang anda pakai menentukan perilaku LOCK untuk semua perintah SELECT yang dilakukan. Anda dapat mengubah level isolasi dengan perintah SET TRANSACTION ISOLATION LEVEL Misalnya mengubah level isolasi menjadi SERIALIZABLE : SET TRANSACTION ISOLATION LEVEL SERIALIZABLE

Level Isolasi Sekali anda mengubah level isolasi untuk sebuah session, transaksitransaksi selanjutnya akan melakukan locking sesuai dengan level isolasinya. Untuk mengetahui level isolasi yang sedang dipakai, gunakan perintah : DBCC USEROPTIONS

Perilaku Transaksi Konkuren Dirty read Sebuah pembacaan data dapat membaca data yang belum di-commit. Dirty read terjadi pada saat sebuah transaksi mengubah data dan transaksi berikutnya membaca data yang diubah sebelum transaksi selesai (commit). Jika transaksi pertama membatalkan perubahan, transaksi kedua membaca data yang tidak ada di dalam database, karena perubahan dibatalkan oleh transaksi yang mengubah data.

Perilaku Transaksi Konkuren Nonrepeatable read Hal ini terjadi pada saat sebuah baris dibaca lebih dari sekali dalam sebuah transaksi, di antara beberapa pembacaan, transaksi lain mengubah baris tersebut. Oleh karena transaksi pertama membaca ulang dengan data yang berbeda, hasilnya tidak berulang dalam transaksi tersebut.

Perilaku Transaksi Konkuren Phantom Read Pembacaan yang terjadi pada saat sebuah transaksi mencoba membaca sebuah data yang tidak ada pada saat transaksi dimulai, tetapi data tersebut ditambahkan oleh transaksi kedua sebelum transaksi pertama selesai. Jika kemudian transaksi pertama mencari data tersebut, data tiba-tiba ditemukan padahal sebelumnya tidak ada. Data tersebut disebut data phantom.

Dirty Read Nonrepeatable Read Phantom Read Read Ya Ya Ya uncommitted Read committed Tidak Ya Ya Repeatable Tidak Ya Tidak read Serializable Tidak Tidak Tidak