Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.
Sistemas de Base de Datos8.1- Transacciones   Unidad lógica de procesamiento    Secuencia de operaciones que implican acc...
Sistemas de Base de Datos8.1- Transacciones…  Estado  antes de la        BD                     BD                     BD ...
Sistemas de Base de Datos8.1- Transacciones   Tipos de fallos    - Fallo del computador (hardware)    - Errores de softwa...
Sistemas de Base de Datos8.1- Transacciones…Propiedades ACID                      DAI - Ing. Arturo Rozas Huacho   4
Sistemas de Base de Datos8.1- Transacciones   Sea Ti una transacción para transferir S/. 500.00 de la    cuenta A a la cu...
Sistemas de Base de Datos8.1- TransaccionesAtomicidad•Todas o ninguna de las operaciones de la transacción sonejecutadas.•...
Sistemas de Base de Datos8.1- TransaccionesConsistencia• Consistencia Interna  - Una transacción que se ejecuta al termina...
Sistemas de Base de Datos8.1- TransaccionesAislamiento• Serialización  – Si varias transacciones son ejecutadas concurrent...
Sistemas de Base de Datos8.1- TransaccionesDurabilidad• Una vez que la transacción se compromete, el sistema  debe garanti...
Sistemas de Base de Datos8.1- Transacciones…                      DAI - Ing. Arturo Rozas Huacho   10
Sistemas de Base de Datos8.1- Transacciones…       Estados de una transacción                        Parcialmente         ...
Sistemas de Base de Datos8.1- Transacciones…        Implementación de la atomicidad y la           durabilidad      Copia ...
Sistemas de Base de Datos8.2- Sistema de RecuperaciónClasificación de los fallos  Fallo en la transacción.     .    Error ...
Sistemas de Base de Datos8.2- Sistema de RecuperaciónEstructura del almacenamiento   Para entender cómo se pueden garantiz...
Sistemas de Base de Datos8.2- Sistema de RecuperaciónImplementación del almacenamiento estable  Para implementar almacenam...
Sistemas de Base de Datos8.2- Sistema de RecuperaciónImplementación del almacenamiento estable    Es necesario que, si se ...
Sistemas de Base de Datos8.2- Sistema de RecuperaciónAcceso a los datos   Las transacciones llevan información del disco h...
Sistemas de Base de Datos8.2- Sistema de RecuperaciónAcceso a los datos    Cada transacción Ti posee un área de trabajo pr...
Sistemas de Base de Datos8.2- Sistema de RecuperaciónRECUPERACION Y ATOMICIDADSaldos Iniciales         Cuenta A           ...
Sistemas de Base de Datos8.2- Sistema de RecuperaciónRECUPERACIÓN BASADA EN EL REGISTRO  HISTÓRICO      El registro histór...
Sistemas de Base de Datos8.2- Sistema de RecuperaciónRECUPERACIÓN BASADA EN EL REGISTRO  HISTÓRICO      Tipos de registros...
Sistemas de Base de Datos8.2- Sistema de RecuperaciónModificación diferida de la base de datos   Garantiza la atomicidad m...
Sistemas de Base de Datos8.2- Sistema de RecuperaciónModificación diferida de la base de datos   El esquema de recuperació...
Sistemas de Base de Datos8.2- Sistema de RecuperaciónModificación diferida de la base de datos     Sea T0 una transacción ...
Sistemas de Base de Datos8.2- Sistema de RecuperaciónModificación diferida de la base de datos   Tres situaciones de caída...
Sistemas de Base de Datos8.2- Sistema de RecuperaciónModificación diferida de la base de datos    Tres situaciones de caíd...
Sistemas de Base de Datos8.2- Sistema de RecuperaciónModificación inmediata de la base de datos   Permite realizar la sali...
Sistemas de Base de Datos8.2- Sistema de RecuperaciónModificación inmediata de la base de datos     Sea T0 una transacción...
Sistemas de Base de Datos8.2- Sistema de RecuperaciónModificación diferida de la base de datos   Tres situaciones de caída...
Sistemas de Base de Datos8.2- Sistema de RecuperaciónModificación diferida de la base de datos    Tres situaciones de caíd...
Ha terminado este documento.
Descárguela y léala sin conexión.
Próximo SlideShare
El cambio climático en Europa Percepción e impactos 1950-2050
Siguiente
  • Sé el primero en recomendar esto

Transacci[1]..

  1. 1. Sistemas de Base de Datos8.1- Transacciones Unidad lógica de procesamiento Secuencia de operaciones que implican accesos a la base de datos Pero también se considera... – Unidad lógica de integridad – Unidad lógica de concurrencia – Unidad lógica de recuperación Una transacción es atómica O se ejecutan todas las operaciones que componen la transacción, o no se realiza ninguna ejemplo: transferencia de dinero entre dos cuentas bancarias DAI - Ing. Arturo Rozas Huacho 1
  2. 2. Sistemas de Base de Datos8.1- Transacciones… Estado antes de la BD BD BD Transacción SELECT SELECT SELECT TRANSACCION UPDATE UPDATE UPDATE UPDATE UPDATE ¡Fallo de Hardware! DELETE DELETE ¡Error de El SGBD deshace INSERT Programa! Todos los cambios Estado después de la El SGBD deshace BD Todos los cambios Transacción DAI - Ing. Arturo Rozas Huacho 2
  3. 3. Sistemas de Base de Datos8.1- Transacciones Tipos de fallos - Fallo del computador (hardware) - Errores de software. Desbordamiento, división por cero, etc. - Condiciones de excepción detectadas por la transacción. (Por ejemplo no se tiene el saldo para cubrir un retiro) - Imposición del control de concurrencia (Transacciones en bloqueo mortal) - Fallo del disco - Problemas y catástrofesIng. Arturo Rozas Huacho DAI - físicos 3
  4. 4. Sistemas de Base de Datos8.1- Transacciones…Propiedades ACID DAI - Ing. Arturo Rozas Huacho 4
  5. 5. Sistemas de Base de Datos8.1- Transacciones Sea Ti una transacción para transferir S/. 500.00 de la cuenta A a la cuenta B. Se puede definir dicha transacción como: Ti: leer(A) A  A – 500 escribir(A) leer(B) B  B + 50 escribir(B) DAI - Ing. Arturo Rozas Huacho 5
  6. 6. Sistemas de Base de Datos8.1- TransaccionesAtomicidad•Todas o ninguna de las operaciones de la transacción sonejecutadas.•Si la transacción falla, sus resultados parciales deben serdeshechos.•La actividad de preservar la atomicidad de la transacción enla presencia de abortos de la transacción debido a errores deentrada, interbloqueos es llamada recuperación de latransacción.•El sub sistema de recuperación es el responsable de asegurarla atomicidad en la presencia de fallos. DAI - Ing. Arturo Rozas Huacho 6
  7. 7. Sistemas de Base de Datos8.1- TransaccionesConsistencia• Consistencia Interna - Una transacción que se ejecuta al terminar deja la base de datos en estado consistente. - Las transacciones no violan las restricciones de integridad de las bases de datos. DAI - Ing. Arturo Rozas Huacho 7
  8. 8. Sistemas de Base de Datos8.1- TransaccionesAislamiento• Serialización – Si varias transacciones son ejecutadas concurrentemente, los resultados deben ser los mismos como si ellas fueran ejecutadas serialmente en algún orden.• Resultados incompletos – Una transacción incompleta no puede revelar sus resultados a otras transacciones antes de sucompromiso. DAI - Ing. Arturo Rozas Huacho 8
  9. 9. Sistemas de Base de Datos8.1- TransaccionesDurabilidad• Una vez que la transacción se compromete, el sistema debe garantizar que los resultados de sus operaciones nunca serán perdidos, a pesar de fallas subsecuentes.• Recuperación de la base de datos DAI - Ing. Arturo Rozas Huacho 9
  10. 10. Sistemas de Base de Datos8.1- Transacciones… DAI - Ing. Arturo Rozas Huacho 10
  11. 11. Sistemas de Base de Datos8.1- Transacciones… Estados de una transacción Parcialmente Comprometida Comprometida Activa Fallida Abortada DAI - Ing. Arturo Rozas Huacho 11
  12. 12. Sistemas de Base de Datos8.1- Transacciones… Implementación de la atomicidad y la durabilidad Copia en la sombra. Esquema simple pero extremadamente ineficiente. Asume que sólo una transacción está activa en cada momento. Puntero-bd Puntero-bd Copia anterior de la Copia anterior de Nueva copia de la base de datos la base de datos base de datos (que será borrada) Copia en la sombra(a) Antes de la actualización (b) Después de la actualización Si el sistema falla antes de que la transacción haya sido confirmada, entonces solamente se borra la nueva copia. DAI - Ing. Arturo Rozas Huacho 12
  13. 13. Sistemas de Base de Datos8.2- Sistema de RecuperaciónClasificación de los fallos Fallo en la transacción. . Error lógico (desbordamiento). . Error del sistema (Inter bloqueo) Caída del sistema Fallo del disco Se pueden proponer algoritmos para garantizar la consistencia de la base de datos y la atomicidad de las transacciones a pesar de los fallos. DAI - Ing. Arturo Rozas Huacho 13
  14. 14. Sistemas de Base de Datos8.2- Sistema de RecuperaciónEstructura del almacenamiento Para entender cómo se pueden garantizar las propiedades de atomicidad y durabilidad de una transacción, se deben comprender las estructuras de almacenamiento y sus métodos de acceso. Tipos de almacenamiento . Almacenamiento volátil .- La información no suele sobrevivir a las caídas del sistema. Ejemplos: Memoria principal y memoria cache. . Almacenamiento no volátil .- Sobrevive a las caídas del sistema. Ejemplos: Discos, CD’s, DVD’s. . Almacenamiento estable.- La información que reside en almacenamiento estable “nunca” se pierde. DAI - Ing. Arturo Rozas Huacho 14
  15. 15. Sistemas de Base de Datos8.2- Sistema de RecuperaciónImplementación del almacenamiento estable Para implementar almacenamiento estable se debe replicar la información necesaria en varios medios de almacenamiento no volátil (normalmente discos) con modos de fallo independientes. . RAID.- (Disposición redundante de discos independientes) Discos con imagen. (No protegen contra la pérdida de datos debida a desastres naturales) . Almacenamiento estable remoto .- Copias de datos en el sistema de discos locales y a través de una red de computadoras. Copia de Principal RED seguridad DAI - Ing. Arturo Rozas Huacho 15
  16. 16. Sistemas de Base de Datos8.2- Sistema de RecuperaciónImplementación del almacenamiento estable Es necesario que, si se produce un fallo durante una transferencia de datos, el sistema lo detecte e invoque a un procedimiento de recuperación para restaurar el bloque a un estado estable. Para hacer esto, el sistema debe mantener dos bloques físicos por cada bloque lógico de la base de datos. Una operación de salida se ejecuta de la siguiente manera: 1. Se escribe la información en el primer bloque físico 2. Cuando la primera escritura se completa con éxito, se escribe la misma información en el segundo bloque físico. 3. La salida está completada sólo después de que la segunda escritura finalice con éxito. DAI - Ing. Arturo Rozas Huacho 16
  17. 17. Sistemas de Base de Datos8.2- Sistema de RecuperaciónAcceso a los datos Las transacciones llevan información del disco hacia la memoria principal y luego devuelven la información al disco. Las operaciones de entrada y salida se realizan en unidades de bloque Operaciones: 1. entrada(B) transfiere el bloque físico B a la memoria principal 2. salida(B) transfiere el bloque de memoria intermedia B al disco y reemplaza allí al correspondiente bloque físico. A A Memoria principal Disco DAI - Ing. Arturo Rozas Huacho 17
  18. 18. Sistemas de Base de Datos8.2- Sistema de RecuperaciónAcceso a los datos Cada transacción Ti posee un área de trabajo privado en la cual se guardan copias de todos los elementos de datos accedidos y actualizados por Ti. Cada elemento de datos X almacenado en el área de trabajo de la transacción Ti se denotará como xi. Operaciones de transferencia de datos: 1. leer(X) asigna el valor del elemento de datos X a la variable local x i. a) Si el bloque Bx en el que reside X no está en la memoria principal, entonces se emite entrada(Bx). b) Asignar a xi el valor de X en el bloque de memoria intermedia. 2. escribir(X) asigna el valor de la variable local xi al elemento de datos X en el bloque de memoria intermedia. a) Si el bloque Bx en el que reside X no está en la memoria principal, entonces se lanza entrada(Bx). b) Asignar el valor de xi a X en la memoria intermedia Bx. DAI - Ing. Arturo Rozas Huacho 18
  19. 19. Sistemas de Base de Datos8.2- Sistema de RecuperaciónRECUPERACION Y ATOMICIDADSaldos Iniciales Cuenta A Cuenta B S/. 1000 S/. 2000 Supóngase que se desea transferir S/. 50 de la cuenta A a la B y que el sistema cae durante la ejecución de Ti. - Después de ejecutarse salida(B A ), pero antes de ejecutarse salida (B B ) (Donde BA y BB denotan los bloques de memoria intermedia en los que residen A y B.) Estados inconsistentes con dos posibles procedimientos de recuperación Volver a ejecutar T i No volver a ejecutar T i Cuenta A Cuenta B Cuenta A Cuenta B S/. 900 S/. 2050 S/. 950 S/. 2000 DAI - Ing. Arturo Rozas Huacho 19
  20. 20. Sistemas de Base de Datos8.2- Sistema de RecuperaciónRECUPERACIÓN BASADA EN EL REGISTRO HISTÓRICO El registro histórico es una secuencia de registros que mantiene un registro de todas las actualizaciones de la base de datos. Campos del registro de actualización del registro histórico: - El identificador de la transacción - El identificador del elemento de datos. - El valor anterior - El valor nuevo <T i , X j , Valor anterior, Valor nuevo> DAI - Ing. Arturo Rozas Huacho 20
  21. 21. Sistemas de Base de Datos8.2- Sistema de RecuperaciónRECUPERACIÓN BASADA EN EL REGISTRO HISTÓRICO Tipos de registros del registro histórico: - <T i iniciada>. La transacción Ti ha comenzado. - <T i , X j , V 1 , V 2 >. La transacción Ti ha realizado una escritura sobre el elemento de datos Xj . Xj tenía el valor V1 antes de la escritura y tendrá el valor V2 después de la escritura. - <T i comprometida>. La transacción Ti se ha comprometido. - <T i abortada> La transacción Ti ha sido abortada. DAI - Ing. Arturo Rozas Huacho 21
  22. 22. Sistemas de Base de Datos8.2- Sistema de RecuperaciónModificación diferida de la base de datos Garantiza la atomicidad mediante el almacenamiento de todas las modificaciones de la base de datos en el registro histórico, pero retardando la ejecución de todas las operaciones escribir de una transacción hasta que la transacción se compromete parcialmente. Cuando una transacción se compromete parcialmente, la información del registro histórico asociada a esa transacción se utiliza para la ejecución de las escrituras diferidas. Si el sistema cae antes de que la transacción complete su ejecución o si la transacción aborta, la información del registro histórico simplemente se ignora. DAI - Ing. Arturo Rozas Huacho 22
  23. 23. Sistemas de Base de Datos8.2- Sistema de RecuperaciónModificación diferida de la base de datos El esquema de recuperación usa un procedimiento de recuperación: - rehacer(T i ) fija el valor de todos los elementos de datos actualizados por la transacción Ti a los nuevos valores. La operación rehacer debe ser idempotente, esto es, el resultado de ejecutarla varias veces debe ser equivalente al resultado de ejecutarla una sola vez. Después de ocurrir un fallo, el subsistema de recuperación consulta el registro histórico para determinar las transacciones que deben rehacerse. Una transacción Ti debe rehacerse si y sólo si el registro histórico contiene los registros <T i iniciada> y <T i comprometida>. DAI - Ing. Arturo Rozas Huacho 23
  24. 24. Sistemas de Base de Datos8.2- Sistema de RecuperaciónModificación diferida de la base de datos Sea T0 una transacción que transfiere S/. 50 desde la cuenta A a la cuenta B. Y sea T1 una transacción que retira S/. 100 de la cuenta C. (Saldos iniciales: A = 1000, B = 2000 y C = 700)T0: leer(A) Registro histórico Registro histórico Base de <T0 iniciada> datos A := A – 50 <T0 iniciada> escribir(A) <T0, A, 950> <T0, A, 950> leer(B) <T0, B, 2050> <T0, B, 2050> B := B + 50 <T0, comprometida> escribir(B) <T0, comprometida> A = 950 <T1 iniciada> B = 2050T1: leer(C) <T1, C, 600> <T1 iniciada> C := C – 100 <T1, comprometida> <T1, C, 600> escribir(C) <T1, comprometida> C = 600 DAI - Ing. Arturo Rozas Huacho 24
  25. 25. Sistemas de Base de Datos8.2- Sistema de RecuperaciónModificación diferida de la base de datos Tres situaciones de caída del sistema: T0: leer(A) T0: leer(A) T0: leer(A) A := A – 50 A := A – 50 A := A – 50 escribir(A) escribir(A) escribir(A) leer(B) leer(B) leer(B) B := B + 50 B := B + 50 B := B + 50 escribir(B) escribir(B) escribir(B) T1: leer(C) T1: leer(C) T1: leer(C) C := C – 100 C := C – 100 C := C – 100 escribir(C) escribir(C) escribir(C) <T0 iniciada> <T0 iniciada> <T0 iniciada> <T0, A, 950> <T0, A, 950> <T0, A, 950> <T0, B, 2050> <T0, B, 2050> <T0, B, 2050> <T0, comprometida> <T0, comprometida> <T1 iniciada> <T1 iniciada> <T1, C, 600> <T1, C, 600> <T1, comprometida> DAI - Ing. Arturo Rozas Huacho 25
  26. 26. Sistemas de Base de Datos8.2- Sistema de RecuperaciónModificación diferida de la base de datos Tres situaciones de caída del sistema: <T0 iniciada> <T0 iniciada> <T0 iniciada> <T0, A, 950> <T0, A, 950> <T0, A, 950> <T0, B, 2050> <T0, B, 2050> <T0, B, 2050> <T0, comprometida> <T0, comprometida> <T1 iniciada> <T1 iniciada> <T1, C, 600> <T1, C, 600> <T1, comprometida> No es necesario llevar Se realiza la Se realiza las a cabo ninguna acción operación operaciones rehacer , ya que no rehacer(T0) rehacer(T0) aparece el registro de ya que el registro rehacer(T1) comprometido. <T0, comprometida> ya que los registros Aparece en el <T0, comprometida> registro histórico. <T1, comprometida> Aparecen en el registro histórico. DAI - Ing. Arturo Rozas Huacho 26
  27. 27. Sistemas de Base de Datos8.2- Sistema de RecuperaciónModificación inmediata de la base de datos Permite realizar la salida de las modificaciones de la base de datos a la propia base de datos mientras que la transacción está todavía en estado activo. En caso de una caída o de un fallo en la transacción, el sistema debe utilizar el campo para el valor anterior de los registros del registro histórico. El esquema de recuperación usa dos procedimientos de recuperación: - deshacer(T i ) restaura el valor de todos los elementos de datos actualizados por la transacción Ti a los valores anteriores. - rehacer(T i ) fija el valor de todos los elementos de datos actualizados por la transacción Ti a los nuevos valores. DAI - Ing. Arturo Rozas Huacho 27
  28. 28. Sistemas de Base de Datos8.2- Sistema de RecuperaciónModificación inmediata de la base de datos Sea T0 una transacción que transfiere S/. 50 desde la cuenta A a la cuenta B. Y sea T1 una transacción que retira S/. 100 de la cuenta C. (Saldos iniciales: A = 1000, B = 2000 y C = 700)T0: leer(A) Registro histórico Registro histórico Base de <T0 iniciada> datos A := A – 50 <T0 iniciada> escribir(A) <T0, A, 1000, 950> <T0, A, 1000, 950> leer(B) <T0, B, 2000, 2050> A = 950 B := B + 50 <T0, comprometida> <T0, B, 2000, 2050> escribir(B) B = 2050 <T1 iniciada> <T0, comprometida>T1: leer(C) <T1, C, 700, 600> C := C – 100 <T1, comprometida> <T1 iniciada> escribir(C) <T1, C, 600> C = 600 <T1, comprometida> DAI - Ing. Arturo Rozas Huacho 28
  29. 29. Sistemas de Base de Datos8.2- Sistema de RecuperaciónModificación diferida de la base de datos Tres situaciones de caída del sistema: T0: leer(A) T0: leer(A) T0: leer(A) A := A – 50 A := A – 50 A := A – 50 escribir(A) escribir(A) escribir(A) leer(B) leer(B) leer(B) B := B + 50 B := B + 50 B := B + 50 escribir(B) escribir(B) escribir(B) T1: leer(C) T1: leer(C) T1: leer(C) C := C – 100 C := C – 100 C := C – 100 escribir(C) escribir(C) escribir(C) <T0 iniciada> <T0 iniciada> <T0 iniciada> <T0, A, 1000, 950> <T0, A, 1000, 950> <T0, A, 1000, 950> <T0, B, 2000, 2050> <T0, B, 2000, 2050> <T0, B, 2000, 2050> <T0, comprometida> <T0, comprometida> <T1 iniciada> <T1 iniciada> <T1, C, 700, 600> <T1, C, 700, 600> <T1, comprometida> DAI - Ing. Arturo Rozas Huacho 29
  30. 30. Sistemas de Base de Datos8.2- Sistema de RecuperaciónModificación diferida de la base de datos Tres situaciones de caída del sistema: <T0 iniciada> <T0 iniciada> <T0 iniciada> <T0, A, 1000, 950> <T0, A, 1000, 950> <T0, A, 1000, 950> <T0, B, 2000, 2050> <T0, B, 2000, 2050> <T0, B, 2000, 2050> <T0, comprometida> <T0, comprometida> <T1 iniciada> <T1 iniciada> <T1, C, 700, 600> <T1, C, 700, 600> <T1, comprometida> Se realiza la operación Se realiza las Se realiza las deshacer(T0) operaciones operaciones deshacer(T1) rehacer(T0) rehacer(T0) rehacer(T1) DAI - Ing. Arturo Rozas Huacho 30

Vistas

Total de vistas

533

En Slideshare

0

De embebidos

0

Número de embebidos

4

Acciones

Descargas

11

Compartidos

0

Comentarios

0

Me gusta

0

×