Rollback

Tabla de contenidos

Resumir con:

El rollback es un término utilizado en informática, especialmente en el contexto de bases de datos y sistemas de gestión de transacciones, que se refiere a la acción de revertir un conjunto de operaciones a un estado anterior. Se realiza para asegurar la integridad y consistencia de los datos en caso de que ocurra un error, fallo o cualquier condición que requiera que las operaciones se deshagan.

Si ocurre un error durante una transacción, el rollback permite revertir todas las operaciones realizadas hasta ese punto para eliminar dicho error y mantener la coherencia original en los datos.

Características del rollback

Algunas características clave del rollback incluyen:

  • Atomicidad: El rollback garantiza que las transacciones sean atómicas, es decir, o se completan todas las operaciones dentro de una transacción o ninguna lo hace.
  • Consistencia: Asegura que el sistema regrese a un estado consistente después de una transacción fallida, evitando que los datos se corrompan.
  • Aislamiento: Los efectos de una transacción no son visibles para otras transacciones hasta que la transacción se complete. Si se hace un rollback, los cambios realizados en esa transacción no serán visibles para otras transacciones en curso.
  • Durabilidad: Aunque el rollback en sí deshace los cambios, el proceso de realizar un rollback está diseñado para ser duradero, de forma que los cambios no se apliquen y el sistema regrese a un estado seguro y coherente.

Aplicaciones del rollback

El rollback encuentra las siguientes aplicaciones:

  • Sistema financiero: El rollback es la herramienta que permite que una transacción sea atómica. Si ocurre un error durante la ejecución de una transacción bancaria, mediante el rollback podemos revertir todos los cambios que se han hecho hasta ese momento. 
  • Bases de datos: En sistemas de bases de datos relacionales, el rollback es una operación esencial para manejar transacciones fallidas. Por ejemplo, si una transacción que involucra múltiples operaciones de inserción, actualización o eliminación falla a mitad de camino, el sistema puede revertir todas las operaciones realizadas hasta ese punto.
  • Sistemas de control de versiones: En el desarrollo de software, los sistemas de control de versiones como Git permiten realizar rollbacks para deshacer cambios a un estado previo del código.
  • Actualización de software: En la gestión de actualizaciones de sistemas y aplicaciones, el rollback permite revertir una actualización fallida a una versión anterior que funcionaba correctamente.

Ejemplo de sentencia rollback en SQL

Supongamos que tenemos una base de datos con dos tablas simples: clientes y transacciones. Queremos actualizar el saldo de un cliente y registrar una transacción. Sin embargo, si algo sale mal durante el proceso, necesitamos revertir todos los cambios realizados.

Estructura de las tablas

CREATE TABLE clientes (

    cliente_id INT PRIMARY KEY,

    nombre VARCHAR(100),

    saldo DECIMAL(10, 2)

);

CREATE TABLE transacciones (

    transaccion_id INT PRIMARY KEY,

    cliente_id INT,

    monto DECIMAL(10, 2),

    fecha DATE

);

  1. Iniciamos la transacción

BEGIN TRANSACTION;

  1. Realizamos una operación

— Supongamos que el cliente con ID 1 hace un depósito de 200

UPDATE clientes

SET saldo = saldo + 200

WHERE cliente_id = 1;

— Insertamos el registro de la transacción

INSERT INTO transacciones (transaccion_id, cliente_id, monto, fecha)

VALUES (1, 1, 200, GETDATE());

  1. Cometemos un error y hacemos rollback

IF @@ERROR != 0

BEGIN

    — Si ocurre un error, revertimos todas las operaciones

    ROLLBACK TRANSACTION;

    PRINT ‘Transacción fallida, cambios revertidos.’;

END

ELSE

BEGIN

    — Si no hay errores, confirmamos la transacción

    COMMIT TRANSACTION;

    PRINT ‘Transacción completada exitosamente.’;

END

Compartir en:

Artículos relacionados

Core Web Vitals

Los Core Web Vitals (CWV) son un conjunto de métricas que miden la experiencia real que tienen los usuarios con las páginas web. Estas métricas se centran en tres aspectos fundamentales de la experiencia del usuario: la velocidad de carga, la capacidad de

Ley de Moore

La Ley de Moore, enunciada por Gordon Moore en 1965, observa que el número de transistores que se pueden colocar en un circuito integrado se duplica aproximadamente cada dos años.   Esto se traduce en un aumento exponencial de la potencia de procesamiento

Business intelligence

La inteligencia de negocios (BI) es un concepto integral que revoluciona la forma en que las empresas toman decisiones estratégicas. Utilizando tecnologías avanzadas, el BI recopila, analiza y presenta datos empresariales para facilitar la toma de decisiones informadas. Este enfoque va más allá

Crawl budget

El Crawl Budget, o presupuesto de rastreo, es un concepto fundamental dentro del Search Engine Optimization (SEO) que hace referencia a la cantidad de páginas que el Googlebot (u otros bots de motores de búsqueda) está dispuesto a rastrear en un sitio web

Scroll al inicio