jueves, 24 de octubre de 2013


Transacción

Una transacción es una unidad de la ejecución de un programa que lee y escribe datos a y desde la Base de Datos. Puede consistir en varias operaciones de acceso a la base de datos. Una Transacción está delimitada por instrucciones de inicio transacción y fin transacción (la transacción consiste en todas las operaciones que se ejecutan entre inicio transacción y fin transacción

 

ACID

·       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

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).

 

 

ROLLBACK

Después de haber deshabilitado el autocomit , el rollback se utiliza cuando el usuario no quiere almacenar  los cambios en el disco, lo que realiza es ignorar los cambios hechos desde el comienzo de la transaccion.

 

Integridad

Integridad de datosLa exigencia de integridad de los datos garantiza la calidad de los datos de la base de datos. Por ejemplo, si se especifica para un empleado el valor de identificador de 123, la base de datos no debe permitir que ningún otro empleado tenga el mismo valor de identificador. Si tiene una columna employee_rating para la que se prevean valores entre 1 y 5, la base de datos no debe aceptar valores fuera de ese intervalo. Si en la tabla hay una columna dept_id en la que se almacena el número de departamento del empleado, la base de datos sólo debe permitir valores que correspondan a los números de departamento de la empresa.Dos pasos importantes en el diseño de las tablas son la identificación de valores válidos para una columna y la determinación de cómo forzar la integridad de los datos en la columna

Concurrencia

El termino concurrencia sí refiere al Hecho de Que los DBMS (SISTEMAS DE ADMINISTRACIO N DEBD) PermisoEn que los muchas Transacciones puedan accesar a UnaMisma AGRIS a la Vez.En Un Sistema de ESTOS SE necesitan algun pisos de Mecanismos de control de concurrencia párr asegurar Que las transaccione s concurrentes no interfieran Entre si.en Sistemas multiusuario, esNecesario sin MECANISMO párrafo Controlar la concurrencia. Sepueden Producir inconsistencias Importantes Derivadas del Accesoconcurrente, COMO EJEMPLO porción, elProblema de la Operación perdida

 
Consistencia
La consistencia de una transacción es simplemente su correctitud

Consistencia es un término más amplio que el de integridad. Podría definirse como la coherencia entre

todos los datos de la base de datos. Cuando se pierde la integridad también se pierde la consistencia. Pero la

consistencia también puede perderse por razones de funcionamiento.

Una transacción finalizada (confirmada parcialmente) puede no confirmarse definitivamente (consistencia).

Si se confirma definitivamente el sistema asegura la persistencia de los cambios que ha efectuado en la base de datos.

Si se anula los cambios que ha efectuado son deshechos.

La ejecución de una transacción debe conducir a un estado de la base de datos consistente (que cumple todas las restricciones de integridad definidas).

Si se confirma definitivamente el sistema asegura la persistencia de los cambios que ha efectuado en la base de datos.

Si se anula los cambios que ha efectuado son deshechos.



Activa (Active): el estado inicial; la transacción permanece en este estado durante su ejecución.

Parcialmente comprometida (Uncommited): Después de ejecutarse la ultima transacción.

Fallida (Failed): tras descubrir que no se puede continuar la ejecución normal.

Abortada (Rolled Back): después de haber retrocedido la transacción y restablecido la base de datos a su estado anterior al comienzo de la transacción.

Comprometida (Commited): tras completarse con éxito.

 

Aspectos relacionados al procesamiento de transacciones

 Los siguientes son los aspectos más importantes relacionados con el procesamiento de transacciones:

Modelo de estructura de transacciones. Es importante considerar si las transacciones son planas o pueden estar anidadas.

Consistencia de la base de datos interna. Los algoritmos de control de datos semántico tienen que satisfacer siempre las restricciones de integridad cuando una transacción pretende hacer un commit.

Protocolos de confiabilidad. En transacciones distribuidas es necesario introducir medios de comunicación entre los diferentes nodos de una red para garantizar la atomicidad y durabilidad de las transacciones. Así también, se requieren protocolos para la recuperación local y para efectuar los compromisos (commit) globales.

Algoritmos de control de concurrencia. Los algoritmos de control de concurrencia deben sincronizar la ejecución de transacciones concurrentes bajo el criterio de correctitud. La consistencia entre transacciones se garantiza mediante el aislamiento de las mismas.

Protocolos de control de réplicas. El control de réplicas se refiere a cómo garantizar la consistencia mutua de datos replicados. Por ejemplo se puede seguir la estrategia read-one-write-all (ROWA).



 

No hay comentarios:

Publicar un comentario