Atomicidad consistencia aislamiento durabilidad (ácido)

Definición - ¿Qué significa la Durabilidad del Aislamiento de Consistencia de Atomicidad (ACID)?

La Durabilidad del Aislamiento de Consistencia de Atomicidad (ACID) es un concepto en los sistemas de administración de bases de datos (DBMS) que identifica un conjunto de propiedades estándar que se utilizan para garantizar la confiabilidad de una base de datos determinada.

ACID se refiere a las cuatro propiedades de transacción de un sistema de base de datos: atomicidad, consistencia, aislamiento y durabilidad. Una transacción es una secuencia de operaciones que satisface estas propiedades.

Las propiedades de ACID garantizan que todas las transacciones de la base de datos sigan siendo precisas y coherentes, y respaldan la recuperación de fallas que puedan ocurrir durante las operaciones de procesamiento. Es implementado por casi todas las bases de datos relacionales.

Techinfo explica la durabilidad del aislamiento de consistencia de atomicidad (ACID)

Una base de datos garantiza las siguientes cuatro propiedades para asegurar la confiabilidad de la base de datos, de la siguiente manera:

Atomicidad

La atomicidad es una propiedad que asegura que una base de datos siga la regla de todo o nada. En otras palabras, la base de datos considera todas las operaciones de transacción como una unidad o átomo completo.

Por lo tanto, cuando una base de datos procesa una transacción, estará completamente terminada o no se ejecuta en absoluto. Si una sola parte de la transacción falla, toda la transacción fallará.

Por ejemplo, el usuario A quiere retirar $ 50 de su cuenta y luego transferirlos a la cuenta del usuario B. Cada transacción (retirar $ 50 de la cuenta A y transferir $ 50 a la cuenta B) se cuenta por separado. Si la primera transacción (retirar $ 50) falla porque, digamos, el servidor falla durante la transacción, el usuario A no puede transferir el dinero al usuario B.

La atomicidad es particularmente importante para mitigar el daño en caso de fallas del servidor de la base de datos. Si una base de datos no volátil falla en medio de una transacción, todos los cambios realizados se descartarán o revertirán para evitar enviar resultados parciales a la base de datos de producción.

Consistencia

La coherencia es una propiedad que garantiza que solo se escriban en la base de datos los datos válidos que sigan todas las reglas y restricciones. Cuando una transacción da como resultado datos no válidos, la base de datos vuelve a su estado anterior, que cumple con todas las reglas y restricciones habituales.

La coherencia es clave para mantener la integridad de los datos. Todos los datos inconsistentes se descartan y todas las transacciones que pueden causar una inconsistencia se cancelan y se crea un error o se transcribe a un registro de errores.

Por ejemplo, si el usuario A quiere retirar $ 1,000 de su cuenta, pero solamente tiene un saldo de $ 500, la coherencia evitará que retire dinero y la transacción se cancelará.

Aislamiento

El aislamiento es una propiedad que garantiza la individualidad de cada transacción y evita que se vean afectados por otras transacciones. Garantiza que las transacciones se procesen de forma segura e independiente al mismo tiempo sin interferencias, pero no garantiza el orden de las transacciones.

Por ejemplo, el usuario A retira $ 100 y el usuario B retira $ 250 de la cuenta del usuario Z, que tiene un saldo de $ 1,000. Dado que tanto A como B se extraen de la cuenta de Z, uno de los usuarios debe esperar hasta que se complete la transacción del otro usuario, evitando datos inconsistentes.

Si se requiere que B espere, entonces B debe esperar hasta que se complete la transacción de A y el saldo de la cuenta de Z cambie a $ 900. Ahora, B puede retirar $ 250 de este saldo de $ 900.

La durabilidad

La durabilidad es una propiedad que obliga a las transacciones completadas, garantizando que una vez comprometidas cada una de ellas, permanecerán en el sistema incluso en caso de fallas posteriores.

Si una transacción es exitosa, todos los cambios generados por ella se almacenan permanentemente.

En el ejemplo anterior, el usuario B puede retirar $ 100 solo después de que la transacción del usuario A se complete y se actualice en la base de datos. Si el sistema falla antes de que la transacción de A se registre en la base de datos, A no puede retirar dinero y la cuenta de Z vuelve a su estado consistente anterior.

Esta definición se escribió en el contexto del sistema de gestión de bases de datos.