48
CAPITULO 20

cuestiones de repaso capitulo 20

Embed Size (px)

DESCRIPTION

cuestiones de repaso capitulo 20

Citation preview

Page 1: cuestiones de repaso capitulo 20

CAPITULO 20

Page 2: cuestiones de repaso capitulo 20

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

AUTOR: EDWIN FABIÁN MAZA S.

Page 3: cuestiones de repaso capitulo 20

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

AUTOR: EDWIN FABIÁN MAZA S.

Page 4: cuestiones de repaso capitulo 20

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.

AUTOR: EDWIN FABIÁN MAZA S.

Page 5: cuestiones de repaso capitulo 20

Las propiedades de las transacciones son:◄ Atomicidad◄ Coherencia◄ Aislamiento◄ Permanencia

AUTOR: EDWIN FABIÁN MAZA S.

Page 6: cuestiones de repaso capitulo 20

◄ Atomicidado Ejemplo Si se está realizando una transacción de dinero

de una cuenta a otra en un banco, y antes de confirmar el sistema se para y no termina la operación, por lo tanto la transacción no se realiza.

AUTOR: EDWIN FABIÁN MAZA S.

Page 7: cuestiones de repaso capitulo 20

◄ Coherenciao Ejemplo

En 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 SGBD, entonces la incoherencia viene a partir de los desarrolladores, pero se cumple con la operación que ha sido programada.

AUTOR: EDWIN FABIÁN MAZA S.

Page 8: cuestiones de repaso capitulo 20

◄ Aislamientoo Ejemplo

Si 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.

AUTOR: EDWIN FABIÁN MAZA S.

Page 9: cuestiones de repaso capitulo 20

◄ Permanenciao Ejemplo

En el momento de realizar la transacción del traspaso de dinero de una cuenta a otra, debe ser confirmada en el caso de ORACLE, se utiliza en COMMIT, que permitirá confirmar la permanencia de los datos, y además que en caso de un error debe guardarse automáticamente.

AUTOR: EDWIN FABIÁN MAZA S.

Page 10: cuestiones de repaso capitulo 20

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.

AUTOR: EDWIN FABIÁN MAZA S.

Page 11: cuestiones de repaso capitulo 20

• EL problema de la actualización perdida:

AUTOR: EDWIN FABIÁN MAZA S.

Lee $50 Lee $50Deposita $10

Retira $30Nuevo saldo $60

Nuevo saldo $20

Bloqueo T2Nuevo saldo $60

Lee $60

Page 12: cuestiones de repaso capitulo 20

• EL problema de la dependencia no confirmada (o de la lectura sucia):

AUTOR: EDWIN FABIÁN MAZA S.

Lee $20

Lee $50

Deposita $10

Retira $30

Nuevo saldo $30

Nuevo saldo $20Bloqueo T1Lee $50

Page 13: cuestiones de repaso capitulo 20

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.

AUTOR: EDWIN FABIÁN MAZA S.

Page 14: cuestiones de repaso capitulo 20

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.

AUTOR: EDWIN FABIÁN MAZA S.

Page 15: cuestiones de repaso capitulo 20

Una solución es que se ejecute solo una transacción cada vez, es decir que para que continúe con otra transacción esta debe confirmarse para que comience la siguiente.

Otra solución es que se ejecuten las transacciones en paralelo y sin que interfieran unas con otras.

AUTOR: EDWIN FABIÁN MAZA S.

Page 16: cuestiones de repaso capitulo 20

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

• Planificación Serializable.- Es encontrar planificaciones no serie, es decir que produzca los mismos resultados que alguna ejecución en serie. El 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.

AUTOR: EDWIN FABIÁN MAZA S.

Page 17: cuestiones de repaso capitulo 20

Planificación recuperable.- Es 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.

AUTOR: EDWIN FABIÁN MAZA S.

Page 18: cuestiones de repaso capitulo 20

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

AUTOR: EDWIN FABIÁN MAZA S.

Page 19: cuestiones de repaso capitulo 20

Planificaciones no serie.- Es en la cual las operaciones de un conjunto de transacciones concurrentes están entrelazadas.Planificaciones no serie.- Es la cual las operaciones de cada transacción se ejecutan consecutivamente sin que se entrelacen operaciones de otras transacciones.

AUTOR: EDWIN FABIÁN MAZA S.

Page 20: cuestiones de repaso capitulo 20

Planificaciones serializables.- Se 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.

AUTOR: EDWIN FABIÁN MAZA S.

Page 21: cuestiones de repaso capitulo 20

Explique la diferencia entre serializabilidad de conflictos y serializabilidad de vistas

AUTOR: EDWIN FABIÁN MAZA S.

Page 22: cuestiones de repaso capitulo 20

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.

AUTOR: EDWIN FABIÁN MAZA S.

Page 23: cuestiones de repaso capitulo 20

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.

AUTOR: EDWIN FABIÁN MAZA S.

Page 24: cuestiones de repaso capitulo 20

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.

AUTOR: EDWIN FABIÁN MAZA S.

Page 25: cuestiones de repaso capitulo 20

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

AUTOR: EDWIN FABIÁN MAZA S.

Page 26: cuestiones de repaso capitulo 20

¿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.

AUTOR: EDWIN FABIÁN MAZA S.

Page 27: cuestiones de repaso capitulo 20

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.

AUTOR: EDWIN FABIÁN MAZA S.

Page 28: cuestiones de repaso capitulo 20

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

AUTOR: EDWIN FABIÁN MAZA S.

Page 29: cuestiones de repaso capitulo 20

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.

AUTOR: EDWIN FABIÁN MAZA S.

Page 30: cuestiones de repaso capitulo 20

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

AUTOR: EDWIN FABIÁN MAZA S.

Page 31: cuestiones de repaso capitulo 20

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.

AUTOR: EDWIN FABIÁN MAZA S.

Page 32: cuestiones de repaso capitulo 20

b) 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.

AUTOR: EDWIN FABIÁN MAZA S.

Page 33: cuestiones de repaso capitulo 20

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.

AUTOR: EDWIN FABIÁN MAZA S.

Page 34: cuestiones de repaso capitulo 20

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

AUTOR: EDWIN FABIÁN MAZA S.

Page 35: cuestiones de repaso capitulo 20

Las versiones pueden borrarse cuando ya no sean necesarias.

1. 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.

AUTOR: EDWIN FABIÁN MAZA S.

Page 36: cuestiones de repaso capitulo 20

2. 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.

AUTOR: EDWIN FABIÁN MAZA S.

Page 37: cuestiones de repaso capitulo 20

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

AUTOR: EDWIN FABIÁN MAZA S.

Page 38: cuestiones de repaso capitulo 20

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.

AUTOR: EDWIN FABIÁN MAZA S.

Page 39: cuestiones de repaso capitulo 20

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

AUTOR: EDWIN FABIÁN MAZA S.

Page 40: cuestiones de repaso capitulo 20

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

AUTOR: EDWIN FABIÁN MAZA S.

Page 41: cuestiones de repaso capitulo 20

◄ 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

AUTOR: EDWIN FABIÁN MAZA S.

Page 42: cuestiones de repaso capitulo 20

Explique por qué el archivo de registro (o diario) es una característica fundamental de cualquier mecanismo de operación. Explique que es la recuperación hacia delante y hacia atrás y describa cómo se utiliza el archivo de registro de ambos tipos de recuperación ¿Cuál es la importancia del protocolo de registro con escritura anticipada? ¿Cómo afectan los puntos de comprobación la protocolo de recuperación?

AUTOR: EDWIN FABIÁN MAZA S.

Page 43: cuestiones de repaso capitulo 20

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.

AUTOR: EDWIN FABIÁN MAZA S.

Page 44: cuestiones de repaso capitulo 20

Indique las similitudes y diferencias entre los protocolos de recuperación con actualización diferida y con actualización inmediata.

AUTOR: EDWIN FABIÁN MAZA S.

Page 45: cuestiones de repaso capitulo 20

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.

AUTOR: EDWIN FABIÁN MAZA S.

Page 46: cuestiones de repaso capitulo 20

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 fallo.

AUTOR: EDWIN FABIÁN MAZA S.

Page 47: cuestiones de repaso capitulo 20

Explique los siguientes modelos avanzados de transacciones:

AUTOR: EDWIN FABIÁN MAZA S.

Page 48: cuestiones de repaso capitulo 20

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.

AUTOR: EDWIN FABIÁN MAZA S.