En las tecnologías de bases de datos , una reversión es una operación que devuelve la base de datos a un estado anterior. Las reversiones son importantes para la integridad de la base de datos , porque significan que la base de datos se puede restaurar a una copia limpia incluso después de que se realicen operaciones erróneas. [1] Son cruciales para recuperarse de fallas del servidor de base de datos; al revertir cualquier transacción que estaba activa en el momento de la falla, la base de datos se restaura a un estado consistente.
La función de reversión generalmente se implementa con un registro de transacciones , pero también se puede implementar a través del control de concurrencia de múltiples versiones .
En los sistemas de bases de datos se produce una reversión en cascada cuando una transacción (T1) provoca un error y se debe realizar una reversión. Otras transacciones que dependen de las acciones de T1 también deben revertirse debido al error de T1, lo que provoca un efecto en cascada. Es decir, el error de una transacción hace que muchas otras fallen.
Las técnicas prácticas de recuperación de bases de datos garantizan una reversión sin cascada, por lo que una reversión en cascada no es un resultado deseable. La reversión en cascada la programa el administrador de bases de datos.
SQL hace referencia a Structured Query Language, un tipo de lenguaje utilizado para acceder, actualizar y manipular bases de datos. En SQL , ROLLBACK
es un comando que hace que todos los cambios en los datos desde la última START TRANSACTION
vez que BEGIN
se realizaron los cambios sean descartados por los sistemas de gestión de bases de datos relacionales (RDBMS), de modo que el estado de los datos se "revierte" a la forma en que estaban antes de que se realizaran esos cambios. [2]
Una ROLLBACK
declaración también liberará cualquier punto de guardado existente que pueda estar en uso.
En la mayoría de los dialectos SQL, ROLLBACK
las s son específicas de la conexión. Esto significa que si se realizan dos conexiones a la misma base de datos, una s ROLLBACK
en una conexión no afectará a ninguna otra conexión. Esto es vital para una concurrencia adecuada .
Las operaciones de reversión no son exclusivas de las bases de datos: cualquier sistema distribuido con estado puede utilizar operaciones de reversión para mantener la coherencia . Entre los ejemplos de sistemas distribuidos que pueden admitir operaciones de reversión se incluyen las colas de mensajes y los sistemas de gestión de flujos de trabajo . En términos más generales, cualquier operación que restablezca un sistema a su estado anterior antes de otra operación o serie de operaciones puede considerarse una reversión.