Pembaruan Ditunda vs Pembaruan Segera
Pembaruan Ditunda dan Pembaruan Segera adalah dua teknik yang digunakan untuk memelihara file log transaksi Sistem Manajemen Basis Data (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. Hal ini memungkinkan DBMS untuk melacak data sebelum dan sesudah setiap transaksi. Ketika transaksi dilakukan dan database dikembalikan ke keadaan konsisten, log mungkin terpotong untuk menghapus transaksi yang dilakukan.
Pembaruan yang Ditunda
Pembaruan tertunda 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 dicatat dalam file log diterapkan ke database saat komit. Proses ini disebut "Re-doing". Saat 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 di file log akan dibuang dan transaksi dimulai ulang. 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. Ketika transaksi berjalan, pembaruan atau perubahan apa pun yang dibuat oleh transaksi ditulis langsung ke dalam database. Baik nilai asli dan nilai baru juga dicatat di file log sebelum perubahan dilakukan ke database. Saat komit, semua perubahan yang dibuat ke database dibuat permanen dan catatan di file log dibuang. Saat rollback, nilai lama dikembalikan ke database menggunakan nilai lama yang disimpan di file log. Semua perubahan yang dibuat oleh transaksi ke database akan dibuang dan proses ini disebut "Tidak Melakukan". Ketika sistem restart setelah crash, semua perubahan database dibuat permanen untuk transaksi yang dilakukan. Untuk transaksi tanpa ikatan, nilai asli dipulihkan menggunakan nilai di file log.
Apa perbedaan antara Deferred Update dan Immediate Update
Meskipun Pembaruan Ditunda 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 dibuat pada data oleh transaksi pertama kali dicatat dalam file log dan diterapkan ke database saat komit. Dalam metode pembaruan langsung, perubahan yang dibuat oleh transaksi langsung diterapkan ke database dan nilai lama dan nilai baru dicatat dalam file log. Record ini digunakan untuk mengembalikan nilai lama saat rollback. Dalam metode pembaruan yang berbeda, catatan dalam file log dibuang saat memutar kembali dan tidak pernah diterapkan ke database. Salah satu kelemahan dari 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 langsung.