Sabtu, 11 Oktober 2014

Recoverability

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

Fasilitas Recovery

  1. Mekanisme Backup
  2. Fasilitas Logging
  3. Fasilitas Checkpoint
  4. Manager Recovery
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 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.
  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 perubahan 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 berikut ini dilakukan terhadap situasi dimana basis data tidak rusak tetapi basis data dalam keadaan yang tidak konsisten.
  • Deferred Update (Perubahan yang ditunda)
Update tidak dituliskan ke basis data sampai sebuah transaksi dalam keadaan commit. Jika transaksi gagal sebelum mencapai keadaan ini, transaksi tidak akan  memodifikasi  basis data  dan  juga  tidak  ada  perubahan  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. 
  • Immediate Update (Perubahan langsung)
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.

Tidak ada komentar:

Posting Komentar