¿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
- Una transacción es una unidad de programa cuya ejecución puede alterar o no el contenido de la base de datos.
- El concepto de transacción en DBMS se ejecuta como una sola unidad.
- Si las operaciones de la base de datos no actualizan la base de datos pero recuperan datos, este tipo de transacción se denomina transacción de solo lectura.
- Una transacción exitosa puede cambiar la base de datos de un ESTADO CONSOLIDADO a otro
- Las transacciones DBMS deben ser atómicas, consistentes, remotas y permanentes.
- Si la base de datos estaba en un estado inconsistente antes de una transacción, permanecería en un estado inconsistente después de la transacción.
¿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:
- Fallo de hardware y bloqueos del sistema
- Ejecución concurrente de la misma transacción, fecha límite o rendimiento lento
Estado de las transacciones
Los diversos estados del concepto de transacción en DBMS se enumeran a continuación:
Mencionar | Tipos de transacciones |
Estado activo | Una 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 comprometido | Una transacción entra en el estado parcialmente dedicado después del final de la transacción. |
Estado comprometido | Una 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 fallido | Se 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ón | El estado de transacción alcanza un estado de terminación cuando ciertas transacciones que salen del sistema no se pueden reiniciar. |
Estudiemos un indicar un diagrama de transferencia que destaca cómo se mueve una transacción entre estos diferentes estados.
- Tan pronto como una transacción dice ejecución, se activa. Puede emitir una operación READ o WRITE.
- Una vez completadas las operaciones READ y WRITE, las transacciones se confirman parcialmente.
- 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.
- Si la verificación falla, la transacción pasa al estado Fallido.
- 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.
- El estado de terminación se refiere a la transacción que sale del sistema.
¿Cuáles son las propiedades del ACID?
Propiedades ACID se utilizan para mantener la integridad de la base de datos durante el procesamiento de transacciones. ACID son las siglas de DBMS UNA.tomicidad C.coherencia I.solation, y D.durabilidad.
- Atómico: Una transacción es una sola unidad de operación. O lo ejecuta por completo o no lo hace en absoluto. La ejecución parcial no es posible.
- Consistencia: Una vez realizada la transacción, debería pasar de un estado coherente a otro.
- Aislamiento: La transacción debe realizarse por separado de otras transacciones (sin bloqueos). Durante la ejecución concurrente de transacciones, los resultados de las transacciones intermedias de las transacciones simultáneas no deben estar disponibles entre sí. (Nivel 0,1,2,3)
- Durabilidad: · Una vez completada con éxito una transacción, los cambios en la base de datos deberían continuar. Incluso en caso de fallas 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
- No distribuido vs. distribuido
- Transacciones de compensación
- Momento de las transacciones
- Lote en línea vs.
Basado en acciones
- Dos pasos
- Restricciones
- Modelo de acción
Basado en estructura
- Transacciones planas o simples: Consiste en una secuencia de operaciones primitivas realizadas entre las operaciones de inicio y finalización.
- Transacciones anidadas: una transacción que involucra otras transacciones.
- Flujo de trabajo
¿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:
- La gestión de transacciones es una unidad lógica de procesamiento en un DBMS que involucra una o más operaciones de acceso a la base de datos.
- Una transacción es una unidad de programa cuya ejecución puede cambiar o no el contenido de la base de datos.
- No administrar el acceso simultáneo puede generar problemas como fallas de hardware y fallas del sistema.
- Activo, Comprometido parcialmente, Comprometido, Fallido y Completado son estados de transacción importantes.
- La forma completa de Propiedades ACID en DBMS es Atómica, Consistencia, Aislamiento y Durabilidad.
- Hay tres tipos de transacciones DBMS basadas en campos de aplicación, acción y estructura.
- La programación es un proceso que crea un grupo de múltiples transacciones paralelas y las realiza una por una.
- La usabilidad en serie es el proceso de búsqueda de una programación concurrente cuya salida sea igual a una programación en serie en la que las transacciones se realizan una tras otra.