|
Acrónimo en inglés: Atomicity, Consistency, Isolation, and Durability.
Se utiliza en el ámbito de las bases de datos. A menudo se utilizan expresiones como "esta base de datos o este sistema cumple las propiedades ACID".
Atomicity (atomicidad) siginifica que el sistema permite operaciones atómicas. Una operación atómica es aquella que si está formada por operaciones más pequeñas, se consideran como un paquete indivisible. Deben ejecutarse todas correctamente, o en el caso de que alguna de ellas no pueda hacerlo, el efecto de las que ya se han ejecutado no debe hacerse notar, debe deshacerse, como si el conjunto de las operaciones no se hubieran realizado. La atomicidad está íntimamente ligada al concepto de transacción de los sistemas gestores de bases de datos. En un SGBD, cuando se indica que un conjunto de operaciones forman una transacción, o se ejecutan todas correctamente, o el SGBD deshará los cambios, como si la transacción nunca se hubiera iniciado. No obstante, atomicidad y transacción no son sinónimos. Mientras atomicidad es una propiedad, la transacción es el mecanismo que utilizan los SGBD para lograr la atomicidad.
Consistency (consistencia), significa que se permite la definición de reglas de integridad de los datos, y que el sistema garantiza que ninguna operación puede dejar los datos en algún estado que deje de cumplir esas reglas. Por ejemplo, los SGBD actuales permiten definir claves ajenas, checks, asserts, etc... Son reglas lógicas que definen los diseñadores de bases de datos sobre un conjunto de datos, y que todo dato perteneciente al conjunto en todo momento debe cumplir. Si el sistema permite consistencia, significa que esas reglas se vigilan constantemente para todos los datos.
Isolation (aislamiento). Esta propiedad indica que las operaciones que se realicen sobre un conjunto de datos serán independientes de cualquiera otras operaciones que se realicen sobre el mismo conjunto de datos. En otras palabras, si una operación atómica intenta actuar sobre un conjunto de datos alterandolos de alguna manera mientras simultáneamente otra operación atómica intenta actuar sobre el mismo conjunto de datos, el sistema nos garantiza que no va a dejar que se interfieran entre ellas. El sistema escogerá el orden correcto de ejecución para que ambas se ejecuten como si la otra no existiera. Además, el sistema no dejará que durante una operación atómica se pueda acceder a resultados intermedios de la operación; los datos no reflejarán su nuevo estado hasta estar finalizada correctamente la operación atómica.
Durability (durabilidad). Significa que en el mismo momento en que una operación ha terminado satisfactoriamente y el sistema informa de ello, sus efectos quedan ya registrados permanentemente. El sistema garantiza que incluso ante un fallo del sistema, los efectos de la operación quedarán ya registrados. Esto, que puede parecer obvio, no siempre ocurre. Hay muchos sistemas que informan del éxito de una operación, pero los resultados no han quedado aún registrados correctamente. (Por ejemplo, si copias un fichero mp3 a tu reproductor USB, y justo en el instante en el que el sistema te dice que ya lo ha copiado retiras el reproductor del puerto USB tienes muchas probabilidades de que el fichero no se haya grabado correctamente, debido a la utilización de una caché de escritura intermedia que utiliza el sistema operativo. Ese sistema no cumple la durabilidad).
|