Perbezaan Antara Kemaskini Dihentikan dan Kemaskini Segera

Anonim

Update Tertunda dan Kemaskini Segera

Kemas Kini Dihentikan dan Kemaskini 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 transaksi 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 segera. Mereka dicatatkan dalam fail log. Perubahan data yang dirakam dalam fail log digunakan untuk pangkalan data mengenai komit. Proses ini disebut "Re-doing". Pada rollback, sebarang perubahan kepada data yang dirakam dalam fail log dibuang; maka tiada perubahan akan diterapkan ke pangkalan data. Sekiranya urus niaga 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 tercatat dalam fail log digunakan untuk pangkalan data.

Kemas Kini Segera

Kemas kini serta-merta yang juga dikenali sebagai UNDO / REDO, juga merupakan teknik lain yang digunakan untuk memulihkan / menyokong kegagalan transaksi yang berlaku disebabkan oleh sistem operasi, kuasa, memori atau kegagalan mesin. Apabila urus niaga dijalankan, sebarang kemas kini atau perubahan yang dibuat 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 Kemas Kini Segera

Walaupun Kemas Kini Dihentikan dan Kemaskini Segera adalah dua kaedah 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 pertama kali direkodkan dalam fail log dan digunakan pada pangkalan data pada komit. Dalam kaedah kemas kini segera, perubahan yang dilakukan oleh urus niaga secara langsung digunakan pada pangkalan data dan nilai-nilai lama dan nilai-nilai baru direkodkan dalam fail log. Rekod ini digunakan untuk memulihkan nilai lama pada rollback. Dalam kaedah kemas kini yang berlainan, rekod dalam fail log dibuang ke belakang 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.