Manajemen Basis Data
Manajemen Basis Data
Nama
Jurusan teknik Informatika, Fakultas Teknik dan Ilmu Komputer, Universitas Komputer Indonesia
Jl. Dipati Ukur No. 112-114-116, Bandung 40132
www.unikom.ac.id
email@gmail.com
Abstrak : Transaksi adalah sebuah aksi atau serangkaian aksi, yang dilakukan oleh user atau aplikasi yang
mengakses atau mengubah isi dari database atau dapat juga dikatakan sebagai unit kerja logical (Logical unit of
work) dari suatu database, sehingga yang dimaksud dengan majemen transaksi (transaction management) adalah
pengaturan transaksi-transaksi yang digunakan/diakses oleh suatu aplikasi/sistem. Transaksi-transaksi ini perlu
diatur untuk mempertahankan ACID (atomicity, consistency, isolation, and durability). Selain transaksi terdapat
pula concurrency control atau konkurensi kontrol, concurrency control atau konkurensi kontrol merupakan suatu
sistem manajemen database ( DBMS ) konsep yang digunakan untuk mengatasi konflik dengan mengakses simultan
atau mengubah data yang dapat terjadi dengan sistem multi-user. Kontrol konkurensi, bila diterapkan ke DBMS,
dimaksudkan untuk mengkoordinasikan transaksi simultan sambil menjaga integritas data banyaknya transaksi yang
dijalankan secara bersamaan dalam satu waktu (waktu bersamaan). Serta ada pula recovery system yakni suatu cara
utuk mengembalikan data yang sudah rusak kembali menjadi benar atau baik.
Kata Kunci - Manajemen Transaksi, Transaksi, Kontrol Konkurensi, Recovery System
I.
PENDAHULUAN
1.1. Latar Belakang
Dalam kehidupan sehari-hari kita tidak akan
pernah lepas bahkan jauh dari yang namanya
manajemen transaksi, karena dimanapun kita
berada pasti kita akan merasakan yang namanya
transaksi misalkan saja apabila kita mau jual beli
pasi kita akan mengadakan yang namanya
manajemen transaksi makanya manajemen
transaksi dan kehidupan tidak bisa dilepaskan.
Manajemen transaksi terjadi bukan hanya
ketika kita jual beli atau dalam kehidupan ril kita
namun manajeman transaksi juga bakal kita
rasakan dalam kehidupan program/aplikasi
terutama pada basis data.
dapat
menghasilkan
dua
a.
=
t2
Baca R
=
|
=
Modifikasi R
t3
=
=
|
=
=
t4
Modifikasi R
=
|
=
Transaksi A membaca R pada t1, transaksi B
membaca R pada t2.
Transaksi A memodifikasi R pada t3.
Transaksi B memodifikasi record yang sama pada
t4.
Modifikasi dari transaksi A akan hilang karena
transaksi B akan memodifikasi R tanpa
memperhatikan modifikasi dari transaksi A pada t3
Masalah kehilangan modifikasi sementara
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).
Contoh:
Transaksi A
Waktu
Transaksi B
=
|
=
=
t1
Modifikasi R
=
|
=
Baca R
t2
=
=
|
=
=
t3
rollback
=
|
=
Transaksi B memodifikasi record R pada t1
Transaksi A membaca R pada t2.
Pada saat t3 transaksi B dibatalkan.
Maka transaksi A akan membaca record yang salah
Transaksi A
Waktu
Transaksi B
=
|
=
=
t1
Modifikasi R
=
|
=
Modifikasi R
t2
=
=
|
=
=
t3
rollback
=
|
=
Waktu
|
t1
|
Transaksi B
=
=
=
=
t2
|
t3
|
t4
|
t5
|
t6
=
Baca nilai 3 (30)
=
Modifikasi nilai
3
30 20
=
Baca nilai 1 (40)
=
Modifikasi nilai
1
40 50
=
Commit
|
t7
|
t8
X
S
-
X
N
N
Y
S
N
Y
Y
X = kunci X
S = kunci S
N = No
Y = Yes
Y
Y
Y
Misalkan
untuk
menyelesaikan
kehilangan modifikasi
permasalahan
Transaksi A
=
Baca R
(kunci S)
=
=
Waktu
|
t1
Transaksi B
=
=
|
t2
=
Modifikasi R
(kunci S)
tunggu
=
=
|
t3
=
Baca R
(kunci S)
=
=
|
t4
=
Modifikasi R
(kunci X)
tunggu
|
=
|
=
tunggu
|
tunggu
Pada waktu t3, transaksi A memerlukan kunci X,
maka transaksi A harus menunggu sampai B
melepaskan kunci S.
Transaksi B juga harus menunggu pada t4.
Maka tidak akan ada yang kehilangan modifikasi,
tetapi terdapat keadaan baru yaitu deadlock.
Deadlock, yaitu suatu kondisi dimana ke-2
transaksi dalam keadaan menunggu, sehingga keduanya
tidak akan pernah selesai dieksekusi.
=
Time Stamping
Salah satu alternatif concurrency control yang
dapat menghilangkan deadlock adalah time stamping.
Secara umum, timestamping (TS) adalah penanda
waktu saat transaksi terjadi. Hal ini untuk mengurutkan
eksekusi transaksi agar sama dengan eksekusi serial.
Time stamp dapat berupa:
a.
b.
C. Recovery System
Recovery merupakan upaya untuk mengembalikan
basis data ke keadaaan yang dianggap benar setelah
terjadinya suatu kegagalan.
Terdapat beberapa jenis pemulihan :
1.
2.