23
Base de Datos Avanzada TEMA: Base de Datos Avanzada AUTOR: Fabricio Sánchez

Gestion de transacciones

Embed Size (px)

Citation preview

Page 1: Gestion de transacciones

Base de Datos Avanzada

TEMA: Base de Datos AvanzadaAUTOR: Fabricio Sánchez

Page 2: Gestion de transacciones

Es una acción o acciones que son llevadas a cabo por un único usuario o programa de aplicación, que accede al contenido de la base de datos a la modifica.

Page 3: Gestion de transacciones

• Atomicidad• Coherencia• Aislamiento• Permanencia

Page 4: Gestion de transacciones

EL problema del análisis incoherente:• Cuando se toma un dato que ha sido

recientemente actualizado pero en la base de datos se toma el anterior se presenta la incoherencia

Page 5: Gestion de transacciones

Planificaciones serie.- Es una planificación en que las operaciones en donde cada transacción se ejecuta consecutivamente sin que se entrelacen.

Planificaciones no serie.- Es la cual las operaciones de un conjunto de transacciones concurrentes estan entrelazadas

Page 6: Gestion de transacciones

Planificaciones serializables.- Se dice que si el conjunto de produce los mismos resultados que alguna en ejecución.

Page 7: Gestion de transacciones

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.

Page 8: Gestion de transacciones

Anulación en cascadaEs que en una única transacción conduce a una serie de anulaciones.Se consigue en dos faces, que consiste en dejar la liberación de todos los bloqueos hasta el final de la transacción.Se puede provocar interbloqueosDebido a que las transacciones pueden tener que esperar a que se liberen los bloqueos sobre elementos de datos establecidos.

Page 9: Gestion de transacciones

Puede existir que las transacciones queden en bloqueo indefinido, es decir que se queden en un estado de espera indefinida.

ACCIONES QUE TOMA SGBDPara todo esto el SGBD utiliza un sistema de prioridades en la que la prioridad vaya aumentando a medida que lo hace el tiempo de espera.Se pude utilizar una cola de tipo FIFO

Page 10: Gestion de transacciones

Debido a que se puede acceder con frecuencia a los índices de nivel más altos de los árboles, por lo tanto existirá una contienda por los bloqueos.

Un bloque eficiente sería el acoplamiento de bloqueos que consiste en bloquear un nodo hijo y liberar el bloqueo en el nodo padre si es posible.

Page 11: Gestion de transacciones

Una marca temporal es un identificador unívoco creado por el SGBD y que indica el tiempo de inicio relativo de una transacción.En el control de concurrencia basado en bloques existen dos fases: el la una la de crecimiento se adquiere todos los bloques y en la fase de decrecimiento se empieza a liberar cada uno de estos bloques, mientras que en la que es basada en marcas temporales se ubican en orden como llegaron, y tienen prioridad según su marca temporal sea más pequeña.

Page 12: Gestion de transacciones

a) Cuando un transacción T ejecuta un comando read:La transacción trata de leer un elemento que ya ha actualizado por un operación posterior, por lo que la transacción llega tarde y cualquier datos que reciba será incoherente, esta deberá ser abortada y reiniciada con una nueva marca temporal. En caso contrario la operación se puede realizar.

Page 13: Gestion de transacciones

a) Cuando un transacción T ejecuta un comando write:La transacción solicita escribir un elemento que ya ha sido por una operación más reciente, una operación está ya actualizando este elemento y sería erróneo volver actualizar el elemento ahora, en caso contrario la operación se realiza.

Page 14: Gestion de transacciones

Las versiones pueden borrarse cuando ya no sean necesarias.

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

Page 15: Gestion de transacciones

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

Page 16: Gestion de transacciones

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

Page 17: Gestion de transacciones

Existen muchos tipos de fallos que pueden afectar el procesamiento de la base de datos:

◄ Paradas catastróficas del sistema: errores del software o del hardware, se pierde el contenido de la memoria principal.

◄ Fallos de soporte físico: produce pérdida de parte de la información guardada en el almacenamiento secundario

Page 18: Gestion de transacciones

◄ Errores en el software de las aplicaciones: errores lógicos en los programas, que producen fallo de transacciones

◄ Desastres físicos naturales: incendios, inundaciones, terremotos o apagones

◄ Destrucción Negligente: no intencionada por operadores o usuarios

◄ Sabotaje: destrucción intencionada de los datos, del hardware, software o de las instalaciones

Page 19: Gestion de transacciones
Page 20: Gestion de transacciones

El archivo de registro es una característica fundamental de cualquier mecanismo de operación ya es este quien contiene información sobre todas las actualizaciones realizadas en la base de datos.

Page 21: Gestion de transacciones

Actualización diferida._ Las escrituras se realizan inicialmente solo en el registro, empleándose las entradas del registro para llevar a cabo las actualizaciones de la propia bases de datos

Page 22: Gestion de transacciones

Actualización Inmediata._ cada actualización puede grabarse en la propia base de datos en cualquier momento después de escribir la entrada de registro

Page 23: Gestion de transacciones

a) Transacciones anidadas: es una colección de subtareas relacionadas, cada una de las cuales puede a su vez contener cualquier numero de subtransacciones.

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