Kemas kini tertunda vs kemas kini segera
Kemas kini tertunda dan kemas kini segera adalah dua teknik yang digunakan untuk mengekalkan fail log transaksi sistem pengurusan pangkalan data (DBMS). Log Transaksi (juga disebut sebagai log jurnal atau log redo) adalah fail fizikal yang menyimpan id urus niaga, cap masa transaksi, nilai lama dan nilai baru data. Ini membolehkan DBMS menjejaki data sebelum dan selepas setiap transaksi. Apabila urus niaga dilakukan dan pangkalan data dikembalikan ke keadaan yang konsisten, log mungkin dipotong untuk menghapuskan urus niaga yang dilakukan.
Kemas kini tertunda
Kemas kini tertunda juga dipanggil No-UNDO/Redo adalah teknik yang digunakan untuk memulihkan/menyokong kegagalan transaksi yang berlaku disebabkan oleh sistem operasi, kuasa, memori atau kegagalan mesin. Apabila urus niaga berjalan, sebarang kemas kini atau perubahan yang dibuat ke pangkalan data oleh transaksi tidak dilakukan dengan segera. Mereka direkodkan dalam fail log. Perubahan data yang direkodkan dalam fail log digunakan pada pangkalan data mengenai komitmen. Proses ini dipanggil "Re-Doing". Pada Rollback, sebarang perubahan kepada data yang direkodkan dalam fail log dibuang; oleh itu tiada perubahan akan digunakan untuk pangkalan data. Sekiranya urus niaga gagal dan ia tidak dilakukan kerana mana -mana sebab yang disebutkan di atas, rekod dalam fail log dibuang dan urus niaga dimulakan semula. Sekiranya perubahan dalam transaksi dilakukan sebelum terhempas, maka selepas sistem dimulakan semula, perubahan yang direkodkan dalam fail log digunakan pada pangkalan data.
Kemas kini segera
Kemas kini segera juga dipanggil Undo/Redo, juga teknik lain yang digunakan untuk memulihkan/menyokong kegagalan transaksi yang berlaku disebabkan oleh sistem operasi, kuasa, memori atau kegagalan mesin. Apabila transaksi berjalan, mana -mana kemas kini atau perubahan yang dibuat oleh transaksi ditulis terus ke pangkalan data. Kedua -dua nilai asal dan nilai baru juga direkodkan dalam fail log sebelum perubahan dibuat ke pangkalan data. Mengenai semua perubahan yang dibuat ke pangkalan data dibuat kekal dan rekod dalam fail log dibuang. Pada nilai lama semula nilai lama dipulihkan ke pangkalan data menggunakan nilai lama yang disimpan dalam fail log. Semua perubahan yang dibuat oleh transaksi ke pangkalan data dibuang dan proses ini dipanggil "un-doing". Apabila sistem dimulakan semula selepas kemalangan, semua perubahan pangkalan data dibuat kekal untuk urus niaga yang komited. Untuk urus niaga yang tidak komited, nilai asal dipulihkan menggunakan nilai dalam fail log.
Apakah perbezaan antara kemas kini tertunda dan kemas kini segera
Walaupun kemas kini tertunda dan kemas kini segera adalah dua kaedah untuk pulih selepas kegagalan sistem, proses yang digunakan setiap kaedah adalah berbeza. Dalam kaedah kemas kini yang berbeza, sebarang perubahan yang dibuat kepada data oleh transaksi pertama kali direkodkan dalam fail log dan digunakan pada pangkalan data mengenai komitmen. Dalam kaedah kemas kini segera, perubahan yang dibuat oleh transaksi digunakan secara langsung ke pangkalan data dan nilai lama dan nilai baru direkodkan dalam fail log. Rekod -rekod ini digunakan untuk memulihkan nilai -nilai lama pada pengembalian semula. Dalam kaedah kemas kini yang berbeza, rekod dalam fail log dibuang pada roll belakang dan tidak pernah digunakan untuk pangkalan data. Satu kelemahan kaedah kemas kini tertunda adalah peningkatan masa yang diambil untuk pulih sekiranya berlaku kegagalan sistem. Sebaliknya, operasi I/O kerap semasa urus niaga aktif, adalah kelemahan dalam kaedah kemas kini segera.