transacción - base database
¿Qué es un ejemplo del mundo real de ACID? (3)
Tome cualquier script perl que use para manipular datos en una base de datos relacional, ponga un "BEGIN" en la parte superior y un "COMMIT" en la parte inferior, y sabe que el script perl funcionó o no tuvo efecto en su base de datos (a menos que haya insertado sentencias DDL en mysql). La atomicidad es muy poderosa para tener una seguridad como esa al diseñar software robusto (y mi favorito de las propiedades).
Estoy buscando un ejemplo del mundo real para las diversas propiedades ACID de una base de datos.
* Atomicidad: desde la perspectiva del usuario, una transacción se completa en su totalidad (es decir, se actualizan todas las tablas de bases de datos relevantes) o no se realiza en absoluto. Si se produce un error o una interrupción, todos los cambios realizados hasta ese momento se eliminan.
• Coherencia: todas las condiciones de integridad en la base de datos se mantienen con cada transacción, tomando la base de datos de un estado consistente a otro estado consistente.
• Aislamiento: cada transacción se aísla de otras transacciones y, por lo tanto, cada transacción solo accede a datos que forman parte de un estado de base de datos coherente.
• Durabilidad: si una transacción ha sido informada a un usuario como completa, los cambios resultantes en la base de datos sobreviven a las fallas posteriores de hardware o software.
Atomicidad : una transacción para transferir fondos de una cuenta a otra implica realizar una operación de retiro de la primera cuenta y una operación de depósito en la segunda. Si la operación de depósito falló, usted tampoco quiere que la operación de retiro ocurra.
Consistencia : una base de datos que realiza el seguimiento de una cuenta de cheques solo puede permitir que existan números de cheques únicos para cada transacción
Aislamiento : un cajero que busca un saldo debe estar aislado de una transacción concurrente que implique un retiro de la misma cuenta. Solo cuando la transacción de retiro se realice con éxito y el cajero vuelva a mirar el saldo, se informará el nuevo saldo.
Durabilidad : no se debe permitir que una falla del sistema o cualquier otra falla pierda los resultados de una transacción o el contenido de la base de datos. La durabilidad a menudo se logra a través de registros de transacciones independientes que pueden "recrear" todas las transacciones desde un punto determinado en el tiempo (como una copia de seguridad).
(resumen de los ejemplos del mundo real del link de le dorfier)