gestion de transacciones

14

Click here to load reader

Upload: ruth-hidalgo

Post on 06-Jul-2015

1.638 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Gestion de transacciones

Gestión de Transacciones

Ruth Hidalgo

Page 2: Gestion de transacciones

20.1 Explique el concepto de 20.1 Explique el concepto de transacción. ¿Por qué son las transacción. ¿Por qué son las transacciones unidades de transacciones unidades de operación tan importantes en un operación tan importantes en un SGBD?SGBD?

Transacción son un conjunto de acciones Transacción son un conjunto de acciones que se realizan de una manera de que se realizan de una manera de trabajo lógico que lleva a la base de trabajo lógico que lleva a la base de datos, estás pueden ser coherentes o datos, estás pueden ser coherentes o incoherentes, pero que en su respuesta incoherentes, pero que en su respuesta darán un resultado acorde con lo darán un resultado acorde con lo solicitado.solicitado.

Page 3: Gestion de transacciones

20.1 Los aspectos de coherencia y fiabilidad de 20.1 Los aspectos de coherencia y fiabilidad de las transacciones se deben a las propiedades las transacciones se deben a las propiedades ACID de las mismas. Explique cada una de ACID de las mismas. Explique cada una de dichas propiedades y cómo se relacionan con dichas propiedades y cómo se relacionan con los mecanismos de control de concurrencia y de los mecanismos de control de concurrencia y de recuperación. Proporcione ejemplos para recuperación. Proporcione ejemplos para ilustrar su respuesta.ilustrar su respuesta.

Las propiedades de las transacciones son: Las propiedades de las transacciones son: Atomicidad, Coherencia, Aislamiento, PermanenciaAtomicidad, Coherencia, Aislamiento, Permanencia

Page 4: Gestion de transacciones

20.3 Describa, con ejemplos, los tipos de 20.3 Describa, con ejemplos, los tipos de problemas que pueden producirse en un problemas que pueden producirse en un entorno multiusuario cuando se permite un entorno multiusuario cuando se permite un acceso concurrente a la base de datos.acceso concurrente a la base de datos.

Problema del análisis incoherente:Problema del análisis incoherente: Ocurre cuando se regresa nuevamente a leer la tupla, Ocurre cuando se regresa nuevamente a leer la tupla,

pero esta ya ha sido cambiada por tanto tendrá un pero esta ya ha sido cambiada por tanto tendrá un nuevo valor y por lo tanto el cálculo realizado será nuevo valor y por lo tanto el cálculo realizado será incoherente, para resolver esto se debe realizar lo incoherente, para resolver esto se debe realizar lo mismo que en el problema anterior.mismo que en el problema anterior.

Page 5: Gestion de transacciones

20.4 Describa en detalle un mecanismo para 20.4 Describa en detalle un mecanismo para control de concurrencia que pueda usarse para control de concurrencia que pueda usarse para garantizar que los tipos de problemas garantizar que los tipos de problemas enunciados en la Cuestión 20.3 no produzcan. enunciados en la Cuestión 20.3 no produzcan. Muestre cómo dicho mecanismo evita que Muestre cómo dicho mecanismo evita que aparezcan esos problemas. Explique cómo aparezcan esos problemas. Explique cómo interacciona el mecanismo de control de interacciona el mecanismo de control de concurrencia con el mecanismo de concurrencia con el mecanismo de transacciones.transacciones.

Un mecanismo es que se ejecute solo una transacción Un mecanismo es que se ejecute solo una transacción cada vez, es decir que para que continúe con otra cada vez, es decir que para que continúe con otra transacción esta debe confirmarse para que comience transacción esta debe confirmarse para que comience la siguiente. Otra solución es que se ejecuten las la siguiente. Otra solución es que se ejecuten las transacciones en paralelo y sin que interfieran unas con transacciones en paralelo y sin que interfieran unas con otras.otras.

Page 6: Gestion de transacciones

20.5 Explique los conceptos de planificaciones 20.5 Explique los conceptos de planificaciones serie, no serie y serializables. Indique las reglas serie, no serie y serializables. Indique las reglas de equivalencia de planificaciones.de equivalencia de planificaciones.

Serie:Serie: Es en la cual las operaciones de un conjunto de Es en la cual las operaciones de un conjunto de

transacciones concurrentes están entrelazadas.transacciones concurrentes están entrelazadas.No serie:No serie: Es la cual las operaciones de cada Es la cual las operaciones de cada transacción se ejecutan consecutivamente sin que se transacción se ejecutan consecutivamente sin que se entrelacen operaciones de otras transacciones.entrelacen operaciones de otras transacciones.Serializables.-Serializables.- Se dice que si el conjunto de Se dice que si el conjunto de transacciones se ejecuta concurrentemente y si transacciones se ejecuta concurrentemente y si produce los mismos resultados que alguna ejecución en produce los mismos resultados que alguna ejecución en serie, se denomina planificación serializable.serie, se denomina planificación serializable.

Page 7: Gestion de transacciones

20.6 Explique la diferencia entre serializabilidad de 20.6 Explique la diferencia entre serializabilidad de conflictos y serializabilidad de vistasconflictos y serializabilidad de vistas

La serializabilidad de conflictos es una planificación que La serializabilidad de conflictos es una planificación que ordena las operaciones conflictivas de la misma manera que ordena las operaciones conflictivas de la misma manera que alguna de las posibles ejecuciones serie mientras que la alguna de las posibles ejecuciones serie mientras que la serializabilidad de vistas si es equivalente en términos de serializabilidad de vistas si es equivalente en términos de vistas a una planificación en serie, o si es serializable en vistas a una planificación en serie, o si es serializable en términos de conflictos, pero que no lo es vista a la inversa.términos de conflictos, pero que no lo es vista a la inversa.

Page 8: Gestion de transacciones

20.7 Explique los tipos de problemas que pueden 20.7 Explique los tipos de problemas que pueden tener lugar con los mecanismos de control de tener lugar con los mecanismos de control de concurrencia basados en bloqueo y las acciones concurrencia basados en bloqueo y las acciones

que el SGBD puede tomar para prevenirlosque el SGBD puede tomar para prevenirlos..ProblemasProblemas

Se puede provocar interbloqueosSe puede provocar interbloqueosAnulación en cascadaAnulación en cascadaPuede existir que las transacciones queden en Puede existir que las transacciones queden en bloqueo indefinidobloqueo indefinido

El SGBD utiliza un sistema de prioridades en la El SGBD utiliza un sistema de prioridades en la que la prioridad vaya aumentando a medida que que la prioridad vaya aumentando a medida que lo hace el tiempo de espera.lo hace el tiempo de espera.

Page 9: Gestion de transacciones

20.8 ¿Por qué el bloque de dos fases no seria un 20.8 ¿Por qué el bloque de dos fases no seria un esquema de control de concurrencia apropiado esquema de control de concurrencia apropiado para los índices? Explique otro esquema de para los índices? Explique otro esquema de bloque más apropiado para índices basados en bloque más apropiado para índices basados en árbol.árbol.

Debido a que se puede acceder con frecuencia a los Debido a que se puede acceder con frecuencia a los índices de nivel más altos de los árboles, por lo tanto índices de nivel más altos de los árboles, por lo tanto existirá una contienda por los bloqueos.existirá una contienda por los bloqueos.Un bloque eficiente sería el acoplamiento de Un bloque eficiente sería el acoplamiento de bloqueosbloqueos que consiste en bloquear un nodo hijo y que consiste en bloquear un nodo hijo y liberar el bloqueo en el nodo padre si es posible.liberar el bloqueo en el nodo padre si es posible.

Page 10: Gestion de transacciones

20.9 ¿Qué es una marca temporal? ¿En qué se 20.9 ¿Qué es una marca temporal? ¿En qué se diferencian los protocolos de control de diferencian los protocolos de control de concurrencia basados en marcas temporales de concurrencia basados en marcas temporales de los basados en bloques?los basados en bloques?

Una marca temporal es un identificador unívoco creado Una marca temporal es un identificador unívoco creado por el SGBD y que indica el tiempo de inicio relativo de por el SGBD y que indica el tiempo de inicio relativo de una transacción.una transacción.

En el control de concurrencia basado en bloques En el control de concurrencia basado en bloques existen dos fases: el la una la de crecimiento se existen dos fases: el la una la de crecimiento se adquiere todos los bloques y en la fase de adquiere todos los bloques y en la fase de decrecimiento se empieza a liberar cada uno de estos decrecimiento se empieza a liberar cada uno de estos bloques, mientras que en la que es basada en marcas bloques, mientras que en la que es basada en marcas temporales se ubican en orden como llegaron, y tienen temporales se ubican en orden como llegaron, y tienen prioridad según su marca temporal sea más pequeña.prioridad según su marca temporal sea más pequeña.

Page 11: Gestion de transacciones

20.10 Describa el protocolo básico de ordenación 20.10 Describa el protocolo básico de ordenación de marcas temporales para el control de de marcas temporales para el control de concurrencia. ¿Qué es la regla de escritura de concurrencia. ¿Qué es la regla de escritura de Thomas y como afecta al protocolo básico de Thomas y como afecta al protocolo básico de ordenación de marcas temporales?ordenación de marcas temporales?

Cuando un transacción T ejecuta un comando readCuando un transacción T ejecuta un comando read..Cuando un transacción T ejecuta un comando write.Cuando un transacción T ejecuta un comando write.La regla de escritura de ThomasLa regla de escritura de Thomas

SSe utiliza para modificar el protocolo básico de e utiliza para modificar el protocolo básico de ordenación, con el fin de proporcionar un mayor ordenación, con el fin de proporcionar un mayor grado de concurrencia las operaciones de escritura grado de concurrencia las operaciones de escritura obsoletas.obsoletas.

Page 12: Gestion de transacciones

20.11 Describa como pueden usarse las 20.11 Describa como pueden usarse las versiones para mejorar el grado de versiones para mejorar el grado de concurrencia.concurrencia.

3.3. La transacción T ejecuta un comando write:La transacción T ejecuta un comando write:

si se quiere escribir el elemento de datos x se debe si se quiere escribir el elemento de datos x se debe garantizar que este no haya sido leído por otra garantizar que este no haya sido leído por otra transacción. Si permitimos que se realice la operación transacción. Si permitimos que se realice la operación será obvio que la siguiente transacción no podrá leer será obvio que la siguiente transacción no podrá leer el dato.el dato.

5.5. La transacción T ejecuta un comando read:La transacción T ejecuta un comando read:

Si la transacción desea leer un elemento de datos x, Si la transacción desea leer un elemento de datos x, debemos asignar la mayor marca temporal de datos debemos asignar la mayor marca temporal de datos a x. para que pueda ejecutarse, con este protocolo a x. para que pueda ejecutarse, con este protocolo las operaciones de lectura nunca fallan.las operaciones de lectura nunca fallan.

Page 13: Gestion de transacciones

20.12 Explique la diferencia entre el control de 20.12 Explique la diferencia entre el control de concurrencia pesimista y el optimista.concurrencia pesimista y el optimista.

En las técnicas pesimistas o conservadoras se realiza En las técnicas pesimistas o conservadoras se realiza

un retardo en las transacciones por si haya un conflicto un retardo en las transacciones por si haya un conflicto con tras transacciones en algún instante. En cambio los con tras transacciones en algún instante. En cambio los métodos optimistas mantienen que los conflictos son métodos optimistas mantienen que los conflictos son raros, ellos permiten a las transacciones que continúen raros, ellos permiten a las transacciones que continúen de manera no sincronizada y los conflictos se los de manera no sincronizada y los conflictos se los confirma al final, cuando la transacción se confirma.confirma al final, cuando la transacción se confirma.

Page 14: Gestion de transacciones

20.13 Explique los tipos de fallos que pueden 20.13 Explique los tipos de fallos que pueden tener lugar en un entorno de base de datos. tener lugar en un entorno de base de datos. Explique por qué es importante que un Explique por qué es importante que un multiusuario proporcione un mecanismo de multiusuario proporcione un mecanismo de recuperación.recuperación.

Paradas catastróficas del sistema.Paradas catastróficas del sistema. Fallos de soporte físico.Fallos de soporte físico. Errores en el software de las aplicaciones.Errores en el software de las aplicaciones. Desastres físicos naturales.Desastres físicos naturales. Destrucción Negligente.Destrucción Negligente. Sabotaje.Sabotaje.