Vous êtes sur la page 1sur 3

ESCUELA POLITCNICA NACIONAL

FACULTAD DE INGENIERA DE SISTEMAS


PERODO ACADMICO: 2016-A
ASIGNATURA: Auditoria y Evaluacin de Sistemas Computacionales
PROFESOR: MSc. Juan Alberto Herrera Silva
TIPO DE INSTRUMENTO: Tarea
GRUPO: GR2
FECHA: 2016-07-15
INTEGRANTES: Arboleda Carlos
Cern Laura
Ortiz Leonardo

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 transaccin. En las bases de datos, se denomina
transaccin a una nica operacin lgica ("de negocio"). Por ejemplo, es una
sola transaccin la accin de transferir fondos de una cuenta bancaria a otra,
aun cuando involucra varios cambios en distintas tablas.
En 1970, Jim Gray defini las propiedades que necesitaba tener una
transaccin confiable, y desarroll tecnologas para automatizarlas. Ms tarde,
en 1983, Andreas Reuter y Theo Hrder crearon el trmino "ACID" para
describir estas 4 propiedades.
Atomicidad
La Atomicidad requiere que cada transaccin sea "todo o nada": si una parte de
la transaccin falla, todas las operaciones de la transaccin fallan, y por lo tanto
la base de datos no sufre cambios. Un sistema atmico tiene que garantizar la
atomicidad en cualquier operacin y situacin, incluyendo fallas de
alimentacin elctrica, errores y cadas del sistema.
En una transaccin atmica, una serie de operaciones en la base de datos
ocurren todas, o no ocurre ninguna. La atomicidad previene que las
actualizaciones a la base ocurren de forma parcial, lo cual podra ocasionar
mayores problemas que rechazar la transaccin entera. En otras palabras, la
atomicidad significa indivisibilidad e irreductibilidad.
Usualmente, los sistemas implementan la atomicidad mediante algn
mecanismo que indica qu transaccin comenz y cul finaliz; o manteniendo
una copia de los datos antes de que ocurran los cambios. Las bases de datos
en general implementan la atomicidad usando algn sistema de logging para
seguir los cambios. El sistema sincroniza los logs a medida que resulta

necesario una vez que los cambios ocurren con xito. Luego, el sistema de
recuperacin de cadas simplemente ignora las entradas incompletas.
En los sistemas de almacenamiento No SQL con consistencia eventual, la
atomicidad se especifica de forma ms dbil que en los sistemas relacionales,
y existe slo para las filas.
Consistencia
La propiedad de Consistencia se asegura que cualquier transaccin llevar a la
base de datos de un estado vlido a otro estado vlido. Cualquier dato que se
escriba en la base de datos tiene que ser vlido de acuerdo a todas las reglas
definidas, incluyendo (pero no limitado a) los constraints, los cascades, los
triggers, y cualquier combinacin de estos.
La consistencia asegura que los cambios a los valores de una instancia son
consistentes con cambios a otros valores de la misma instancia. Una restriccin
de consistencia es un predicado sobre los datos que funcionan como
precondicin, pos condicin, y condicin de transformacin en cualquier
transaccin. El sistema de la base de datos asume que la consistencia se
mantiene para cada transaccin en las instancias. Por otro lado, asegurar la
propiedad de consistencia de la transaccin es responsabilidad del usuario.
Aislamiento
El aislamiento ("Asolacin" en ingls) se asegura que la ejecucin concurrente
de las transacciones resulte en un estado del sistema que se obtendra si estas
transacciones fueran ejecutadas una atrs de otra. Cada transaccin debe
ejecutarse en aislamiento total; por ejemplo, si T1 y T2 se ejecutan
concurrentemente, luego cada una debe mantenerse independiente de la otra.
La mayora de las bases de datos ofrecen una cantidad de niveles de
aislamiento de transacciones, que controlan el grado de bloqueo que ocurre
cuando se seleccionan datos. Para muchas aplicaciones, se pueden construir
la mayora de las transacciones evitando los niveles ms altos de aislamiento
(por ejemplo, el nivel SERIALIZABLE), y por lo tanto reduciendo la carga en el
sistema por bloqueos. El programador tiene que analizar el cdigo de acceso
para asegurar que se pueda relajar el nivel de aislamiento sin generar bugs que
luego seran difciles de encontrar. Por otro lado, si se usan niveles ms altos
de aislamiento, es ms probable la aparicin de dealocks, lo cual requieren de
anlisis y la implementacin de tcnicas de programacin para evitarlos.
Durabilidad
La durabilidad significa que una vez que se confirm una transaccin (commit),
quedar persistida, incluso ante eventos como prdida de alimentacin
elctrica, errores y cadas 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).

La durabilidad es la propiedad que garantiza que las transacciones que


tuvieron un commit sobrevivan de forma permanente.
La durabilidad puede lograrse almacenando los registros de log de la
transaccin en un medio de almacenamiento no-voltil antes de aceptar los
commit.
En las transacciones distribuidas, todos los participantes deben coordinarse
antes de aceptar un commit. Esto se suele realizar mediante el protocolo de
"commit en dos fases".
Muchas bases de datos implementan la durabilidad escribiendo las
transacciones en un log de transacciones que puede ser reprocesado para
recrear el estado del sistema antes de una falla. Una transaccin se considera
confirmada slo luego de que haya sido ingresada al log.

Vous aimerez peut-être aussi