gestion de transacciones

27
UNIVERSIDAD TECNICA PARTICULAR DE LOJA ECC Base de Datos Avanzada GESTION DE TRANSACCIONES Por: Patricia Flores

Upload: patricia-flores

Post on 02-Jul-2015

3.683 views

Category:

Documents


1 download

DESCRIPTION

Cuestiones

TRANSCRIPT

Page 1: Gestion de transacciones

UNIVERSIDAD TECNICA PARTICULAR DE LOJA

ECCB ase de Datos A vanzada

GES TION DE TRA NS A CCIONES

Por: Patricia F lores

Page 2: Gestion de transacciones

Transacción es una secuencia de operaciones de acceso a la base de datos que constituyen una unidad lógica de ejecución estás pueden ser coherentes o incoherentes, pero su respuesta darán un resultado acorde con lo solicitado.

Page 3: Gestion de transacciones

L as propiedades de las transacciones son:◄ A tomicidad◄ Coherencia◄ A islamiento◄ Permanencia

Page 4: Gestion de transacciones

◄ Atomicidad Una transacción es una unidad atómica de ejecución (o se ejecutan todas sus operaciones o

ninguna).S i se esta realizando un a matricula a un estudiante y antes de guardar todos los cambios el sistema se para y no termina la operación, por lo tanto la transacción no se realiza.

◄ CoherenciaEn caso de una transacción de dinero de una cuenta a otra, pude ocurrir que se realizó a una cuenta errónea por lo tanto no es responsable el S GB D, entonces la incoherencia viene a partir de los desarrolladores, pero se cumple con la operación que ha sido programada.

Page 5: Gestion de transacciones

◄Aislamiento una transacción no debe hacer visibles sus cambios a otras transacciones hasta que es

confirmadaS i existió un error en la transacción del dinero no debería afectar las demás, ya que se bloquearían para que puedan acceder otros usuarios, por lo tanto debería tratarse como acceso independiente, por usuario o por transacciones.

Page 6: Gestion de transacciones

◄Permanencia Cuando una transacción es confirmada sus cambios deben ser grabados en la B D y no deben perderse debido a fallos de otras transacciones o del sistema.

En el momento de realizar la transacción del traspaso de dinero de una cuenta a otra, debe ser confirmada la permanencia de los datos

Page 7: Gestion de transacciones

EL problema del análisis incoherente:Esto sucede cuando se regresa nuevamente a leer la tupla, pero esta ya ha sido cambiada por tanto tendrá un nuevo valor y por lo tanto el cálculo realizado será incoherente, para resolver esto se debe realizar lo mismo que en el problema anterior.

Page 8: Gestion de transacciones

Podríamos solucionarlo haciendo ejecutar una sola una sola transacción cada vez, es decir que para que continúe con otra transacción esta debe confirmarse para que comience la siguiente.

Page 9: Gestion de transacciones

• Existen dos planificaciones que se utilizan para garantizar la concurrencia de incoherencia.

• Planificación Serializable.- E s encontrar planificaciones no serie, es decir que produzca los mismos resultados que alguna ejecución en serie. E l orden es importante de esta planificación debido a que en una transacción escribe un elemento, y otra lee o escribe el mismo elemento.

Page 10: Gestion de transacciones

Planificación recuperable.- E s que para cada para de transacciones T1 y T2, si T1 lee un elemento de datos previamente escrito por T2, entonces la confirmación de T1 precede de la confirmación de T2.

Page 11: Gestion de transacciones

Planificaciones no serie.- E s en la cual las operaciones de un conjunto de transacciones concurrentes están entrelazadas.

Planificaciones serializables.- S e dice que si el conjunto de transacciones se ejecuta concurrentemente y si produce los mismos resultados que alguna ejecución en serie, se denomina planificación serializable.

Page 12: Gestion de transacciones

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

Serializabilidad de vistas: S i 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 v ista a la inversa.

Page 13: Gestion de transacciones

Anulación en cascadaEs que en una única transacción conduce a una serie de anulaciones.S e 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 14: Gestion de transacciones

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

A CCIONES QUE TOM A S GB DPara 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.S e pude utilizar una cola de tipo FIFO

Page 15: 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 16: Gestion de transacciones

Una marca temporal es un identificador unívoco creado por el S GB D 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 17: 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 18: 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.

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

Page 19: Gestion de transacciones

L as 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. S i permitimos que se realice la operación será obvio que la siguiente transacción no podrá leer el dato.

Page 20: Gestion de transacciones

1. La transacción T ejecuta un comando read:S i 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 21: 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 f inal, cuando la transacción se confirma.

Page 22: Gestion de transacciones

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 23: 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

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

Page 24: Gestion de transacciones
Page 25: 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 26: Gestion de transacciones

L as actualizaciones 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.

Page 27: Gestion de transacciones

a) Transacciones anidadas: estas transacciones tienen 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: Las sagas no son mas que secuencia de transacciones que pueden entrelazarse con otras transacciones.