Total Pageviews

Monday, December 30, 2013

TUGAS AKHIR SISTEM BASIS DATA A11.11.06382

REVIEW BASIS DATA : THEME 1 C-8 RECOVERY

sumber : http://www.upriss.org.uk/db/slides/recovery.pdf

             http://www.databasejournal.com/features/db2/database-backup-and-recovery-for-big-data.html




Mekanisme recovery memiliki dua bagian utama, yaitu:

1. Aksi-aksi yang ditempuh selama transaksi berjalan normal untuk menjamin adanya informasi yang memadai yang kelak dibutuhkan oleh mekanisme recovery.

2. Aksi-aksi yang ditempuh setelah terjadinya kerusakan/ kegagalan sistem yang dilakukan untuk memulihkan isi basis data ke suatu keadaan yang menjamin konsistensi basis data, keatomikan, dan ketahanan transaksi.

Skema Mekanisme Recovery

   Dengan asumsi ruang disk yang dialokasikan untuk basis data tidak mengalami kerusakan, maka ada 3 pilihan skema untuk menjalankan mekanisme recovery secara otomatis begitu kerusakan atau kegagalan sistem telah terjadi. Ketiga skema pilihan itu adalah:

1. File Log dengan Penundaan Pengubahan (Incremental Log With Defered Update)
2. File Log dengan Pengubahan langsung (Incremental Log With Immediate Updates)
3. Page Bayangan (Shadow Paging), yang memerlukan akses ke disk yang lebih sedikit.


Recovery untuk Transaksi Konkuren

a. Interaksi dengan pengendalian konkurensi

Skema recovery ini akan banyak tergantung pada skema pengendalian konkurensi yang digunakan. Untuk menjalankan proses roll back terhadap transaksi yang gagal/ batal,kita harus membatalkan perubahan yang telah dilakukan oleh transaksi tersebut.

Jika sebuah transaksi T telah mengubah sebuah item data Q, tidak boleh ada transaksi lain yang boleh mengubah item data yang sama hingga T telah di-commit ataupun di-roll back. Kita dapat menjamin hal ini dengan memanfaatkan Loking Protokol Dua Fase yang Ketat, yang menerapkan penguncian dengan mode exclusive hingga akhir transaksi.

b. Restart recovery

Pada saat sistem melakukan pemulihan data, ia membentuk dua buah daftar. Yang pertama adalah daftar undo (undo-list) yang terdiri atas transaksi-transaksi yang harus dikenai operasi undo dan daftar redo (redo-list) yang berisi transaksi-transaksi yang harus dikenai operasi redo.

Kedua daftar ini dibentuk untuk proses recovery sebagai berikut. Mula-mula kedua daftar tersebut kosong. Kita melakukan penelusuran mundur terhadap file log, memeriksa record hingga ditemukannya <checkpoint>:

Untuk setiap record yang ditemukan dalam bentuk <Ti commit>, kita tambahkan Ti dalam redo-list.

Untuk setiap record yang ditemukan dalam bentuk <Ti start>, jika Ti tidak ada dalam redo-list, kita tambahkan Ti dalam undo-list.

Thursday, November 14, 2013

TUGAS 2 SISTEM BASIS DATA

Manajemen Transaksi

-DUKUNGAN TRANSAKSI

   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
   Program aplikasi merupakan serangkaian transaksi tanpa pengolahan database didalamnya. 

Transaksi selalu merubah database dari satu stata konsisten ke stata lainnya, walaupun konsistensi data dapat terganggu selama transaksi berjalan.

-OUTPUT TRANSAKSI

 Sukses – transaksi dikatakan commited  dan database mencapai stata baru/stata berikutnya.
 Gagal – transaksi dikatakan aborted, dan database harus dikembalikan ke stata tetap sebelum dilakukannya transaksi. Transaksi seperti ini disebut roll back atau undone.

Transaksi yang committed  tidak dapat digagalkan. Transaksi yang digagalkan akan dilakukan rollback  yang dapat diproses ulang (restarted) diwaktu mendatang.

-SIFAT SIFAT TRANSAKSI

Atomicity(keutuhan)
Transaksi merupakan unit yang tidak terlihat yang harus dilakukan secara keseluruhan atau tidak sama sekali.
 Consistency (Ketetapan) 
Transaksi harus mengubah database dari satu stata konsisten ke stata lainnya/ berikutnya. 
Isolation (Pemisahan)
Transaksi dieksekusi secara terpisah dari yang satu dengan yang lainnya. 
Durability (Daya tahan)

Secara permanen direkam kedalam database dan tidak akan hilang dikarenakan kegagalan berikutnya.

-SUB SISTEM TRANSAKSI DBMS

 Transaction Manager  mengkoordinasikan transaksi untuk kepentingan program aplikasi, yang saling berkomunikasi dengan scheduler.
  Scheduler yaitu modul yang bertanggung jawab mengenai implementasi strategi khusus untuk kontrol concurrency. 
  Tujuan dari scheduler adalah memaksimalkan concurrency tanpa memungkinkan transaksi yang sedang dieksekusi untuk mempengaruhi/ saling mempengaruhi dengan transaksi lainnya.

-KONTROL KONKURENSI (CONTROL CONCURRENCY)

   Merupakan proses pengaturan operasi yang simultan pada database tanpa menyebabkan saling mempengaruhi antara satu dengan yang lain. 

   Akses konkuren tidak akan bermasalah jika user hanya melakukan pembacaan data saja, gangguan akan terjadi jika dua atau lebih user mengakses database secara simultan dan sedikitnya melakukan satu perubahan (update), maka dapat menyebabkan ketidak-konsistenan (inconsistencies).

-MASALAH AKIBAT CONCURRENCY

Masalah kehilangan modifikasi (Lost Updates Problem)
Masalah modifikasi sementara (Uncommitted Dependency Problem)

Masalah analisa yang tidak konsisten (Inconsistent Analysis Problem)








Saturday, September 21, 2013

TUGAS SISTEM BASIS DATA

OPERASIONAL RELASI - RELASI ALJABAR


Operator Dasar : 
  1. Seleksi
  2. Proyeksi
  3. Union
  4. Minus / Set Difference
  5. Cartesian Product
  6. Rename
Operator Tambahan :
  1. Cartesian Product
  2. Natural Join
  3. Join Theta
  4. Division / Quotient
Definisi :

Operator Dasar : 
  1. Seleksi/Selection 
          Simbol : σP(E1)
          Seleksi merupakan Kumpulan semua tuple-tuple/record-record dalam E1 yang memenuhi kondisi P
          Kondisi P adalah ekspresi logica yang terdiri :
          - Operand : Konstanta/ Atribut/ Relasi
          - Operator Pembanding : =, <, >, <>, <=, >=,
          - Operator Lojik : And (^), or (V), dan Negasi (~)
            Contoh :
E1 :                                         

A
B
C
 a
b
c
d
e
f
g
h
i
g
b
e
            
                        σB=’b’(E1) =

A
B
C
a
b
C
g
b
E

     2. Proyeksi
        Simbol : Πa1,..,am (E1), dimana m <= K, K adalah Aritas a merupakan nama atribut dari relasi E1.
Proyeksi merupakan Kumpulan semua tuple-tuple E1 dengan aritas m dan a1, ..., am sebagai atribut.
Contoh :
ΠA,C (E1) =
A
C
a
c
d
f
g
i
g
e


3. Union
    Simbol : E1 υ E2
    Kumpulan semua tuple-tuple yang dimiliki oleh E1 dan/atau E2”
    Syarat : 1. Aritas sama
                 2. Domain atribut sama
    Contoh :
E1                                         E2
A
B
C


A
B
C
a
b
C


b
g
A
d
e
F


a
b
C
c
b
D


x
y
Z
           
E1 υ E2 =
A
B
C
a
b
C
d
e
F
c
b
D
b
g
A
x
y
Z
      4. Minus/Set Difference

Simbol : E1 – E2
 Minus/Set Difference merupakan kumpulan semua tuple-tuple E1 yang tidak ada di E2
    Contoh :
E1 -  E2 =
A
B
C
d
e
F
c
b
D
       5. Cartesian Product
 Simbol : E1 x E2
Jika aritas E1 adalah k1 dan aritas E2 adalah k2 maka E1xE2 adalah kumpulan kombinasi semua tuple-tuple dengan aritas (k1+k2) dimana komponen k1 pertama ádalah tuple-tuple dari E1 dan komponen berikutnya dari E2
            E1 :                          E2 :     
A
B
C

E
F
1
c
D

x
100
5
e
F

y
200
6
g
H




      E1xE2
A
B
C
E
F
1
c
D
x
100
5
e
F
x
100
6
g
H
x
100
1
c
D
y
200
5
e
F
y
200
6
g
H
y
200
       6. Rename
Simbol : ρx (E1)
Memberi nama baru E1 dengan X, sehingga seakan-akan dimiliki 2 relasi (E1 dan X) yang isinya sama persis.

Operator Tambahan :

1.      Irisan / Intersection
Simbol : E1  E2
Irisan / Intersection merupakan Kumpulan tuple-tuple yang berada di E1 dan berada di E2”
·         Memiliki syarat yang sama dengan union
·         contoh : E1  E2
A
B
C
a
b
C

2.      Natural Join
Simbol : E1  E2
Syarat : dilakukan jika kedua relasi memiliki satu atau lebih atribut sekutu
Natural Join merupakan Semua tuple-tuple dalam E1xE2 yang mempunyai nilai sama pada atribut sekutu
Kolom atribut sekutu bersifat tunggal(diambil salah satu)
Contoh :
E1                                         E2
A
B
C


B
C
D
a
b
C


b
c
d
d
b
C


b
c
z
c
a
D


b
d
x
f
b
H






E1  E2 =      
A
B
C
D
a
b
C
d
a
b
C
z
d
b
C
d
d
b
C
z

3.      Join Theta
 Simbol : E1   E2
                  iθj
 θ merupakan operator
Join Theta merupakan kumpulan tuple-tuple E1xE2 yang nilai atribut i memenuhi relasi θ terhadap nilai atribut.
contoh :
E1 :                              E2 :     
A
B
C

D
E
1
2
A

3
1
4
5
B

6
2
8
2
C







E1   E2
     A<D           
A
B
C
D
E
1
2
A
3
1
1
2
A
6
2
4
5
B
6
2

4.      Division/Quotient
 Simbol : E1 ∕ E2
Syarat : jika k1 aritas E1 dan k2 aritas E2, maka k1 > k2 dan k2 ≠ 0
Semua tuple-tuple misal t dengan aritas k1- k2, dimana jika E1 mengandung semua tuple dengan aritas k1 maka t ádalah anggota E1”
 Contoh :
E1 :                                   E2 :             E1/E2
Nama
Cabang

Cabang

Nama
x
Y

y

x
z
Y

s

z
d
R



f
f
S