Sistem Basisdata 13. Backup & Recovery
Sistem Basisdata 13. Backup & Recovery
www.stmikelrahma.ac.id 1
Pendahuluan
Salah satu metode untuk melindungi database dari kerusakan
adalah backup dan recovery/restore.
Backup data merupakan pengelolaan database untuk melakukan
penyalinan sistem, data,dan aplikasi. Backup dilakukan untuk
menjaga basis data dari kerusakan dari sistem dari luar ataupun dari
dalam sistem, yang disengaja atau tidak disengaja.
Sedangkan recovery/restore merupakan proses pengembalian
backup ke dalam sistem. Restore dilakukan untuk mengembalikan
keadaan sistem kembali pada keadaan semula, keadaan terakhir
pada saat operasional, sebelum terjadi kerusakan pada sistem.
Pada proses inid ilakukan pengembalian data baik struktur maupun
isi dari database.
www.stmikelrahma.ac.id 2
Back up & recovery
Issue dari Backup dan Recovery bagi administrator database yaitu:
mengantisipasi terjadinya suatu failure pada database
meningkatkan mean time between failure
mengurangi mean time to recover dan
mengurangi terjadinya loss data
www.stmikelrahma.ac.id 3
Strategi Backup
Berdasarkan waktu pelaksanaanatau strategi terdapat dua jenis
operasi backup yaitu :
Backup statis, dimana backup dilakukan dengan lebih dulu
menonaktifkan basisdata secara keseluruhan.
Backup dinamis, dimana backup dilakukan tanpa penonaktifan
basis data
www.stmikelrahma.ac.id 4
Strategi recovery
Terdapat tiga pilihan skema untuk menjalankan mekanisme recovery
secara otomatis begitu kerusakan atau kegagalan sistem telah terjadi,
skema tersebut 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.
www.stmikelrahma.ac.id 5
Recovery berbasis Log
o Sebuah log adalah pelindung kestabilan penyimpan.
• File log ini berisi log record, yang berkorelasi dengan semua operasi
perubahan pada basis data.
Ketika transaksi Ti mulai, dalam registernya akan tertulis
<Ti start>log record
Sebelum Ti execute write(X), dalam log record tertulis <Ti, X, V1, V2>, dimana V1
adalah nilai X sebelum ditulis, dan V2 adalah nilai yang baru dari X.
• Log record mencatat bahwa Ti telah melakukan penulisan pada Xj Xj
mempunyai nilai V1 sebelum ditulis, dan akan bernilaiV2 setelah transaksi write.
Ketika Ti selesai, log record menulis <Ti commit> .
Log record langsung menulis dalam penyimpan tetap bukan buffer
Dua pendekatan penggunaan log
1. Penundaan modifikasi database
www.stmikelrahma.ac.id 6
Penundaan modifikasi database
Skema penundaan modifikasi database mencatat semua perubahan ke log,
tetapi menunda untuk writes setelah commit.
Anggap transaksi berjalan berurutan
Transaksi mulai dengan menulis record <Ti start> ke log.
Sebuah operasi write(X) menyimpulkan bahwa di log record telah tertulis <Ti,
X, V>, dimana V adalah nilai baru untuk X
Nilai lama tidak diperlukan dalam skema ini
ketika Ti telah commit, maka dalam log tertulis <Ti commit>
Akhirnya, log record dibaca dan digunakan untuk eksekusi penulisan
selanjutnya
www.stmikelrahma.ac.id 7
Selama recovery sesudah rash, sebuah transaksi butuh
penyelesaian <Ti start> dan<Ti commit> dalam log.
Penulisan ulang transaksi Ti ( redoTi) mengubah nilai data
menjadi baru.
Contoh transaksi T0 dan T1 (T0 dieksekusi sebelum T1):
T0: read (A) T1 : read (C)
A:- A - 50 C:- C- 100
Write (A) write (C)
read (B)
B:- B + 50
write (B)
www.stmikelrahma.ac.id 8
Berikut ditunjukkan log dari 3 transaksi.
www.stmikelrahma.ac.id 9
Pengubahan database
langsung
Skema immediate database modification adalah mekanisme
dengan perubahan secara langsung ke basisdata meskipun
transaksi masih berlangsung.
Update log record harus ditulis sebelum item database ditulis
Perubahan aktual ke database tidak diperkenankan sebelum
record yang bersesuaian dalam file log dituliskan ke media
penyimpan stabil
Sebelum eksekusi sebuah operasi output(B), record dalam file
log yang berhubungan dengan item data B telah ditulis dalam
media penyimpan stabil
www.stmikelrahma.ac.id 10
Log Write
Output
<T0 start>
<T0, A, 1000, 950>
To, B, 2000, 2050
A = 950
B = 2050
<T0 commit> x
<T1 start>
1
www.stmikelrahma.ac.id 15
Tabel asli dan tabel bayangan terbentuk terbentuk setelah transa
www.stmikelrahma.ac.id 16
Untuk mengcommit transaksi, harus dilakukan :
1. Menjamin semua page data yang ada dalam memori utama yang
telah diubah oleh transaksi, disalin ke dalam disk
2. Simpan tabel page yang aktif ke disk.
3. Simpan alamat disk dari tabel page aktif ke lokasi yang tetap dalam
media penyimpanan stabil yang telah berisi alamat tabel page
bayangan. Aksi ini melakukan penimpaan pada alamat tabel page
bayangan yang lama. Tabel page aktif akan menjadi tabel page yang
baru dan transaksi commit.
Jika crash terjadi sebelum langkah ke 3 selesai dikerjakan, kita akan
kembali ke keadaan sebelum transaksi terjadi.
Jika crash terjadi setelah langkah ke 3 maka efek transaksi tersimpan,
sehingga redo tidak perlu.
www.stmikelrahma.ac.id 17
Keunggulan dari shadow-paging
Tidak adanya tambahan waktu untuk penulisan record ke dalam file log
Proses recovery lebih cepat karena tidak butuh undo atau redo
Kelemahannya :
Tambahan waktu untuk proses commit
Proses commit sebuah transaksi membutuhkan sejumlah blok data untuk direkam,
seperti blok data aktual, tabel page aktif dan alamat disk dari tabel page aktif
Pemisahan data ( fragmentasi )
Skema shadow paging menyebabkan page database mengubah lokasinya saat
terjadi perubahan data, sehingga terjadi fragmentasi data yang dapat
memperlambat transfer data dari database ke main memory
Data sampah (garbage)
Setelah transaksi tercommit, page database yang berisi data versi lama telah
diubah menjadi tidak terakses dan page-page inilah yang disebut sampah
Lebih sulit dalam mengembangkan algoritma supay transaksi berjalan konkuren
Lebih menggunakan basis log
www.stmikelrahma.ac.id 18
Backup & recovery
dengan perintah SQL
www.stmikelrahma.ac.id 19
Backup & recovery
dengan perintah SQL
Contoh berikut akan menampilkan proses backup dan recovery pada
table„mahasiswa‟ yang berada pada database „bella_db‟ :
1.Lakukan proses penguncian table dengan perintah :LOCK TABLE
nama_table WRITE;
www.stmikelrahma.ac.id 20
Backup & recovery
dengan perintah SQL
www.stmikelrahma.ac.id 21
Backup & recovery
dengan perintah SQL
www.stmikelrahma.ac.id 22
Backup & recovery
dengan MySQL Dump
www.stmikelrahma.ac.id 23
Backup & recovery
dengan MySQL Dump
2.Proses backup atau dumping akan berlangsung beberapa saat
hingga muncul pesan “Dump completed”.
terimakasih
www.stmikelrahma.ac.id 25