domingo, 11 de noviembre de 2012

Transacciones


1. ¿Qué es una transacción?
Una Transacción es un unidad de la ejecución de un programa que accede y, posiblemente, actualiza varios elementos de datos.

2. ¿Qué significa ACID?  y defina cada una de las palabras que forman las siglas:

·        Atomicidad: O se realizan adecuadamente, en la base de datos, todas las operaciones de la transacción o no se realiza ninguna de ellas.

Consistencia: La ejecución aislada de la transacción (es decir, sin otra transacción que se ejecute concurrentemente) conserva la consistencia de la base de datos.

Aislamiento: Aunque se ejecuten varias transacciones concurrentemente, el sistema garantiza cada transacción ignora al resto de transacciones.

Durabilidad: Tras la finalización con éxito de una transacción, los cambios realizados en la base de datos permanecen, incluso si hay fallos en el sistema.

3. ¿Qué significa Tx?
Transacción

4. ¿Para qué nos sirve el Rollback?
Para devolver  a la base de datos a algún estado previo.

5. Defina Integridad de datos.
Hace referencia a que todas las características de los datos (reglas, definiciones, fechas, etc) deben ser correctos para que los datos estén completos.

6. Defina concurrencia.
Se refiere al hecho de que los DBMS(Sistema de Admon. de BD) permiten que muchas Tx puedan acceder a una misma base de datos a la vez.

7. Defina Grado de consistencia

8. Mencione aspectos relacionados al procesamiento de transacciones:

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

Consistencia de la base de datos interna: Los algoritmos de control de datos tienen que satisfacer las restricciones de integridad cuando una transacción pretende hacer un compromiso.

Protocolos de confiabilidad: En transacciones distribuidas es necesario introducir medios de comunicación entre los diferentes nodos de una red para garantizar la atomicidad de las transacciones.

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 replicas: Se refiere a como garantizar la consistencia mutua de datos replicados.El procesamiento de transacciones básicamente  consiste en una serie de modificaciones (transacciones) a un determinado recurso del sistema (por ejemplo una base de datos) y en donde se define un punto de inicio y un punto de terminación que define un bloque entre el conjunto de operaciones que son realizadas.

9. Defina los estados de una transacción:

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

 Parcialmente Comprometida: la transacción pasa a este estado cuando acaba de realizar la última instrucción.

Fallida: la transacción pasa a este estado tras descubrir que no puede continuar la ejecución normal.

Abortada: la transacción pasa a este estado después de haber restablecido la base de datos a su estado anterior.

 Comprometida: la transacción pasa a este estado tras completarse con éxito.


10. El estándar ANSI/ISO SQL define cuatro niveles de aislamiento transaccional en función de tres eventos que son permitidos o no dependiendo del nivel de aislamiento. Estos eventos son:

Lectura sucia. Las sentencias SELECT son ejecutadas sin realizar bloqueos, pero podría usarse una versión anterior de un registro. Por lo tanto, las lecturas no son consistentes al usar este nivel de aislamiento.

Lectura norepetible. Una transacción vuelve a leer datos que previamente había leído y encuentra que han sido modificados o eliminados por una transacción cursada.

Lectura fantasma. Una transacción vuelve a ejecutar una consulta, devolviendo un conjunto de registros que satisfacen una condición de búsqueda y encuentra que otros registro que satisfacen la condición han sido insertadas por otra transacción cursada.

No hay comentarios:

Publicar un comentario