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 (Temporary)
Hilang, Crash, BlueScreen.
3. Kerusakan
Pada Disk (Disk Failure)
Bad Sector / Disk
Macet Pada Saat Operasi I/O, Corrupt pada hardisk
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.