Diferencia entre la actualización diferida y la actualización inmediata

Actualización diferida vs actualización inmediata

La actualización diferida y la actualización inmediata son dos técnicas utilizadas para mantener los archivos de registro de transacciones de los Sistemas de administración de bases de datos (DBMS). El registro de transacciones (también conocido como el registro de diario o el registro de rehacer) es un archivo físico que almacena el ID de transacción, la marca de tiempo de la transacción, el valor antiguo y los nuevos valores de los datos. Esto permite al DBMS realizar un seguimiento de los datos antes y después de cada transacción. Cuando las transacciones se confirman y la base de datos vuelve a un estado coherente, el registro puede truncarse para eliminar las transacciones confirmadas.

Actualización diferida

La actualización diferida también denominada NO-UNDO / REDO es una técnica que se utiliza para recuperar / admitir fallas de transacciones que se producen debido a fallas en el sistema operativo, la alimentación, la memoria o la máquina. Cuando se ejecuta una transacción, las actualizaciones o alteraciones realizadas en la base de datos por la transacción no se realizan de inmediato. Se registran en el archivo de registro. Los cambios en los datos registrados en el archivo de registro se aplican a la base de datos en la confirmación. Este proceso se llama "Re-hacer". En la reversión, cualquier cambio en los datos registrados en el archivo de registro se descarta; por lo tanto, no se aplicarán cambios a la base de datos. Si una transacción falla y no se confirma debido a cualquiera de los motivos mencionados anteriormente, los registros en el archivo de registro se descartan y la transacción se reinicia. Si los cambios en una transacción se confirman antes de fallar, luego de que se reinicia el sistema, los cambios registrados en el archivo de registro se aplican a la base de datos.

Actualización inmediata

La actualización inmediata, también llamada UNDO / REDO, también es otra técnica utilizada para recuperar / admitir fallas de transacciones que se producen debido a fallas en el sistema operativo, la alimentación, la memoria o la máquina. Cuando se ejecuta una transacción, cualquiera de las actualizaciones o alteraciones realizadas por la transacción se escriben directamente en la base de datos. Tanto los valores originales como los nuevos valores también se registran en el archivo de registro antes de que se realicen cambios en la base de datos. En la confirmación, todos los cambios realizados en la base de datos se hacen permanentes y los registros en el archivo de registro se descartan. En la restauración, los valores antiguos se restauran en la base de datos utilizando los valores antiguos almacenados en el archivo de registro. Todos los cambios realizados por las transacciones en la base de datos se descartan y este proceso se llama "Deshacer". Cuando el sistema se reinicia después de una caída, todos los cambios en la base de datos se hacen permanentes para las transacciones confirmadas. Para transacciones no confirmadas, los valores originales se restauran utilizando los valores del archivo de registro.

¿Cuál es la diferencia entre la actualización diferida y la actualización inmediata?

Aunque la Actualización diferida y la Actualización inmediata son dos métodos para recuperarse después de una falla del sistema, el proceso que utiliza cada método es diferente. En un método de actualización diferente, cualquier cambio realizado en los datos por una transacción se registra primero en un archivo de registro y se aplica a la base de datos en la confirmación. En el método de actualización inmediata, los cambios realizados por una transacción se aplican directamente a la base de datos y los valores antiguos y nuevos se registran en el archivo de registro. Estos registros se utilizan para restaurar los valores antiguos en la reversión. En un método de actualización diferente, los registros en el archivo de registro se descartan en la reversión y nunca se aplican a la base de datos. Una desventaja del método de actualización diferida es el mayor tiempo que se tarda en recuperarse en caso de una falla del sistema. Por otro lado, las operaciones frecuentes de E / S mientras la transacción está activa, es una desventaja en el método de actualización inmediata.