Gestión de transacciones DBMS: ¿Cuáles son las propiedades de ACID?

¿Qué es una transacción de base de datos?

UNA. Transacción de base de datos Es una unidad lógica de procesamiento en un DBMS que comprende una o más operaciones de acceso a la base de datos. En resumen, las transacciones de bases de datos representan los eventos del mundo en cualquier empresa.

Cada tipo de operación de acceso a la base de datos se considera una única transacción lógica en un DBMS que se mantiene entre las declaraciones de transacción de apertura y cierre. La base de datos es inconsistente durante la transacción. El estado se cambia de un estado consistente a otro tan pronto como se crea la base de datos.

En este tutorial, aprenderá:

Datos sobre transacciones de bases de datos

¿Por qué necesita consenso en las transacciones?

Una base de datos a la que se accede es un recurso compartido. Es utilizado simultáneamente por muchos usuarios y procesos. Por ejemplo, el sistema bancario, los sistemas de reservas ferroviarias y aéreas, el seguimiento del mercado de valores, el inventario de supermercados y los cheques, etc.

Si no se administra el acceso concurrente, problemas como:

Estado de las transacciones

Los diversos estados del concepto de transacción en DBMS se enumeran a continuación:

MencionarTipos de transacciones
Estado activoUna transacción entra en un estado activo cuando comienza el proceso de ejecución. Durante este estado, las operaciones se pueden leer o escribir.
Parcialmente comprometidoUna transacción entra en el estado parcialmente dedicado después del final de la transacción.
Estado comprometidoUna vez que la transacción está comprometida con el estado, su ejecución ya se ha completado con éxito. Además, todos sus cambios se registran permanentemente en la base de datos.
Estado fallidoSe considera que una transacción ha fallado cuando cualquiera de las comprobaciones falla o la transacción se aborta mientras está en estado activo.
Estado de terminaciónEl estado de transacción alcanza un estado de terminación cuando ciertas transacciones que salen del sistema no se pueden reiniciar.
Diagrama de transferencia de estado para transacciones de bases de datos

Estudiemos un indicar un diagrama de transferencia que destaca cómo se mueve una transacción entre estos diferentes estados.

  1. Tan pronto como una transacción dice ejecución, se activa. Puede emitir una operación READ o WRITE.
  2. Una vez completadas las operaciones READ y WRITE, las transacciones se confirman parcialmente.
  3. Posteriormente, algunos protocolos de recuperación deben garantizar que la imposibilidad de registrar los cambios en la transacción de forma permanente no resulte en una falla del sistema. Si esta comprobación tiene éxito, la transacción se compromete y entra en el estado comprometido.
  4. Si la verificación falla, la transacción pasa al estado Fallido.
  5. Si la transacción se aborta mientras está en estado activo, pasa al estado fallido. La transacción debe revertirse para cancelar el efecto de sus operaciones de escritura en la base de datos.
  6. El estado de terminación se refiere a la transacción que sale del sistema.

Propiedad ACID en DBMS, por ejemplo:

El siguiente es un ejemplo de una propiedad ACID en un DBMS:


Transaction 1: Begin X=X+50, Y = Y-50 END
Transaction 2: Begin X=1.1*X, Y=1.1*Y END

La transacción 1 está transfiriendo $ 50 de la cuenta X a la cuenta Y.

La transacción 2 acredita un pago de interés del 10% para cada cuenta.

Si las dos transacciones se combinan, no hay garantía de que la Transacción 1 se ejecute antes de la Transacción 2 o viceversa. Independientemente del orden, el resultado debe ser como si las transacciones se realizaran en serie una tras otra.

Tipos de transacciones

Basado en campos de aplicación

Basado en acciones

Basado en estructura

¿Qué es un horario?

La programación es un proceso que crea un grupo de múltiples transacciones paralelas y las realiza una por una. Debe preservar el orden en el que están contenidas las instrucciones en cada transacción. Si se realizan dos transacciones al mismo tiempo, el resultado de una transacción puede afectar el resultado de otra transacción.

Ejemplo


Initial Product Quantity is 10
Transaction 1: Update Product Quantity to 50
Transaction 2: Read Product Quantity

Si la Transacción 2 se realiza antes de la Transacción 1, se leerá información desactualizada sobre la cantidad de producto. Por lo tanto, se requieren horarios.

La ejecución paralela en una base de datos es inevitable. Pero la ejecución paralela está permitida cuando existe una relación equivalente entre las transacciones realizadas al mismo tiempo. Este equivalente es de 3 tipos.

IGUALDAD DE INVESTIGACIÓN:

Si dos programas muestran el mismo resultado después de la ejecución, se denomina programa de resultados equivalente. Pueden ofrecer el mismo resultado en un valor dado y resultados diferentes en otro conjunto de valores. Por ejemplo, una transacción actualiza la cantidad del producto y otra actualiza los detalles del cliente.

Ver equivalencia

Consulte Equivalencia cuando la transacción en ambos programas realiza una acción similar. Por ejemplo, una transacción ingresa los detalles del producto en la tabla de productos y otra transacción ingresa los detalles del producto en la tabla de archivo. La transacción es la misma, pero las tablas son diferentes.

Equivalente a CONFLICTO

En este caso, dos transacciones actualizan / visualizan el mismo conjunto de datos. Existe un conflicto entre transacciones porque el orden de ejecución afectará la salida.

¿Qué es la serialización?

La usabilidad en serie es el proceso de búsqueda de un programa concurrente cuya salida sea igual a un programa en serie en el que se realiza una transacción de hígado una tras otra. Dependiendo del tipo de horario, existen dos tipos de serial:

Resumen:

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *