Senin, 21 April 2014

TRANSAKSI


1. Pengertian transaksi
Secara sederhana transaksi berarti proses menampilkan dan mengubah data. Menurut Fathansyah transaksi merupakan bagian dari pengeksekusian sebuah program yang melakukan pengaksesan basis data dan bahkan juga melakukan serangkaian perubahan data.

2. Tujuan transaksi
Tujuan dari transaksi adalah menjaga database dari kehilangan data dan kerusakan,seperti system crash dan pengaksesan data yang sama secara bersamaan oleh dua aplikasi yang berbeda yang menimbulkan gangguan.

3. Elemen / sifat pada transaksi
Ada empat elemen/sifat dalam transaksi yang biasa disingkat ACID, yaitu : 
Atomicity,  semua berhasil atau semua gagal
Consistency,  transaksi mempertahankan konsistensi database
Isolation,  transaksi terisolasi satu dengan yang lain
Durability,  setelah commit update harus survive di database

4. Operasi pada transaksi
a. Commit
Transaksi yang telah berhasil dieksekusi sepenuhnya berada dalam status berhasil (committed). Nilai-nilai berada pada status commited akan bersifat menetap (persistent) dan tidak bisa dikembalikan ke nilai semula.

b. Rollback
Transaksi yang gagal atau terhenti pengeksekusianya akan dianggap belum dikerjakan samasekali dan nilai-nilainya akan dikembalikan 

5. Save Point
Save Point merupakan sebuah titik aman, dimana kita telah menyelesaiakan satu atau beberapa transaksi.
Fungsi dari save point adalah supaya pada saat kita ingin rollback atau ada transaksi yang gagal, transaksi tidak berjalan dari awal kembali, tetapi dari save poin yang telah  dibuat. Sebelumnya.

6. ISOLASI TRANSAKSI 
Dalam transaksi database, ada 3 hal yang harus dicegah yaitu. 
a. ·  Dirty Read
Transaksi membaca data dari hasil transaksi lainnya yang gagal. Kedua transaksi tersebut 
berjalan bersamaan. 
b. ·  Non-Repeatable Read
Transaksi membaca ulang data yang telah di baca sebelumnya karena data tersebut telah 
di modifikasi oleh transaksi lainnya. 
c. ·  Phantom Read
Transaksi membaca sebuah data yang telah hilang akibat dari transaksi yang lainnya.

7. Isolasi
dalam  Oracle  terdapat  2  level  isolasi  yang  dapat diimplementasikan, yaitu : 
a. Read Commited 
Transaksi hanya dapat melihat perubahan data setelah transaksi lain telah  commit pada 
data tersebut. (Seperti dalam contoh commit) 
b. Serializable 
Adalah  level  isolasi  yang  menyediakan  isolasi  transaksi  yang  paling  ketat.  Level  ini mengemulasikan  eksekusi  transaksi  secara  serial, menjadikan  transaksi  dieksekusi  satu setelah  yang  lainnya,seperti  secara  serial,  bukan  secara  bersamaan  (pararel).

9. LOCKING  
Locking berfungsi  untuk  menjaga  integritas  data. Terdapat dua buah metode locking yaitu : 
a. ·  S-LOCK 
Jika  transaksi  memiliki  shared  lock  pada  suatu  data,  transaksi  tersebut  hanya  bisa melakukan pembacaan. 
b. · X-LOCK
Bagi  transaksi  yang  memiliki  exclusive  lock  pada  suatu  data,  transaksi  tersebut  dapat melakukan perubahan dan pembacaan terhadap data tersebut. 
Untuk  shared  lock,  dapat  dimiliki  oleh  beberapa  transaksi  dalam  satu  waktu,  namun  untuk exclusive lock, hanya dapat dimiliki oleh satu transaksi pada satu waktu.

11. DEADLOCK 
Merupakan  situasi  dimana  dua  atau  lebih  transaksi  dalam  kondisi  wait-state,  satu  sama  lain menunggu Lock dilepas sebelum di mulai (Yudi Wibisono)

Referensi : 
- Slide Pak Yudi Wibisono 
- Modul Sistem Basis Data 2014
- iambwhy.blogspot.com
- tugasanjarbasisdata.blogspot.com

Tidak ada komentar:

Posting Komentar