Pembaruan Ditangguhkan vs Pembaruan Segera
Deferred Update dan Immediate Update adalah dua teknik yang digunakan untuk memelihara file log transaksi Sistem Manajemen Basis Data (DBMS). Log transaksi (juga disebut sebagai log jurnal atau log redo) adalah file fisik yang menyimpan ID Transaksi, cap waktu transaksi, nilai lama dan nilai baru dari data. Hal 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 yang ditangguhkan juga disebut NO-UNDO/REDO adalah teknik yang digunakan untuk memulihkan/mendukung kegagalan transaksi yang terjadi karena kegagalan sistem operasi, daya, memori, atau mesin. Saat transaksi berjalan, pembaruan atau perubahan apa pun yang dilakukan pada database oleh transaksi tidak segera dilakukan. Mereka dicatat dalam file log. Perubahan data yang direkam dalam file log diterapkan ke database saat komit. Proses ini disebut "Melakukan Ulang". Pada rollback, setiap perubahan pada data yang direkam dalam file log akan dibuang; maka tidak ada perubahan yang akan diterapkan ke database. Jika 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 restart, 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 mesin. Saat transaksi berjalan, setiap pembaruan atau perubahan yang dibuat oleh transaksi tersebut ditulis langsung ke dalam database. Nilai asli dan nilai baru juga dicatat dalam file log sebelum perubahan dibuat ke database. Pada komit semua perubahan yang dibuat ke database dibuat permanen dan catatan dalam file log dibuang. Saat mengembalikan nilai lama dikembalikan ke database menggunakan nilai lama yang disimpan dalam file log. Semua perubahan yang dibuat 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 terikat, nilai asli dikembalikan menggunakan nilai dalam file log.
Apa perbedaan antara Pembaruan Ditangguhkan dan Pembaruan Segera
Meskipun Pembaruan Ditangguhkan dan Pembaruan Segera adalah dua metode untuk memulihkan setelah kegagalan sistem, proses yang digunakan setiap metode berbeda. Dalam metode pemutakhiran yang berbeda, setiap perubahan yang dibuat pada data oleh suatu transaksi pertama-tama dicatat dalam file log dan diterapkan ke database saat dikomit. Dalam metode pembaruan segera, 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 pada rollback. Dalam metode pembaruan yang berbeda, catatan dalam file log dibuang saat roll back dan tidak pernah diterapkan ke database. Salah satu kelemahan metode pembaruan yang ditangguhkan adalah peningkatan waktu yang dibutuhkan untuk memulihkan jika terjadi kegagalan sistem. Di sisi lain, operasi I/O yang sering saat transaksi aktif, merupakan kerugian dalam metode pembaruan segera.