GESTION DE TRANSACCIONES

11
Escuela de ciencias de la computación GESTION DE TRANSACCIONES Autor: Israel Cueva Hidalgo.

description

GESTION DE TRANSACCIONES - CUESTIONES DE REPASO

Transcript of GESTION DE TRANSACCIONES

Page 1: GESTION DE TRANSACCIONES

Escuela de ciencias de la computación

GESTION DE TRANSACCIONES

Autor: Israel Cueva Hidalgo.

Page 2: GESTION DE TRANSACCIONES

Explique el concepto de transacción. ¿Por qué son las transacciones unidades de operación tan

importantes en un SGBD?

Una transacción es un conjunto de operaciones tomadas como una unidad lógica, son importantes ya que mediante ellas se determina si la base de datos esta en un estado coherente o incoherente

ISRAEL CUEVA H.

Page 3: GESTION DE TRANSACCIONES

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

ISRAEL CUEVA H.

Page 4: GESTION DE TRANSACCIONES

• Atomicidad: se refiere que una transacción bien es completada o no, se relaciona con el sistema de recuperación para que la base de datos sea coherente, un ejemplo es que un depósito se puede cumplir o no pero no se puede dejar a medias

• Coherencia: la base de datos antes y después de una transacción debe ser coherente aunque en el transcurso de la transacción si puede haber incoherencia , se relaciona con el sistema de recuperación, por ejemplo si se realizó el depósito con éxito entonces se debe actualizar la cuenta en la cual se realizó el depósito

Aislamiento : se refiere a que una transacción no puede interferir en la realización de otra, esto se relaciona con el sistema de control de concurrencia, un ejemplo sería que si un estudiante quiere ver su saldo a favor y si se están actualizando las notas no debería crearse ningún problema ya que lo que el estudiante desea es ver su saldo

• Permanencia: la coherencia de la base de datos después de una transacción se registra de manera permanente, esto se relaciona con el sistema de control de recuperación por ejemplo si ya se realizó el depósito y luego se quiere realizar otro pero el segundo fallón no es que se pierde también el primer depósito sino solo el segundo

ISRAEL CUEVA H.

Page 5: GESTION DE TRANSACCIONES

• Dependencia no confirmada: con el mismo ejemplo anterior supongamos que para sumar los dos puntos se recuperó la nota de 18 pero en realidad no se confirmó la primera transacción y para la segunda se tomó el valor de 18 y en realidad se debió tomar el valor de 15

• Análisis incoherente: por ejemplo si se está calculando el promedio de un estudiante y una nota se está actualizando en ese mismo instante

ISRAEL CUEVA H.

DESCRIBA, CON EJEMPLOS, LOS TIPOS DE PROBLEMAS QUE PUEDEN PRODUCIRSE EN UN ENTORNO MULTIUSUARIO

CUANDO SE PERMITE UN ACCESO CONCURRENTE A LA BASE DE DATOS.

Page 6: GESTION DE TRANSACCIONES

• Un mecanismo para el control de concurrencia sería que si una transacción necesita realizarse con datos que otra transacción desea actualizar se debe primero realizar la transacción de actualización y luego si se debe realizar la otra transacción de tal manera que se evite incoherencias en la base de datos

ISRAEL CUEVA H.

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

Page 7: GESTION DE TRANSACCIONES

Explique la diferencia entre serializabilidad de conflictos y serializabilidad de vistas

� Serializabilidad de conflictos: Esta planificación ordena las operaciones conflictivas de la misma manera que alguna de las posibles ejecuciones serie.

� Serializabilidad de vistas: Si es equivalente en términos de 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.

ISRAEL CUEVA H.

Page 8: GESTION DE TRANSACCIONES

• Actualización perdida: es el mismo problema presentado anteriormente, para resolver esto se utiliza el bloqueo en 2 fases una de las transacciones no se puede ejecutar si otra tiene un bloqueo exclusivo sobre los datos que requiere la primera transacción

• Dependencia no confirmada: igualmente lo que se utiliza para este problema es que mientras un bloqueo no sea liberado no se puede conceder otro bloqueo sobre los mismos datos

ISRAEL CUEVA H.

Explique los tipos de problemas que pueden tener lugar con los mecanismos de control de

concurrencia basados en bloqueo y las acciones que el SGBD puede tomar para prevenirlos.

Page 9: GESTION DE TRANSACCIONES

¿Por qué el bloque de dos faces no seria un esquema de control de concurrencia apropiado para los índices? Explique otro

esquema de bloque más apropiado para índices basados en árbol.

• Ya que es probable que se acceda a los índices de manera frecuente particularmente a los niveles más altos lo que produce una alta tasa de contienda por los bloqueos

• El esquema más apropiado sería el de bloquear un nodo hijo y liberar el bloqueo en el nodo padre si es posible es decir cuando se trate de un bloqueo compartido y algunos casos en bloqueos exclusivos

ISRAEL CUEVA H.

Page 10: GESTION DE TRANSACCIONES

• En una actualización diferida las actualizaciones son se escriben en una base de datos hasta que la transacción no alcance su punto de confirmación, si la transacción falla antes de alcanzar este punto no se habrá modificado la base de datos y no será necesario deshacer el cambio.

• En cambio en una actualización inmediata las actualizaciones son aplicadas en la base de datos según se vayan realizando sin espera que alcance su punto de confirmación. A demás de tener que deshacer las actualizaciones de las transacciones confirmadas después de un fallo, pueda que ahora sea también necesario deshacer los efectos de las transacciones que no se confirmaron en el momento del falloISRAEL CUEVA H.

INDIQUE LAS SIMILITUDES Y DIFERENCIAS ENTRE LOS PROTOCOLOS DE RECUPERACIÓN CON ACTUALIZACIÓN

DIFERIDA Y CON ACTUALIZACIÓN INMEDIATA.

Page 11: GESTION DE TRANSACCIONES

• a) Transacciones anidadas: transacciones en forma de árbol o con jerarquía de subtransacciones. Existen transacciones de primer nivel que tienen transacciones hijas, y estas a su vez puede volver a tener nuevas transacciones anidadas.

• b) Sagas: secuencia de transacciones que pueden entrelazarse con otras transacciones.

• c) Transacciones multinivel: al igual que en las transacciones anidadas las transacciones están en forma de un árbol con la característica especial de que las que se encuentren en el mismo nivel se corresponden con operaciones del mismo nivel de abstracción en un SGBD

• d)Transacciones con reestructuración dinámica: comprende dos nuevas operaciones: transacción dividida y la transacción de combinación. La primera divide una transacción en dos y divide también sus acciones y recursos.

ISRAEL CUEVA H.

EXPLIQUE LOS SIGUIENTES MODELOS AVANZADOS DE TRANSACCIONES: