¿Qué es ACID?
• ACID
es un grupo de 4 propiedades que garantizan que las transacciones en las bases
de datos se realicen de forma confiable.
• Para
empezar a definir ACID en el ámbito de las bases de datos, es necesario
comprender el concepto de transacción.
• En
las bases de datos, se denomina transacción a una única operación lógica
("de negocio"). Por ejemplo, es una sola transacción la acción de
transferir fondos de una cuenta bancaria a otra, aún cuando involucra varios
cambios en distintas tablas.
Atomicidad
• La
Atomicidad requiere que cada transacción sea "todo o nada": si una
parte de la transacción falla, todas las operaciones de la transacción fallan,
y por lo tanto la base de datos no sufre cambios. Un sistema atómico tiene que
garantizar la atomicidad en cualquier operación y situación, incluyendo fallas
de alimentación eléctrica, errores y caidas del sistema.
Consistencia
• La
propiedad de Consistencia se asegura que cualquier transacción llevará a la
base de datos de un estado válido a otro estado válido. Cualquier dato que se
escriba en la base de datos tiene que ser válido de acuerdo a todas las reglas
definidas, incluyendo (pero no limitado a) los constraints, los cascades, los
triggers, y cualquier combinación de estos.
Aislamiento
t.• El
aislamiento ("Isolation" en inglés) se asegura que la ejecución
concurrente de las transacciones resulte en un estado del sistema que se
obtendría si estas transacciones fueran ejecutadas una atrás de otra. Cada
transacción debe ejecutarse en aislamiento total; por ejemplo, si T1 y T2 se
ejecutan concurrentemente, luego cada una debe mantenerse independiente de la
otra.
Durabilidad
• La
durabilidad significa que una vez que se confirmó una transacción (commit),
quedará persistida, incluso ante eventos como pérdida de alimentación
eléctrica, errores y caidas del sistema. Por ejemplo, en las bases de datos
relacionales, una vez que se ejecuta un grupo de sentencias SQL, los resultados
tienen que almacenarse inmediatamente (incluso si la base de datos se cae
inmediatamente luego).
Comentarios
Publicar un comentario