SlideShare una empresa de Scribd logo
CLASE 8

ADMINISTRACIÓN DE BASE DE DATOS

       PLANIFICACIÓN

                          AUTORES:

                          Prof. Roxydel Dulcey

                          Prof. Josué Ramírez

            Marzo, 2011
Planificación de Transacciones
  Es el orden de ejecución de las transacciones
  cuando éstas se ejecutan de una forma
  intercalada.

   Un Plan P de n transacciones: T1, T2,…,Tn
es un ordenamiento para las operaciones,
en donde para cada Ti, las operaciones de
Ti en P deben aparecer en el mismo orden
en que ocurren en Ti.
Planificación de Transacciones




Plan de la ejecución anterior
P1:r1(X);r2(X);w1(X);r1(Y);w2(X);w1(Y);
Planificación de Transacciones
Seriabilidad
• Planes en Serie: las operaciones de cada
  transacción se ejecutan de manera consecutiva,
  sin intercalación.

• Los planes en serie limitan la concurrencia, por
  ejemplo si una transacción está esperando que se
  complete una operación de E/S, no se puede
  conmutar el procesador a otra transacción,
  desperdiciando la CPU.
Planificación de Transacciones
Seriabilidad

 El concepto de seriabilidad de planificaciones es usado
  para identificar cuáles planificaciones son correctas
  cuando ejecutan transacciones en forma intercalada
Planificación de Transacciones
Planes recuperables
  Antes se han estudiado las planificaciones que
  son aceptables desde el punto de vista de la
  consistencia de la base de datos asumiendo
  implícitamente que no había fallos en las
  transacciones. Ahora se va a estudiar el efecto
  de los fallos en una transacción durante una
  ejecución concurrente.
Planificación de Transacciones
Recuperabilidad

• Si la transacción Ti falla, por la razón que sea, es
  necesario deshacer el efecto de dicha transacción para
  asegurar la propiedad de atomicidad de la misma.

• En un sistema que permita la concurrencia es
  necesario asegurar también que toda transacción Tj
  que dependa de Ti (es decir, Tj lee datos que ha escrito
  Ti) se aborta también.

• Para alcanzar esta garantía, es necesario poner
  restricciones al tipo de planificaciones permitidas en el
  sistema.
Planificación de Transacciones
Recuperabilidad

• Las planificaciones que garantizan la recuperabilidad
  son:

     Planificaciones recuperables

     Planificaciones sin cascada
Planificación de Transacciones
Planificaciones recuperables

• Considérese la siguiente planificación:
                  •Supóngase que el sistema permite que T9 se complete
                  inmediatamente después de ejecutar la instrucción leer(A).
                  Así se completa T9 antes de que lo haga T8.

                  •Supóngase ahora que T8 falla antes de completarse.
                  Puesto que T9 ha leído el valor del elemento de datos A
Planificación 5   escrito por T8, se debe abortar T9 para asegurar la
                  atomicidad de la transacción.
                  •
                  •Sin embargo, T9 ya se ha comprometido y no puede
                  abortarse. De este modo se llega a una situación en la cual
                  es imposible recuperarse correctamente del fallo de T8.
Planificación de Transacciones
Planificaciones recuperables
•La planificación 5 anterior, cuyo compromiso (commit)
tiene lugar inmediatamente después de ejecutar la
instrucción leer(A), es un ejemplo de planificación no
recuperable, la cual no debe permitirse.

•La mayoría de los sistemas de bases de datos requieren
que todas las planificaciones sean recuperables.

•Una planificación recuperable es aquella en la que
para todo par de transacciones Ti y Tj tales que Tj lee
elementos de datos que ha escrito previamente Ti, la
operación comprometer de Ti aparece antes que la de Tj.
Planificación de Transacciones
Planificaciones sin cascada

•Incluso si una planificación es recuperable, hay que
retroceder   varias   transacciones   para   recuperar
correctamente el estado previo a un fallo en una
transacción Ti.


•Tales situaciones ocurren si las transacciones leen datos
que ha escrito Ti
Planificación de Transacciones
Planificaciones sin cascada
•Considere la siguiente planificación parcial:

                  •La transacción T10 escribe un valor de A que lee la
                  transacción T11.

                  •La transacción T11 escribe un valor de A que lee la
                  transacción T12.

                  •Supóngase que en ese momento falla T10. Se debe
                  retroceder T10. Puesto que T11 depende de T10, se debe
Planificacion 6
                  Retroceder T11. Puesto que T12 depende de T11, se debe
                  Retroceder T12.
Planificación de Transacciones
Planificaciones sin cascada

•Este fenómeno en el cual un fallo en una única
transacción provoca una serie de retrocesos de la
transacción se denomina retroceso en cascada.

•No es deseable el retroceso en cascada, ya que provoca
un aumento significativo del trabajo necesario para
deshacer cálculos.

•Es deseable restringir las planificaciones a aquellas en
las que no puedan ocurrir retrocesos en cascada. Tales
planificaciones se denominan planificaciones sin cascada.
Planificación de Transacciones
Planificaciones sin cascada

•Una planificación sin cascada es aquella para la que
todo par de transacciones Ti y Tj tales que Tj lee un
elemento de datos que ha escrito previamente Ti, la
operación comprometer de Ti aparece antes que la
operación de lectura de Tj.

•Por tanto se puede afirmar que toda planificación sin
cascada es también recuperable.
Planificación de Transacciones
Comprobación de la secuencialidad

•En los esquemas de control de concurrencia se debe
asegurar que las planificaciones que se generan son
secuenciables.

•Para hacer esto se debe entender primero la forma de
determinar si, dada una planificación concreta P, es
secuenciable.

•Ahora se presenta un método simple y eficiente de
determinar la secuencialidad en cuanto a conflictos de
una planificación..
Planificación de Transacciones
Comprobación de la secuencialidad

•Considérese una planificación P. Se construye un grafo
dirigido, llamado grafo de precedencia para P.

•Este grafo consiste en un par G = (V,A), siendo V un
conjunto de vértices y A un conjunto de arcos.

•El conjunto de vértices consiste en todas          las
transacciones que participan en la planificación.
Planificación de Transacciones
Comprobación de la secuencialidad

El conjunto de arcos consiste en todos los arcos Ti→Tj para
los cuales se dan una de las tres condiciones siguientes:

1. Ti ejecuta escribir(Q) antes de que Tj ejecute leer(Q).

2. Ti ejecuta leer(Q) antes de que Tj ejecute escribir(Q).

3. Ti ejecuta escribir(Q) antes de que Tj ejecute escribir(Q)..
Planificación de Transacciones
Comprobación de la secuencialidad
Si existe un arco Ti → Tj en el grafo de precedencia,
entonces en toda planificación secuencial P′ equivalente a
P, Ti debe aparecer antes de Tj.



                                    Planificaciones
                                    secuenciales
Planificación de Transacciones
Comprobación de la secuencialidad
Si el grafo de precedencia de P tiene un ciclo, entonces
la planificación P no es secuenciable en cuanto a
conflictos. Si el grafo no contiene ciclos, entonces la
planificación P es secuenciable en cuanto a conflictos.




                  Planificación NO Secuenciable
                  en cuanto a conflictos

Más contenido relacionado

PDF
NOMILINEA CÁLCULO DE CUOTAS IMSS
PPTX
Estructura y elaboración de un presupuesto financiero
PPTX
Uni cf1 contabilidad generalidades
PPT
Costo de capital
PPT
Matemticas Financ Seg Part
PPT
Gradientes aritméticos y geométricos
PDF
C-9 Pasivo, provisiones, activos y pasivos contingentes y compromisos
PPTX
Introduccion de los presupuestos
NOMILINEA CÁLCULO DE CUOTAS IMSS
Estructura y elaboración de un presupuesto financiero
Uni cf1 contabilidad generalidades
Costo de capital
Matemticas Financ Seg Part
Gradientes aritméticos y geométricos
C-9 Pasivo, provisiones, activos y pasivos contingentes y compromisos
Introduccion de los presupuestos

La actualidad más candente (7)

PPTX
U 2.1 estructura de las tasas de interés
PPTX
Unidad 1.
PPTX
Medios de pagos internacionales
DOCX
Seminario cap 1
PDF
Centrales de riesgo
U 2.1 estructura de las tasas de interés
Unidad 1.
Medios de pagos internacionales
Seminario cap 1
Centrales de riesgo
Publicidad

Similar a Abd clase 8 (17)

PPT
Transacciones y seguridad
PPTX
Transacciones.pptx julio
PPTX
Transacciones.pptx julio
PPT
Concurrencia bases datos 2
PPTX
Capítulo 17 ( Introducción a los conceptos y la Teoría sobre el procesamiento...
PPT
Concurrencia 1 ABD UCV
PPT
Concurrencias BD
PPT
Gestion de transacciones "Investigación"
PPT
Concurrencia 2 ABD UCV
PPT
Concurrencia
PDF
Transacciones y seguridad
PDF
Abd clase 9 y 10
PDF
Abd clase 5 y 6
PPT
Gestion de transacciones
PPTX
TRANSACCIONES
PPT
Transaccion
PPTX
Transacciones
Transacciones y seguridad
Transacciones.pptx julio
Transacciones.pptx julio
Concurrencia bases datos 2
Capítulo 17 ( Introducción a los conceptos y la Teoría sobre el procesamiento...
Concurrencia 1 ABD UCV
Concurrencias BD
Gestion de transacciones "Investigación"
Concurrencia 2 ABD UCV
Concurrencia
Transacciones y seguridad
Abd clase 9 y 10
Abd clase 5 y 6
Gestion de transacciones
TRANSACCIONES
Transaccion
Transacciones
Publicidad

Más de Yusmar Devia (6)

PDF
Abd clase 7
PDF
Tripticoinfluenza
PDF
Abd clase 3
PDF
Abd clase 2
PDF
Abd clase 4
PDF
Abd clase 1
Abd clase 7
Tripticoinfluenza
Abd clase 3
Abd clase 2
Abd clase 4
Abd clase 1

Abd clase 8

  • 1. CLASE 8 ADMINISTRACIÓN DE BASE DE DATOS PLANIFICACIÓN AUTORES: Prof. Roxydel Dulcey Prof. Josué Ramírez Marzo, 2011
  • 2. Planificación de Transacciones Es el orden de ejecución de las transacciones cuando éstas se ejecutan de una forma intercalada. Un Plan P de n transacciones: T1, T2,…,Tn es un ordenamiento para las operaciones, en donde para cada Ti, las operaciones de Ti en P deben aparecer en el mismo orden en que ocurren en Ti.
  • 3. Planificación de Transacciones Plan de la ejecución anterior P1:r1(X);r2(X);w1(X);r1(Y);w2(X);w1(Y);
  • 4. Planificación de Transacciones Seriabilidad • Planes en Serie: las operaciones de cada transacción se ejecutan de manera consecutiva, sin intercalación. • Los planes en serie limitan la concurrencia, por ejemplo si una transacción está esperando que se complete una operación de E/S, no se puede conmutar el procesador a otra transacción, desperdiciando la CPU.
  • 5. Planificación de Transacciones Seriabilidad El concepto de seriabilidad de planificaciones es usado para identificar cuáles planificaciones son correctas cuando ejecutan transacciones en forma intercalada
  • 6. Planificación de Transacciones Planes recuperables Antes se han estudiado las planificaciones que son aceptables desde el punto de vista de la consistencia de la base de datos asumiendo implícitamente que no había fallos en las transacciones. Ahora se va a estudiar el efecto de los fallos en una transacción durante una ejecución concurrente.
  • 7. Planificación de Transacciones Recuperabilidad • Si la transacción Ti falla, por la razón que sea, es necesario deshacer el efecto de dicha transacción para asegurar la propiedad de atomicidad de la misma. • En un sistema que permita la concurrencia es necesario asegurar también que toda transacción Tj que dependa de Ti (es decir, Tj lee datos que ha escrito Ti) se aborta también. • Para alcanzar esta garantía, es necesario poner restricciones al tipo de planificaciones permitidas en el sistema.
  • 8. Planificación de Transacciones Recuperabilidad • Las planificaciones que garantizan la recuperabilidad son: Planificaciones recuperables Planificaciones sin cascada
  • 9. Planificación de Transacciones Planificaciones recuperables • Considérese la siguiente planificación: •Supóngase que el sistema permite que T9 se complete inmediatamente después de ejecutar la instrucción leer(A). Así se completa T9 antes de que lo haga T8. •Supóngase ahora que T8 falla antes de completarse. Puesto que T9 ha leído el valor del elemento de datos A Planificación 5 escrito por T8, se debe abortar T9 para asegurar la atomicidad de la transacción. • •Sin embargo, T9 ya se ha comprometido y no puede abortarse. De este modo se llega a una situación en la cual es imposible recuperarse correctamente del fallo de T8.
  • 10. Planificación de Transacciones Planificaciones recuperables •La planificación 5 anterior, cuyo compromiso (commit) tiene lugar inmediatamente después de ejecutar la instrucción leer(A), es un ejemplo de planificación no recuperable, la cual no debe permitirse. •La mayoría de los sistemas de bases de datos requieren que todas las planificaciones sean recuperables. •Una planificación recuperable es aquella en la que para todo par de transacciones Ti y Tj tales que Tj lee elementos de datos que ha escrito previamente Ti, la operación comprometer de Ti aparece antes que la de Tj.
  • 11. Planificación de Transacciones Planificaciones sin cascada •Incluso si una planificación es recuperable, hay que retroceder varias transacciones para recuperar correctamente el estado previo a un fallo en una transacción Ti. •Tales situaciones ocurren si las transacciones leen datos que ha escrito Ti
  • 12. Planificación de Transacciones Planificaciones sin cascada •Considere la siguiente planificación parcial: •La transacción T10 escribe un valor de A que lee la transacción T11. •La transacción T11 escribe un valor de A que lee la transacción T12. •Supóngase que en ese momento falla T10. Se debe retroceder T10. Puesto que T11 depende de T10, se debe Planificacion 6 Retroceder T11. Puesto que T12 depende de T11, se debe Retroceder T12.
  • 13. Planificación de Transacciones Planificaciones sin cascada •Este fenómeno en el cual un fallo en una única transacción provoca una serie de retrocesos de la transacción se denomina retroceso en cascada. •No es deseable el retroceso en cascada, ya que provoca un aumento significativo del trabajo necesario para deshacer cálculos. •Es deseable restringir las planificaciones a aquellas en las que no puedan ocurrir retrocesos en cascada. Tales planificaciones se denominan planificaciones sin cascada.
  • 14. Planificación de Transacciones Planificaciones sin cascada •Una planificación sin cascada es aquella para la que todo par de transacciones Ti y Tj tales que Tj lee un elemento de datos que ha escrito previamente Ti, la operación comprometer de Ti aparece antes que la operación de lectura de Tj. •Por tanto se puede afirmar que toda planificación sin cascada es también recuperable.
  • 15. Planificación de Transacciones Comprobación de la secuencialidad •En los esquemas de control de concurrencia se debe asegurar que las planificaciones que se generan son secuenciables. •Para hacer esto se debe entender primero la forma de determinar si, dada una planificación concreta P, es secuenciable. •Ahora se presenta un método simple y eficiente de determinar la secuencialidad en cuanto a conflictos de una planificación..
  • 16. Planificación de Transacciones Comprobación de la secuencialidad •Considérese una planificación P. Se construye un grafo dirigido, llamado grafo de precedencia para P. •Este grafo consiste en un par G = (V,A), siendo V un conjunto de vértices y A un conjunto de arcos. •El conjunto de vértices consiste en todas las transacciones que participan en la planificación.
  • 17. Planificación de Transacciones Comprobación de la secuencialidad El conjunto de arcos consiste en todos los arcos Ti→Tj para los cuales se dan una de las tres condiciones siguientes: 1. Ti ejecuta escribir(Q) antes de que Tj ejecute leer(Q). 2. Ti ejecuta leer(Q) antes de que Tj ejecute escribir(Q). 3. Ti ejecuta escribir(Q) antes de que Tj ejecute escribir(Q)..
  • 18. Planificación de Transacciones Comprobación de la secuencialidad Si existe un arco Ti → Tj en el grafo de precedencia, entonces en toda planificación secuencial P′ equivalente a P, Ti debe aparecer antes de Tj. Planificaciones secuenciales
  • 19. Planificación de Transacciones Comprobación de la secuencialidad Si el grafo de precedencia de P tiene un ciclo, entonces la planificación P no es secuenciable en cuanto a conflictos. Si el grafo no contiene ciclos, entonces la planificación P es secuenciable en cuanto a conflictos. Planificación NO Secuenciable en cuanto a conflictos