Pembaruan Ditangguhkan vs Pembaruan Segera
Pembaruan yang Ditangguhkan dan Pembaruan Segera adalah dua teknik yang digunakan untuk memelihara file log transaksi dari Sistem Manajemen Database (DBMS). Log transaksi (juga disebut sebagai jurnal log atau redo log) adalah file fisik yang menyimpan ID Transaksi, cap waktu transaksi, nilai lama dan nilai baru dari data. Ini memungkinkan DBMS untuk melacak data sebelum dan sesudah setiap transaksi. Ketika transaksi dilakukan dan database dikembalikan ke keadaan yang konsisten, log mungkin terpotong untuk menghapus transaksi yang dilakukan.
Pembaruan Ditangguhkan
Pembaruan tangguhan juga disebut NO-UNDO / REDO adalah teknik yang digunakan untuk memulihkan / mendukung kegagalan transaksi yang terjadi karena kegagalan sistem operasi, daya, memori, atau kerusakan mesin. Ketika transaksi berjalan, setiap pembaruan atau perubahan yang dilakukan ke database oleh transaksi tidak segera dilakukan. Mereka direkam dalam file log. Perubahan data yang direkam dalam file log diterapkan ke database saat melakukan. Proses ini disebut "Re-doing". Saat rollback, semua perubahan pada data yang direkam dalam file log akan dibuang; karenanya tidak ada perubahan yang akan diterapkan ke database. Jika suatu transaksi gagal dan tidak dilakukan karena salah satu alasan yang disebutkan di atas, catatan dalam file log dibuang dan transaksi dimulai kembali. Jika perubahan dalam transaksi dilakukan sebelum crash, maka setelah sistem dimulai ulang, perubahan yang dicatat dalam file log diterapkan ke database.
Pembaruan Segera
Pembaruan segera juga disebut UNDO / REDO, juga merupakan teknik lain yang digunakan untuk memulihkan / mendukung kegagalan transaksi yang terjadi karena kegagalan sistem operasi, daya, memori, atau kerusakan mesin. Ketika transaksi berjalan, pembaruan atau perubahan yang dibuat oleh transaksi tersebut ditulis langsung ke dalam basis data. Nilai-nilai asli dan nilai-nilai baru juga dicatat dalam file log sebelum perubahan dibuat ke database. Saat melakukan semua perubahan yang dilakukan ke database dibuat permanen dan catatan dalam file log dibuang. Pada rollback nilai lama dikembalikan ke database menggunakan nilai lama yang disimpan dalam file log. Semua perubahan yang dilakukan oleh transaksi ke database dibuang dan proses ini disebut "Tidak melakukan". Ketika sistem restart setelah crash, semua perubahan database dibuat permanen untuk transaksi yang dilakukan. Untuk transaksi yang tidak dikomit, nilai asli dipulihkan menggunakan nilai dalam file log.
Apa perbedaan antara Pembaruan Ditangguhkan dan Pembaruan Segera
Meskipun Pembaruan yang Ditangguhkan dan Pembaruan Segera adalah dua metode untuk memulihkan setelah kegagalan sistem, proses yang digunakan setiap metode berbeda. Dalam metode pembaruan yang berbeda, setiap perubahan yang dilakukan pada data dengan transaksi dicatat pertama kali dalam file log dan diterapkan ke database saat melakukan. Dalam metode pembaruan langsung, perubahan yang dilakukan oleh transaksi langsung diterapkan ke database dan nilai lama dan nilai baru dicatat dalam file log. Catatan ini digunakan untuk mengembalikan nilai lama saat rollback. Dalam metode pembaruan yang berbeda, catatan dalam file log dibuang di roll kembali dan tidak pernah diterapkan ke database. Salah satu kelemahan metode pembaruan yang ditangguhkan adalah meningkatnya waktu yang dibutuhkan untuk memulihkan jika terjadi kegagalan sistem. Di sisi lain, operasi I / O yang sering terjadi saat transaksi aktif, merupakan kelemahan dalam metode pembaruan langsung.