El control de concurrencia significa que se pueden ejecutar varias transacciones al mismo tiempo y luego se producen los registros intercalados. Pero puede haber cambios en los resultados de las transacciones, así que mantenga el orden de ejecución de esas transacciones.
Durante la recuperación, sería muy difícil para el sistema de recuperación realizar un seguimiento de todos los registros y luego comenzar a recuperarse.
La recuperación con transacciones concurrentes se puede realizar de las siguientes cuatro formas.
- Interacción con el control de concurrencia
- Reversión de transacciones
- Puntos de control
- Reiniciar la recuperación
Interacción con el control de concurrencia:
En este esquema, el esquema de recuperación depende en gran medida del esquema de control de concurrencia que se utilice. Entonces, para revertir una transacción fallida, debemos deshacer las actualizaciones realizadas por la transacción.
Reversión de transacciones:
- En este esquema, revertimos una transacción fallida usando el registro.
- El sistema escanea el registro hacia atrás una transacción fallida, por cada registro de registro que se encuentra en el registro, el sistema restaura el elemento de datos.
Puntos de control:
- Los puntos de control son un proceso de guardar una instantánea del estado de las aplicaciones para que pueda reiniciarse desde ese punto en caso de falla.
- El punto de control es un punto de tiempo en el que se escribe un registro en la base de datos desde los búferes.
- Checkpoint acorta el proceso de recuperación.
- Cuando llegue al punto de control, la transacción se actualizará en la base de datos y, hasta ese momento, todo el archivo de registro se eliminará del archivo. Luego, el archivo de registro se actualiza con el nuevo paso de la transacción hasta el siguiente punto de control y así sucesivamente.
- El punto de control se utiliza para declarar el punto antes del cual el DBMS estaba en estado coherente y todas las transacciones se confirmaron.
Para aliviar esta situación, la mayoría de los DBMS utilizan el concepto ‘ Checkpoints ‘.
- En este esquema, usamos puntos de control para reducir la cantidad de registros que el sistema debe escanear cuando se recupera de un bloqueo.
- En un sistema de procesamiento de transacciones concurrentes, requerimos que el registro del punto de control tenga la forma <punto de control L>, donde ‘L’ es una lista de transacciones activas en el momento del punto de control.
- Un punto de control difuso es un punto de control donde las transacciones pueden realizar actualizaciones incluso mientras se escriben bloques de búfer.
Reiniciar la recuperación:
- Cuando el sistema se recupera de un bloqueo, construye dos listas.
- La lista de deshacer consta de las transacciones que se van a deshacer y la lista de rehacer se compone de las transacciones que se van a volver a hacer.
- El sistema construye las dos listas de la siguiente manera: Inicialmente, ambas están vacías. El sistema escanea el registro hacia atrás, examinando cada registro, hasta que encuentra el primer registro de <punto de control>.
Publicación traducida automáticamente
Artículo escrito por vishalarya1701 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA