Ada beberapa jenis media
penyimpanan (storage), yang dapat dibedakan dari segi kecepatan, kapasitas dan
juga ketahanannya terhadap kerusakan:
- Media penyimpanan sementara (volatile storage)
Informasi yang ada
di media penyimpanan ini hanya ada selama catuan listrik mengalir. Jika catuan
listriknya terputus, maka informasi/data yang tersimpan akan hilang. Akan
tetapi kelebihan media penyimpanan ini terletak pada kecepatannya yang sangat
tinggi. Contoh media penyimpananya adalah RAM (Random Access Memory), Cache dan
register.
Informasi yang ada
dalam media penyimpanan ini tetap ada walaupun catuan listrik tidak mengalir
lagi.
- Media penyimpanan stabil (stable storage)
Informasi yang ada
di media penyimpanan ini tidak pernah hilang/ rusak (secara fisik oleh
factor-faktor internal).
Mekanisme recovery memiliki dua
bagian utama, yaitu:
- Aksi-aksi yang ditempuh selama transaksi berjalan normal untuk menjamin adanya informasi yang memadai yang kelak dibutuhkan oleh mekanisme recovery.
- 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:
- File Log dengan Penundaan Pengubahan (Incremental Log With Defered Update)
- File Log dengan Pengubahan langsung (Incremental Log With Immediate Updates)
- 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.
Pada saat semua
record dimaksud dalam file log telah diperiksa, kita periksa isi list L dalam
record checkpoint. Untuk setiap transaksi Ti dalam L, jika Ti
tidak ada dalam redo-list maka kita tambahkan Ti dalam undo-list. Begitu kedua daftar tersebut
telah terbentuk, maka proses recovery akan dilakukan dengan langkah-langkah berikut
ini:
- Ulangi penelusuran mundur file log dari record terakhir, dan jalankan operasi undo untuk setiap record dalam file logyang memiliki transaksi Ti pada undo-list. Record-record transaksi dalam redo-list diabaikan dalam fase ini. Penelusuran dihentikan ketika record <Ti start> ditemukan untuk setiap transaksi Ti dalam undo-list.
- Carilah record <checkpoint L> terakhir dalam file log. Perhatikan bahwa langkah ini dapat melibatkan penelusuran maju, jika record checkpoint telah dilewati dalam langkah 1.
- Lakukan penelusuran maju pada file log dari record <checkpoint L> terakhir dan jalankan operasi redo untuk setiap record dalam file log yang dimiliki transaksi Ti yang da di dalam redo-list. Pada fase ini, abaikan semua record dari transaksi yang ada dalam undo-list.
Setelah semua transaksi dalam undo-list telah dikenai operasi undo, selanjutnya transaksi-transaksi
dalam redo-list juga dikenai denagn operasi redo.
Operasi
Backup
Kerusakan terhadap
disk (yang merupakan jenis media penyimpanan permanent yang paling umum),
kerusakan data karena aktivitas pemakai ataupun kerusakan data oleh aplikasi
eksternal, dapat diantisipasi dengan melakukan operasi backup secara periodik.
Menjalankan operasi backup secara rutin merupakan tugas pengelolaan basis data
yang penting.
Berdasarkan waktu
pelaksanaan atau strateginya, ada 2 jenis operasi backup yang dapat kita pilih,
yaitu:
·
Backup Statis, di mana backup dilakukan
dengan lebih dulu menonaktifkan basis data secara keseluruhan.
·
Backup Dinamis, di mana backup dilakukan tanpa
penonaktifan basis data (sehingga user tetap bisa bekerja).
Backup Jarak Jauh (Remote Backup
System)
Sebuah alternative
lain di samping penerapan basis data terdistribusi di atas adalah dengan
menjalankan pengolahan transaksi pada sebuah situs yang disebut sebagai situs
utama/primer, tetapi dengan memiliki sebuah situs untuk backup jarak jauh
(remote backup), di mana semua data dari situs utama direplikasi. Situs remote
backup kadang-kadang disebut juga sebagai situs sekunder. Situs remote backup
tersebut harus terus di-sinkronisasi dengan situs primer, begitu terjadi
perubahan pada situs primer. Situs remote backup secaqra fisik harus terpisah
dari situs primer.
Beberapa isu yang
perlu kita perhatikan pada saat merancang sebuah sistem dengan remote backup
adalah:
·
Pendeteksian Kerusakan
·
Pemindahan Kontrol
·
Waktu untuk Pemulihan
·
Waktu untuk Commit
Tidak ada komentar:
Posting Komentar