Gu´ıa Resumen Transacciones. CC42A.* - U

Anuncio
Guı́a Resumen Transacciones. CC42A.*
Auxiliar: Diego Dı́az-Espinoza. Profesor: Claudio Gutierrez
14 de junio de 2009
1.
Resumen Materia
1. Operaciones en transacciones.
a) leer elemento(X): Lee un elemento de la base de datos - de nombre
X - y lo guarda en una variable de programa llamada X. Se nota
generalmente como L(X) o también su forma inglesa: R(X).
b) escribir elemento(X): Escribe el valor de la variable de programa X
en el elemento de la base de datos de nombre X. Se nota generalmente
como E(X) o también su forma inglesa: W(X).
c) abortar() : Aborta la actual transacción; es decir, toda operación de
escritura sobre la base de datos NO debe ser realizada. Se abrevia
A().
d ) confirmar() : Confirma la transacción actual; es decir, todas las operaciones de leer y escribir se realizaron con éxito y por ende la transacción en su conjunto se asienta permanentemente en la base de datos.
Se abrevia C().
2. Transacción: Una transacción es un conjunto ordenado de operaciones de
Lectura/Escritura. Cada operación de la transacción se subindica con un
indicador de operación; esto, para diferenciarlas de los demás planes de
transacciones. Por ejemplo, sea T1 y T2 dos planes de transacciones tales
que: T1 = R1 (X), R1 (Y ), W1 (X), W1 (Y ), C1 (), T2 = W2 (X), W2 (Y ), A2 ()
3. Problemas posibles en transacciones:
a) Actualización perdida: El sistema manejador de bases de datos ejecuta las transacciones con operaciones intercaladas de ambas transacciones de modo tal que las actualizaciones de una se pierden o son
ignoradas por la otra.
b) Lectura sucia: Una de las transacciones aborta habiendo otra transacción leı́do luego de que la primera haya modificado valores que ésta
lee, ası́, una de las transacciones está leyendo valores “falsos” de la
base de datos.
* No
reemplaza la lectura del texto ni el estudio de las cátedras
1
c) Resumen incorrecto: Se produce cuando una transacción está ejecutando funciones agregadas sobre la base de datos, al mismo tiempo que otra transacción está modificando campos que la anterior
está usando.
4. Propiedades “deseables” en las transacciones (ACID):
a) Atomicity (Atomicidad): Una transacción debe ser considerada como
indivisble 1
b) Consistency (consistencia): Una transacción debe partir de un estado
consistente de la base de datos y terminar en otro estado consistente
de la misma.
c) Isolation (Aislamiento): Una transacción no debe dejar que otras
transacciones lean sus cambios antes de que esta se confirme o aborte.
d ) durability (durabilidad o persistencia): Luego de una confirmación,
los datos modificados deben persistir sin importar un fallo posterior.
5. Plan de transacciones P : Un plan de transacciones es un conjunto ordenado de operaciones de dos o más transacciones. Notar que las operaciones
pueden o no estar intercaladas.
6. Operaciones en conflicto: Se dice que hay conflicto entre dos operaciones
si y sólo si:
a) Si ambas operaciones pertenecen a distintas transacciones.
b) Si una de las operaciones es W (X) (o equivalentemente E(X)).
7. Plan completo: Un plan P compuesto por las transacciones T1 , T2 , ..., Tn
es completo si y sólo si cumple con todas las siguientes caracterı́sticas:
a) Todas las operaciones de cada transacción Ti , i = 1...n están presentes
en P, inclusive las operaciones ai () ó ci ().
b) El orden de todo par de operaciones de Ti , i = 1...n se respeta (se
conserva) en P.
c) Para cualquier par de operaciones en conflicto una de ellas debe ocurrir antes que la otra.
8. Lectura de una transacción T sobre transacción T 0 en un plan P : Si y
sólo si T 0 escribe un elemento y luego T lee el mismo elemento.
9. Plan recuperable: Un plan P es recuperable si ninguna transacción T de
P se confirma antes de haberse confirmado todas las transacciones T 0
que han escrito un elemento que T lee. Es decir, si existe al menos una
transacción T en P que lee de una transacción T 0 y que se confirma antes
de haberse confirmado la transacción T 0 .
10. Plan estricto: Un plan es estricto si todas las transacciones que leen o escriben un elemento X lo hacen luego de que se haya confirmado o abortado
la última transacción que escribió X. Un plan estricto es recuperable.
1 notar que la palabra atómica está sobrecargada puesto que los atomos sı́ pueden dividirse...o no?
2
11. Plan en serie: Un plan es en serie si para toda transacción que participan
en él, sus operaciones se ejecutan de forma consecutiva.
12. Planes equivalentes por resultados: dos planes son equivalentes por resultados si ambos producen el mismo estado final en la base de datos.
13. Planes equivalentes por conflicto: dos planes son equivalentes por conflicto,
si el orden de todas las operaciones en conflicto es el mismo en ambos
planes.
14. Planes equivalentes por vistas: Dos planes son equivalentes por vistas, si
se cumplen las siguientes condiciones:
a) Ambos tienen las mismas transacciones y por ende las mismas operaciones de esas transacciones.
b) Si existen operaciones Ri (X) en P y se ejecutó previamente una
operación Wj (X) entonces debe cumplirse la misma condición para
la operación Ri (X) en P 0 .
c) Si la última operación sobre Y de una transacción Tk es Wk (Y ) en
el plan P entonces también debe ser la última operación sobre Y en
P 0.
15. Plan seriable por conflicto: Un plan P es seriable si es equivalente a algún
plan en serie P 0 de las misma transacciones de P .
3
Descargar