RDBMS Recovery Data

RDBMS memiliki komponen yang digunakan untuk mengembalikan Basis Data ke kondisi yang benar (Consistent State) Jika Terjadi System Failure (Kegagalan Sistem)
  • Jelaskan apa saja penyebab kegagalan dalam sebuah system yang memungkinkan mengganggu konsistensi data!
  1. Physical disasters, bencana fisik yang natural, seperti kebakaran, air bah, dan banjir.
  2. Carelessness atau human error, kekurang telitian atau kerusakan pada data atau fasilitas yang tidak disengaja disebabkan oleh operator atau pengguna.
  3. Sabotase, kerusakan pada data, fasilitas perangkat lunak dan keras yang disengaja.
  4. System Crash (kerusakan sistem), akibat kesalahan pada perangkat keras atau lunak, menyebabkan kehilangan memori utama.
  5. Media Failure (kegagalan pada media), seperti media tidak dapat dibaca, menyebabkan kehilangan sebagian dari penyimpanan sekunder.
  6. Application Software Error (kesalahan pada perangkat lunak aplikasi), seperti kesalahan logika yang mengakses database menyebabkan satu atau lebih transaksi mengalami kegagalan, basis data menjadi tidak konsisten.

  • Kegagalan system juga bisa mengakibatkan kerusakan pada system, jelaskan jenis kerusakan akibat kegagalan system dan bagaimana untuk mengatasinya!
1.  Kegagalan Transaksi (Transaction Error)
A. Kesalahan Logika (Logical Error), input salah, data not found, overflow, memori habis.
B. Kesalahan Sistem (System Error), deadlock.
2. Kerusakan Sistem (System Crash)
Hardware Macet (Hang),  Data Pada Memori Sementara Hilang
3. Kerusakan Pada Disk (Disk Failure)
Bad Sector / Disk Macet Pada Saat Operasi I/O
  • RDMBS menyediakan beberapa fasilitas  recovery data antara lain mekanisme backup, fasilitas loging, chekpoint, dan manager recovery. Jelaskan konsep recovery yang dapat dipilih atau digunakan pada saat kegagalan transaksi!
  1. Defferred (menunda update), update tidak dilakukan secara langsung pada database, tetapi update dilakukan setelah transaksi menyelesaikan eksekusinya dengan sukses dan mencapai titik commit. Sebelum mencapai commit semua transaksi yang di update disimpan pada buffer local. Hanya dicatat pada system log dan transaction workspace. Setelah transaksi commit dan log sudah dituliskan ke disk, maka update dituliskan ke database.
  2. Immediate Update (segera update), update dilakukan langsung pada database tanpa menunggu transaksi mencapai titik commit. Operasi tetap harus dituliskan ke log (pada disk) sebelum update dilakukan pada database ➝ Write-ahead Logging Protocol. Langkah-langkah teknik immediate update dengan algoritma UNDO/NO-REDO adalah:
  • Ketika transaksi mulai, tulis sebuah record START ke log file.
  • Setiap operasi transaksi diterima, log record berisi data yg relevan akan ditambahkan ke dalam log file.
  • Temporary database akan meng-copy blok database yang mengandung data yang diperlukan bila blok tersebut belum ada.
  • Jalankan operasi transaksi terhadap blok database dalam temporary  database.
  • Langsung salin kembali blok database yang telah termodifikasi dari temporary database ke database.
  • Ketika transaksi commit, semua modifikasi terhadap database, diselesaikan sebelum COMMIT TRANSACTION ditambahkan ke log file.

Komentar