Perbezaan Antara Kemas Kini Ditangguhkan dan Kemaskini Segera

Update Tertunda dan Kemaskini Segera

Kemas kini Ditangguhkan dan Kemas Kini Segera adalah dua teknik yang digunakan untuk mengekalkan fail log transaksi Sistem Pengurusan Pangkalan Data (DBMS). Log transaksi (juga dirujuk sebagai log jurnal atau log redo) adalah fail fizikal yang menyimpan ID Urus Niaga, setem masa urus niaga, nilai lama dan nilai baru data. Ini membolehkan DBMS untuk menjejaki data sebelum dan selepas setiap transaksi. Apabila urus niaga dilakukan dan pangkalan data dikembalikan kepada keadaan yang konsisten, log mungkin dipotong untuk menghapuskan transaksi yang dilakukan.

Kemas kini Ditangguhkan

Kemas kini tertunda yang juga dikenali sebagai NO-UNDO / REDO adalah teknik yang digunakan untuk mendapatkan / gagal kegagalan transaksi sokongan yang disebabkan oleh sistem operasi, kuasa, memori atau kegagalan mesin. Apabila transaksi dijalankan, sebarang kemas kini atau perubahan yang dibuat ke pangkalan data oleh urus niaga tidak dilakukan dengan serta-merta. Mereka dicatatkan dalam fail log. Perubahan data yang dirakam dalam fail log digunakan untuk pangkalan data mengenai komit. Proses ini dipanggil "Re-doing". Pada rollback, sebarang perubahan kepada data yang dirakam dalam fail log dibuang; maka tiada perubahan akan diterapkan ke pangkalan data. Sekiranya transaksi gagal dan tidak dilakukan kerana sebarang alasan yang disebutkan di atas, rekod dalam fail log dibuang dan urus niaga itu dimulakan semula. Sekiranya perubahan dalam urus niaga dilakukan sebelum jatuh, maka selepas sistem dimulakan semula, perubahan yang direkodkan dalam fail log digunakan pada pangkalan data.

Kemas kini segera

Kemaskini segera juga dikenali sebagai UNDO / REDO, juga merupakan teknik lain yang digunakan untuk mendapatkan / memperbaiki kegagalan transaksi yang berlaku disebabkan oleh sistem operasi, kuasa, memori atau kegagalan mesin. Apabila transaksi dijalankan, mana-mana kemas kini atau perubahan yang dilakukan oleh urusniaga tersebut ditulis terus ke pangkalan data. Kedua-dua nilai asal dan nilai-nilai baru juga direkodkan dalam fail log sebelum perubahan dibuat ke pangkalan data. Apabila melakukan semua perubahan yang dibuat ke pangkalan data dibuat kekal dan rekod dalam fail log dibuang. Pada nilai lama rollback dipulihkan ke pangkalan data menggunakan nilai lama yang disimpan dalam fail log. Segala perubahan yang dilakukan oleh transaksi ke pangkalan data dibuang dan proses ini disebut "Tidak berbuat". Apabila sistem dimulakan semula selepas kemalangan, semua perubahan pangkalan data dibuat kekal untuk transaksi komited. Untuk urus niaga yang tidak komited, nilai asal dipulihkan menggunakan nilai dalam fail log.

Apakah perbezaan antara Kemas Kini Ditangguhkan dan Kemaskini Segera

Walaupun Kemas Kini Dihentikan dan Kemaskini Segera adalah dua cara untuk pulih selepas kegagalan sistem, proses yang digunakan setiap kaedah adalah berbeza. Dalam kaedah kemas kini yang berbeza, apa-apa perubahan yang dibuat kepada data oleh urus niaga mula-mula direkodkan dalam fail log dan digunakan pada pangkalan data mengenai komit. Dalam kaedah kemas kini serta-merta, perubahan yang dilakukan oleh transaksi langsung digunakan untuk pangkalan data dan nilai lama dan nilai-nilai baru direkodkan dalam fail log. Rekod ini digunakan untuk memulihkan nilai-nilai lama pada rollback. Dalam kaedah kemas kini yang berlainan, rekod dalam fail log dibuang ke atas semula dan tidak digunakan pada pangkalan data. Satu kelemahan kaedah kemas kini tertunda ialah peningkatan masa yang diambil untuk pulih dalam kes kegagalan sistem. Sebaliknya, operasi I / O yang kerap semasa urus niaga aktif, adalah kelemahan dalam kaedah kemas kini segera.