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.
No comments:
Post a Comment