Documentos de Académico
Documentos de Profesional
Documentos de Cultura
PROCESAMIENTO DE TRANSACCIONES
Leccin # 11
26 de abril de 2013
Modelo de Almacenamiento
Cuando una transaccin ejecuta una instruccin write no es necesario escribir la actualizacin en el disco. El write slo afecta a una copia de los datos en el registro intermedio (buffer) de la base de datos en la memoria principal. La operacin output posterior que realice el sistema en una pgina de datos modificar la base de datos. Igualmente, los registros de bitcora se guardan en memoria principal al crearse. El sistema pone los registros en almacenamiento estable segn ciertas reglas. La memoria principal tiene tres registros intermedios:
Registro intermedio del sistema. Registro intermedio de bitcora. Registro intermedio de la base de datos.
26 de abril de 2013
26 de abril de 2013
Planificaciones Recuperables
El retroceso en cascada puede evitarse imponiendo el requisito adicional de que todos los bloqueos exclusivos que ha puesto una transaccin T deben conservarse hasta que T termine. Esto garantiza que cualquier dato escrito por una transaccin que no se ha ejecutado est bloqueado en modo exclusivo, previniendo que cualquier otra transaccin lea los datos.
26 de abril de 2013
Exploracin de bitcora
En un sistema de procesamiento de transacciones concurrentes es necesario que el registro de bitcora de puntos de verificacin sea de la forma <checkpoint L>, donde L es una lista de transacciones activas en el momento del punto de verificacin. Cuando el sistema se recupera de una cada construye dos listas: La lista de deshacer, que consta de las transacciones a deshacer, y la lista de volver a hacer, que consta de las transacciones que se han de repetir.
Por cada registro que se encuentre de la forma <T coimmits> aadimos T a la lista de volver a hacer. Por cada registro que se encuentre de la forma <Ti starts>, si Ti no est en la lista de volver a hacer aadimos Ti a la lista de deshacer.
26 de abril de 2013
Gestin de Bloqueo
Un sistema est en un estado de bloqueo si existe un conjunto de transacciones tal que cada transaccin del conjunto est esperando a otra transaccin del conjunto.
El nico remedio para esta situacin indeseable es que el sistema invoque alguna accin drstica, como el retroceso de alguna de las transacciones implicadas en el bloqueo.
26 de abril de 2013
Prevencin de Bloqueos
El esquema esperar - morir: Cuando la transaccin Ti solicita un dato que Tj tiene en ese momento, slo se permitir que Ti espere si tiene una hora de entrada menor que la de Tj (es decir, Ti es ms antigua que Tj). En caso contrario, Ti retrocede (muere). Por ejemplo supngase que las transacciones T6, T7 y T8 tienen horas de entrada 5, 10 y 15, respectivamente. Si T6 solicita un dato que T7 tiene, T6 esperar. Si T8 solicita un dato que T7 tiene, T8 retroceder.
26 de abril de 2013
Deteccin de bloqueos:
Los bloqueos pueden describirse de manera precisa en trminos de un grafo dirigido denominado grafo de espera. Este grafo consta de un par G = (V, E), donde V es un conjunto de vrtices y E es un conjunto de aristas. El conjunto de vrtices consta de todas las transacciones del sistema. Cada elemento del conjunto E de aristas es un par ordenado Si Ti ->Tj implica que la transaccin Ti est esperando a que la transaccin Ti libere un dato que ella necesita.
26 de abril de 2013
T1
2
T9 T1
1
Recuperacin de bloqueo: Cuando un algoritmo de deteccin determina que existe un bloqueo, el sistema debe recuperarse del bloqueo. La solucin ms comn es retroceder una o ms transacciones para romper el bloqueo.
26 de abril de 2013
Para permitir una frecuencia elevada de procesamiento de transacciones (cientos o miles de transacciones por segundo), es necesario utilizar hardware de alto rendimiento y explotar el paralelismo.
26 de abril de 2013
26 de abril de 2013
26 de abril de 2013
26 de abril de 2013
26 de abril de 2013
Transacciones Anidadas
Una transaccin de larga duracin puede ser vista como una coleccin de subtareas o subtransacciones relacionadas. Estructurando una transaccin como un conjunto de subtransacciones, podemos aumentar el paralelismo, puesto que puede ser posible ejecutar varias subtransacciones en paralelo. Adems, es posible tratar los fallos de una subtransaccin (debidos a aborto, cada del sistema, etc.) sin tener que retroceder la transaccin de larga duracin entera.
26 de abril de 2013
Transacciones de Compensacin
Para reducir la frecuencia de espera de larga duracin, es necesario que las transacciones que no han terminado se expongan a otras transacciones que se ejecutan de manera concurrente. Sin embargo, la exposicin de los datos no ejecutados puede crear retrocesos en cascada. En vez de deshacer estrictamente todos los cambios que produjo la transaccin que ha fallado, se presta especial atencin a la compensacin del fallo.
26 de abril de 2013
26 de abril de 2013