SlideShare una empresa de Scribd logo
1 de 60
Base de Datos:    PROCESAMIENTO DE TRANSACCIONES Y SEGURIDAD EN LAS BD Profesor: MSC. Luis Serna Jherry
Objetivos del Día de Hoy ,[object Object],[object Object],[object Object]
Procesamiento de Transacciones “ El problema de la modificación perdida” tiempo Transacción A Transacción B Traer R ($250) Traer R ($250) Actualizar R=R-20  ($230) Actualizar R=R-30  ($220)
[object Object],[object Object],[object Object],[object Object],Procesamiento de Transacciones
[object Object],[object Object],[object Object],[object Object],[object Object],Procesamiento de Transacciones
[object Object],[object Object],[object Object],[object Object],[object Object],Procesamiento de Transacciones
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Procesamiento de Transacciones
Procesamiento de Transacciones  2 retiros de 20 y 30 tiempo Transacción A Transacción B Begin transaction Leer R ($250) Begin transaction esperar Actualizar  R=R-20  ($230)   esperar Commit esperar Traer R ($230) Actualizar  R=R-30  ($200) commit
Procesamiento de Transacciones tiempo Incluyendo transferencia de R a P Transacción A Transacción B Leer R ($250) Actualizar R= R-20 ($230) Leer R ($230) Leer P ($600) Actualizar  R=R-30  ($200) Actualizar P = P+20 ($620) Leer P ($620) Actualizar P = P+30 ($650)
Procesamiento de Transacciones ,[object Object],[object Object],[object Object]
Transición de Estados de una Transacción Read/write endTransaction Abort Abort Commit Confirmada Parcialmente confirmada Activa Fallida Terminada
Concurrencia: P lanificadores ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Concurrencia:  Planificadores C 11 : leer R C 12 : actualizar R C 21 : leer R C 13 : leer P C 22 : actualizar R C 14 : actualizar P C 23 : leer P C 24 : actualizar P ,[object Object],T 1 T 2 C 11 : leer R C 21 : leer R C 12 : actualizar R C 22 : actualizar R C 13 : leer P C 23 : leer P C 14 : actualizar P C 24 : actualizar P Planificador
Concurrencia:  Tipos de Planificadores ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Concurrencia - Planificador Seriable - ,[object Object],[object Object]
Concurrencia - Prueba de Seriabilidad por Conflictos - ,[object Object],[object Object],[object Object],[object Object]
Concurrencia - Prueba de Seriabilidad por Conflictos - ,[object Object],[object Object],[object Object],[object Object],[object Object]
Planes y sus Grafos de Precedencia tiempo T1 T2 X PLAN A En T1 se transfieren reservas de un avión a otro En T2 simplemente se reserva asientos en un avión T1 T2 Read X X:= X-N Write X Read Y Y:= Y + N Write Y Read X X:= X + M Write X
Planes y sus Grafos de Precedencia tiempo T1 T2 X PLAN B T1 T2 Read X X:= X + M Write X Read X X:= X-N Write X Read Y Y:= Y + N Write Y
Planes y sus Grafos de Precedencia tiempo T1 T2 X PLAN C X *** ACTUALIZACION PERDIDA :  El valor de X es incorrecto, el numero de asientos es inconsitente T1 T2 Read X X:= X-N Read X X:= X + M Write X Read Y Write X *** Y:= Y + N Write Y
Planes y sus Grafos de Precedencia tiempo T1 T2 PLAN D X T1 T2 Read X X:= X-N Write X Read X X:= X + M Write X Read Y  Y:= Y + N Write Y
Control de Concurrencia ,[object Object],[object Object],[object Object],[object Object],[object Object]
Control de Concurrencia: Bloqueo El bloqueo asegura que un objeto que va a ser utilizado por una transacción no cambie de manera impredecible, si esto puede afectar la confiabilidad del resultado. El efecto del bloqueo es no permitir que otras transacciones tengan acceso al objeto. Bloqueo Exclusivo :   Si una Transacción A tiene un bloqueo X sobre el objeto R, cualquier otra Transacción B que solicite un bloqueo (de cualquier tipo) sobre R, entrará en un estado de espera, hasta que A libere el bloqueo sobre R. Bloqueo Compartido :   Si una Transacción A tiene un bloqueo S sobre el objeto R: Si otra Transacción B solicita un bloqueo X sobre R, entrará en un estado de espera, hasta que A, libere a R. Si en cambio B, solicita un bloqueo S, su solicitud será concedida  X: escritura,  S:lectura
Control de Concurrencia Bloqueo y operaciones sobre Registros   N:  Hay conflicto, la transacción B entra en espera. S:  Compatibilidad, se concede el bloqueo solicitado por B X S X N N S N S A B
Protocolos de Bloqueo ,[object Object],[object Object],[object Object],[object Object],[object Object]
Protocolos de Bloqueo ,[object Object],[object Object],[object Object],[object Object]
Control de Concurrencia Bloqueo Mutuo, Punto Muerto o Interbloqueo  : tiempo Transacción A Transacción B Solicita bloqueo X sobre R1 - concedido - Solicita bloqueo X sobre R2 - concedido - Solicita bloqueo X sobre R2 Esperar Solicita bloqueo X sobre R1 esperar esperar esperar esperar -------- --------
Control de Concurrencia El problema de la “lectura sucia”.  tiempo Transacción A Transacción B Leer R ($250) Actualizar R= R-20 ($230) Leer R ($230) rollback Actualizar  R=R-30  ($200) commit
Solución de bloqueo para la “lectura sucia” tiempo Transacción A Transacción B Obtener bloqueo S para R -  concedido Leer R ($250) Obtener bloqueo X para R – concedido Actualizar R= R-20 ($230) Obtener bloqueo S para R –  esperar rollback - esperar - Bloqueo concedido Leer R ($250) Obtener bloqueo X para R -  concedido Actualizar  R=R-30  ($220) commit
Control de Concurrencia El problema de la “lectura irrepetible” tiempo Transacción A Transacción B Leer R ($250) Leer R ($250) Actualizar  R=R-30  ($220) commit Leer R ($220) ¡interferencia detectada!
Solución de bloqueo para la “lectura irrepetible” tiempo Transacción A Transacción B Obtener bloqueo S para R –  concedido Leer R ($250) Obtener bloqueo S para R –  concedido Leer R ($250) Obtener bloqueo X para R -  esperar Leer R ($250) esperar (lectura repetible) esperar ............... ....................
Control de Concurrencia El problema de la aparición de “fantasmas”,  resumen incompleto o análisis inconsistente tiempo Transacción 1 Transacción 2 Traer C 1 (40):Suma=40 Traer C 2 (50):Suma=90 Traer C 3 (30) Actualizar C 3 (20) Traer C 1 (40) Actualizar C 1 (50) COMMIT Traer C 3 (20):Suma=110
Solución de bloqueo para el problema de la aparición de “fantasmas”  Transacción 1 Transacción 2 Obtener bloqueo S sobre C -  concedido Traer C 1 (40):Suma=40 Traer C 2 (50):Suma=90 Obtener bloqueo X sobre C -  esperar Traer C 3 (30):Suma=120 Esperar commit esperar Conceder bloqueo .............. ..............
Control de Concurrencia ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Nivel de Aislamiento / Interferencia Nivel de Aislamiento Situación de Interferencia Lectura sucia Lectura no repetible Fantasma Lectura no registrada Posible Posible Posible Lectura registrada No posible Posible Posible Lectura repetible No posible No posible Posible Seriable No posible No posible No posible
Seriabilidad por marcas temporales ,[object Object],[object Object],[object Object],[object Object],[object Object]
Seriabilidad por marcas temporales Se asocia a cada tupla dos valores de marca temporal: t u  es la marca temporal de la transacción más reciente que ha actualizado o creado la tupla t r   es la marca temporal de la transacción más reciente que ha observado la tupla Obsérvese que siempre  t u      t r   (una transacción siempre observa la tupla antes de actualizarla)
Seriabilidad por marcas temporales Si la transacción  t  solicita  leer  una tupla: Si t >=  t u     se ejecuta la operación  leer  y se actualiza  t r  por max ( t ,  t r  ) Si t <  t u     una transacción más reciente (posterior en el tiempo) ya escribió el valor de la tupla, antes de que  t  tuviera oportunidad de leerla.  T  se retrocede y vuelve a iniciarse con una marca  t’  más grande.
Seriabilidad por marcas temporales Si  t  solicita  actualizar  una tupla: Si  t      t r     se ejecuta la actualización, dado que ninguna transacción más reciente que  t  ha leído siquiera la tupla Si  t  <  t r  ó  t  <  t u     se retrocede (rollback) la transacción  t  y se reinicia con una marca temporal mayor, porque alguna transacción posterior a  t  ya leyó o escribió la tupla antes de que  t  pueda hacerlo Si un rollback comprende la reinstalación de valores previos, el rollback debe tener una marca de hora nueva, que actualizará t u  y t r   de la tupla reinstalada
Prevención de Interbloqueos ,[object Object],[object Object]
Prevención de interbloqueos Esperar o Morir Si T i  solicita un elemento que posee T j , T i  puede esperar sólo si T i  < T j  (T i  es más antigua que T j ) en otro caso T i  se retrocede (muere) Herir o Esperar Si T i  solicita un elemento que posee T j , T i  espera sólo si T i  > T j  (T i  es más reciente que T j ) ; en otro caso T j  se retrocede (T i  hiere a T j ). No-espera Si Ti no puede obtener un bloqueo se aborta de inmediato y se reinicia después de un cierto lapso sin comprobar si ocurriría o no un bloqueo mortal Espera Cautelosa Si Ti solicita un elemento que posee Tj, Ti espera sólo si Tj no está detenida (no está esperando que se libere ningún otro elemento bloqueado); en caso contrario Tj aborta.
[object Object],[object Object],[object Object],[object Object],Recuperación
Transaction Log Programa de Aplicación DBMS Acceso Base de  Datos Transaction  Log (a) (b) Actualización de los datos (a) (b) Se modifican  los datos (a) ante-imagen (b) post-imagen
Recuperación ,[object Object],[object Object],[object Object],[object Object],[object Object]
Recuperación ,[object Object],[object Object],[object Object],[object Object]
Recuperación ,[object Object],[object Object],[object Object],[object Object]
Recuperación ,[object Object],[object Object],[object Object],[object Object]
Recuperación de la BD ,[object Object],[object Object]
Recuperación ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Recuperación - Fallas del Sistema   - Se pierde el contenido de la memoria principal y de las áreas de almacenamiento temporal. Por lo tanto, se perderá el estado preciso de la transacción que se está ejecutando y no podrá ser completada con éxito.  Por este motivo será preciso anularla (retroceder) cuando se reinicie el sistema (aplicación de los registros ante-imagen desde el Log de transacciones). Para reducir este proceso, se introducen periódicamente  Puntos de Revisión o Verificación .
Recuperación ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Recuperación ,[object Object],[object Object],[object Object],T1 T2 T3 T4 T5 tv tf Falla del  Sistema Punto de  verificación
Recuperación ,[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],Seguridad en Bases de Datos
Seguridad en el DBMS ,[object Object],[object Object],[object Object]
La seguridad de la BD y el DBA ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Protección de Acceso y Auditoría de la BD ,[object Object],[object Object]
Privilegios Discrecionales ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Seguridad – Consideraciones Adicionales ,[object Object],[object Object],[object Object],[object Object]
Bibliografia ,[object Object]

Más contenido relacionado

La actualidad más candente

Dispositiovs De Almacenamiento Secundario
Dispositiovs De Almacenamiento SecundarioDispositiovs De Almacenamiento Secundario
Dispositiovs De Almacenamiento Secundario
guestf14b95
 
Mapa mental de memoria virtual
Mapa mental de memoria virtualMapa mental de memoria virtual
Mapa mental de memoria virtual
jorge77712
 
Tipos de Memorias RAM
Tipos de Memorias RAMTipos de Memorias RAM
Tipos de Memorias RAM
oskrcrazy
 

La actualidad más candente (20)

Bases de datos NoSQL en entornos Big Data
Bases de datos NoSQL en entornos Big DataBases de datos NoSQL en entornos Big Data
Bases de datos NoSQL en entornos Big Data
 
Dispositiovs De Almacenamiento Secundario
Dispositiovs De Almacenamiento SecundarioDispositiovs De Almacenamiento Secundario
Dispositiovs De Almacenamiento Secundario
 
Memoria rom y conexiones(interfaces)
Memoria rom y conexiones(interfaces)Memoria rom y conexiones(interfaces)
Memoria rom y conexiones(interfaces)
 
Tipos De Memoria Ram
Tipos De Memoria RamTipos De Memoria Ram
Tipos De Memoria Ram
 
Noción de archivo real y virtual
Noción de archivo real y virtual Noción de archivo real y virtual
Noción de archivo real y virtual
 
Computacion paralela
Computacion paralelaComputacion paralela
Computacion paralela
 
Bases de datos orientadas a grafos
Bases de datos orientadas a grafosBases de datos orientadas a grafos
Bases de datos orientadas a grafos
 
Sintaxis del lenguaje ensamblador
Sintaxis del lenguaje ensambladorSintaxis del lenguaje ensamblador
Sintaxis del lenguaje ensamblador
 
Introducción a las bases de datos
Introducción a las bases de datosIntroducción a las bases de datos
Introducción a las bases de datos
 
Memoria sram
Memoria  sramMemoria  sram
Memoria sram
 
HISTORIA DE LAS BASES DE DATOS
HISTORIA DE LAS BASES DE DATOSHISTORIA DE LAS BASES DE DATOS
HISTORIA DE LAS BASES DE DATOS
 
Memoria virtual
Memoria virtualMemoria virtual
Memoria virtual
 
Algoritmos de gestión de memoria
Algoritmos de gestión de memoriaAlgoritmos de gestión de memoria
Algoritmos de gestión de memoria
 
GESTION DE PROCESOS EN SISTEMAS OPERATIVOS
GESTION DE PROCESOS EN SISTEMAS OPERATIVOSGESTION DE PROCESOS EN SISTEMAS OPERATIVOS
GESTION DE PROCESOS EN SISTEMAS OPERATIVOS
 
Chipset
Chipset Chipset
Chipset
 
Mapa mental de memoria virtual
Mapa mental de memoria virtualMapa mental de memoria virtual
Mapa mental de memoria virtual
 
Tipos de Memorias RAM
Tipos de Memorias RAMTipos de Memorias RAM
Tipos de Memorias RAM
 
Almacenamiento
AlmacenamientoAlmacenamiento
Almacenamiento
 
Arquitectura de memorias RAM Y ROM
Arquitectura de memorias RAM Y ROMArquitectura de memorias RAM Y ROM
Arquitectura de memorias RAM Y ROM
 
Buses
BusesBuses
Buses
 

Similar a Transacciones y seguridad

Transacciones y seguridad
Transacciones y seguridadTransacciones y seguridad
Transacciones y seguridad
Luis Jherry
 
Concurrencia bases datos 2
Concurrencia bases datos 2Concurrencia bases datos 2
Concurrencia bases datos 2
Velmuz Buzz
 
Concurrencia en Bases de Datos (I)
Concurrencia en Bases de Datos (I)Concurrencia en Bases de Datos (I)
Concurrencia en Bases de Datos (I)
ednaru
 

Similar a Transacciones y seguridad (20)

Transacciones y seguridad
Transacciones y seguridadTransacciones y seguridad
Transacciones y seguridad
 
Transacciones.pptx julio
Transacciones.pptx julioTransacciones.pptx julio
Transacciones.pptx julio
 
Transacciones.pptx julio
Transacciones.pptx julioTransacciones.pptx julio
Transacciones.pptx julio
 
Transacciones
TransaccionesTransacciones
Transacciones
 
Abd clase 8
Abd clase 8Abd clase 8
Abd clase 8
 
acrónimo que representa atomicidad, consistencia, aislamiento y durabilidad
acrónimo que representa atomicidad, consistencia, aislamiento y durabilidadacrónimo que representa atomicidad, consistencia, aislamiento y durabilidad
acrónimo que representa atomicidad, consistencia, aislamiento y durabilidad
 
Concurrencia bases datos 2
Concurrencia bases datos 2Concurrencia bases datos 2
Concurrencia bases datos 2
 
Abd clase 5 y 6
Abd clase 5 y 6Abd clase 5 y 6
Abd clase 5 y 6
 
Capítulo 17 ( Introducción a los conceptos y la Teoría sobre el procesamiento...
Capítulo 17 ( Introducción a los conceptos y la Teoría sobre el procesamiento...Capítulo 17 ( Introducción a los conceptos y la Teoría sobre el procesamiento...
Capítulo 17 ( Introducción a los conceptos y la Teoría sobre el procesamiento...
 
Concurrencia 1 ABD UCV
Concurrencia 1 ABD UCVConcurrencia 1 ABD UCV
Concurrencia 1 ABD UCV
 
Concurrencia 2 ABD UCV
Concurrencia 2 ABD UCVConcurrencia 2 ABD UCV
Concurrencia 2 ABD UCV
 
Gestion de transacciones "Investigación"
Gestion de transacciones "Investigación"Gestion de transacciones "Investigación"
Gestion de transacciones "Investigación"
 
Concurrencias BD
Concurrencias BDConcurrencias BD
Concurrencias BD
 
Concurrencia
ConcurrenciaConcurrencia
Concurrencia
 
Bd no sql tecnicas2
Bd no sql tecnicas2Bd no sql tecnicas2
Bd no sql tecnicas2
 
Gestion de transacciones
Gestion de transaccionesGestion de transacciones
Gestion de transacciones
 
Administración de Bases de Datos - Concurrencia
Administración de Bases de Datos - ConcurrenciaAdministración de Bases de Datos - Concurrencia
Administración de Bases de Datos - Concurrencia
 
TODO UNIDO ANALISIS.pdf
TODO UNIDO ANALISIS.pdfTODO UNIDO ANALISIS.pdf
TODO UNIDO ANALISIS.pdf
 
Concurrencia en Bases de Datos (I)
Concurrencia en Bases de Datos (I)Concurrencia en Bases de Datos (I)
Concurrencia en Bases de Datos (I)
 
Concurrencia en Bases de Datos (I)
Concurrencia en Bases de Datos (I)Concurrencia en Bases de Datos (I)
Concurrencia en Bases de Datos (I)
 

Más de Luis Jherry

Suscripciones de cable
Suscripciones de cableSuscripciones de cable
Suscripciones de cable
Luis Jherry
 
Sistema de organización de eventos
Sistema de organización de eventosSistema de organización de eventos
Sistema de organización de eventos
Luis Jherry
 
Sistema de control y seguimiento de trasplantes renales
Sistema de control y seguimiento de trasplantes renalesSistema de control y seguimiento de trasplantes renales
Sistema de control y seguimiento de trasplantes renales
Luis Jherry
 
Selección de personal
Selección de personalSelección de personal
Selección de personal
Luis Jherry
 
Planificacion mensual en una industria medico
Planificacion mensual en una industria medicoPlanificacion mensual en una industria medico
Planificacion mensual en una industria medico
Luis Jherry
 
Pedidos en feria
Pedidos en feriaPedidos en feria
Pedidos en feria
Luis Jherry
 
Paquete turístico
Paquete turísticoPaquete turístico
Paquete turístico
Luis Jherry
 
Organización de congresos
Organización de congresosOrganización de congresos
Organización de congresos
Luis Jherry
 
Obras de construcción
Obras de construcciónObras de construcción
Obras de construcción
Luis Jherry
 
Instituto de capacitación en ti
Instituto de capacitación en tiInstituto de capacitación en ti
Instituto de capacitación en ti
Luis Jherry
 
Explotaciones mineras
Explotaciones minerasExplotaciones mineras
Explotaciones mineras
Luis Jherry
 

Más de Luis Jherry (20)

Tienda de ropa
Tienda de ropaTienda de ropa
Tienda de ropa
 
Telefonos
TelefonosTelefonos
Telefonos
 
Suscripciones
SuscripcionesSuscripciones
Suscripciones
 
Suscripciones de cable
Suscripciones de cableSuscripciones de cable
Suscripciones de cable
 
Software s
Software sSoftware s
Software s
 
Sistema escolar
Sistema escolarSistema escolar
Sistema escolar
 
Sistema de organización de eventos
Sistema de organización de eventosSistema de organización de eventos
Sistema de organización de eventos
 
Sistema de control y seguimiento de trasplantes renales
Sistema de control y seguimiento de trasplantes renalesSistema de control y seguimiento de trasplantes renales
Sistema de control y seguimiento de trasplantes renales
 
Selección de personal
Selección de personalSelección de personal
Selección de personal
 
Planificacion mensual en una industria medico
Planificacion mensual en una industria medicoPlanificacion mensual en una industria medico
Planificacion mensual en una industria medico
 
Pedidos en feria
Pedidos en feriaPedidos en feria
Pedidos en feria
 
Paquete turístico
Paquete turísticoPaquete turístico
Paquete turístico
 
Organización de congresos
Organización de congresosOrganización de congresos
Organización de congresos
 
Obras de construcción
Obras de construcciónObras de construcción
Obras de construcción
 
Museo
MuseoMuseo
Museo
 
Instituto de capacitación en ti
Instituto de capacitación en tiInstituto de capacitación en ti
Instituto de capacitación en ti
 
Hostal
HostalHostal
Hostal
 
Hostal ii
Hostal iiHostal ii
Hostal ii
 
Gimnasio
GimnasioGimnasio
Gimnasio
 
Explotaciones mineras
Explotaciones minerasExplotaciones mineras
Explotaciones mineras
 

Último

🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
EliaHernndez7
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docx
lupitavic
 
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
MiNeyi1
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Francisco158360
 
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
RigoTito
 
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
MiNeyi1
 

Último (20)

SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
SESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.docSESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.doc
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
 
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docx
 
Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
 
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
 
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSOCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativa
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
 
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
 
2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf
2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf
2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf
 
Sesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronósticoSesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronóstico
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
 
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
 

Transacciones y seguridad

  • 1. Base de Datos: PROCESAMIENTO DE TRANSACCIONES Y SEGURIDAD EN LAS BD Profesor: MSC. Luis Serna Jherry
  • 2.
  • 3. Procesamiento de Transacciones “ El problema de la modificación perdida” tiempo Transacción A Transacción B Traer R ($250) Traer R ($250) Actualizar R=R-20 ($230) Actualizar R=R-30 ($220)
  • 4.
  • 5.
  • 6.
  • 7.
  • 8. Procesamiento de Transacciones 2 retiros de 20 y 30 tiempo Transacción A Transacción B Begin transaction Leer R ($250) Begin transaction esperar Actualizar R=R-20 ($230) esperar Commit esperar Traer R ($230) Actualizar R=R-30 ($200) commit
  • 9. Procesamiento de Transacciones tiempo Incluyendo transferencia de R a P Transacción A Transacción B Leer R ($250) Actualizar R= R-20 ($230) Leer R ($230) Leer P ($600) Actualizar R=R-30 ($200) Actualizar P = P+20 ($620) Leer P ($620) Actualizar P = P+30 ($650)
  • 10.
  • 11. Transición de Estados de una Transacción Read/write endTransaction Abort Abort Commit Confirmada Parcialmente confirmada Activa Fallida Terminada
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18. Planes y sus Grafos de Precedencia tiempo T1 T2 X PLAN A En T1 se transfieren reservas de un avión a otro En T2 simplemente se reserva asientos en un avión T1 T2 Read X X:= X-N Write X Read Y Y:= Y + N Write Y Read X X:= X + M Write X
  • 19. Planes y sus Grafos de Precedencia tiempo T1 T2 X PLAN B T1 T2 Read X X:= X + M Write X Read X X:= X-N Write X Read Y Y:= Y + N Write Y
  • 20. Planes y sus Grafos de Precedencia tiempo T1 T2 X PLAN C X *** ACTUALIZACION PERDIDA : El valor de X es incorrecto, el numero de asientos es inconsitente T1 T2 Read X X:= X-N Read X X:= X + M Write X Read Y Write X *** Y:= Y + N Write Y
  • 21. Planes y sus Grafos de Precedencia tiempo T1 T2 PLAN D X T1 T2 Read X X:= X-N Write X Read X X:= X + M Write X Read Y Y:= Y + N Write Y
  • 22.
  • 23. Control de Concurrencia: Bloqueo El bloqueo asegura que un objeto que va a ser utilizado por una transacción no cambie de manera impredecible, si esto puede afectar la confiabilidad del resultado. El efecto del bloqueo es no permitir que otras transacciones tengan acceso al objeto. Bloqueo Exclusivo : Si una Transacción A tiene un bloqueo X sobre el objeto R, cualquier otra Transacción B que solicite un bloqueo (de cualquier tipo) sobre R, entrará en un estado de espera, hasta que A libere el bloqueo sobre R. Bloqueo Compartido : Si una Transacción A tiene un bloqueo S sobre el objeto R: Si otra Transacción B solicita un bloqueo X sobre R, entrará en un estado de espera, hasta que A, libere a R. Si en cambio B, solicita un bloqueo S, su solicitud será concedida X: escritura, S:lectura
  • 24. Control de Concurrencia Bloqueo y operaciones sobre Registros N: Hay conflicto, la transacción B entra en espera. S: Compatibilidad, se concede el bloqueo solicitado por B X S X N N S N S A B
  • 25.
  • 26.
  • 27. Control de Concurrencia Bloqueo Mutuo, Punto Muerto o Interbloqueo : tiempo Transacción A Transacción B Solicita bloqueo X sobre R1 - concedido - Solicita bloqueo X sobre R2 - concedido - Solicita bloqueo X sobre R2 Esperar Solicita bloqueo X sobre R1 esperar esperar esperar esperar -------- --------
  • 28. Control de Concurrencia El problema de la “lectura sucia”. tiempo Transacción A Transacción B Leer R ($250) Actualizar R= R-20 ($230) Leer R ($230) rollback Actualizar R=R-30 ($200) commit
  • 29. Solución de bloqueo para la “lectura sucia” tiempo Transacción A Transacción B Obtener bloqueo S para R - concedido Leer R ($250) Obtener bloqueo X para R – concedido Actualizar R= R-20 ($230) Obtener bloqueo S para R – esperar rollback - esperar - Bloqueo concedido Leer R ($250) Obtener bloqueo X para R - concedido Actualizar R=R-30 ($220) commit
  • 30. Control de Concurrencia El problema de la “lectura irrepetible” tiempo Transacción A Transacción B Leer R ($250) Leer R ($250) Actualizar R=R-30 ($220) commit Leer R ($220) ¡interferencia detectada!
  • 31. Solución de bloqueo para la “lectura irrepetible” tiempo Transacción A Transacción B Obtener bloqueo S para R – concedido Leer R ($250) Obtener bloqueo S para R – concedido Leer R ($250) Obtener bloqueo X para R - esperar Leer R ($250) esperar (lectura repetible) esperar ............... ....................
  • 32. Control de Concurrencia El problema de la aparición de “fantasmas”, resumen incompleto o análisis inconsistente tiempo Transacción 1 Transacción 2 Traer C 1 (40):Suma=40 Traer C 2 (50):Suma=90 Traer C 3 (30) Actualizar C 3 (20) Traer C 1 (40) Actualizar C 1 (50) COMMIT Traer C 3 (20):Suma=110
  • 33. Solución de bloqueo para el problema de la aparición de “fantasmas” Transacción 1 Transacción 2 Obtener bloqueo S sobre C - concedido Traer C 1 (40):Suma=40 Traer C 2 (50):Suma=90 Obtener bloqueo X sobre C - esperar Traer C 3 (30):Suma=120 Esperar commit esperar Conceder bloqueo .............. ..............
  • 34.
  • 35. Nivel de Aislamiento / Interferencia Nivel de Aislamiento Situación de Interferencia Lectura sucia Lectura no repetible Fantasma Lectura no registrada Posible Posible Posible Lectura registrada No posible Posible Posible Lectura repetible No posible No posible Posible Seriable No posible No posible No posible
  • 36.
  • 37. Seriabilidad por marcas temporales Se asocia a cada tupla dos valores de marca temporal: t u es la marca temporal de la transacción más reciente que ha actualizado o creado la tupla t r es la marca temporal de la transacción más reciente que ha observado la tupla Obsérvese que siempre t u  t r (una transacción siempre observa la tupla antes de actualizarla)
  • 38. Seriabilidad por marcas temporales Si la transacción t solicita leer una tupla: Si t >= t u  se ejecuta la operación leer y se actualiza t r por max ( t , t r ) Si t < t u  una transacción más reciente (posterior en el tiempo) ya escribió el valor de la tupla, antes de que t tuviera oportunidad de leerla. T se retrocede y vuelve a iniciarse con una marca t’ más grande.
  • 39. Seriabilidad por marcas temporales Si t solicita actualizar una tupla: Si t  t r  se ejecuta la actualización, dado que ninguna transacción más reciente que t ha leído siquiera la tupla Si t < t r ó t < t u  se retrocede (rollback) la transacción t y se reinicia con una marca temporal mayor, porque alguna transacción posterior a t ya leyó o escribió la tupla antes de que t pueda hacerlo Si un rollback comprende la reinstalación de valores previos, el rollback debe tener una marca de hora nueva, que actualizará t u y t r de la tupla reinstalada
  • 40.
  • 41. Prevención de interbloqueos Esperar o Morir Si T i solicita un elemento que posee T j , T i puede esperar sólo si T i < T j (T i es más antigua que T j ) en otro caso T i se retrocede (muere) Herir o Esperar Si T i solicita un elemento que posee T j , T i espera sólo si T i > T j (T i es más reciente que T j ) ; en otro caso T j se retrocede (T i hiere a T j ). No-espera Si Ti no puede obtener un bloqueo se aborta de inmediato y se reinicia después de un cierto lapso sin comprobar si ocurriría o no un bloqueo mortal Espera Cautelosa Si Ti solicita un elemento que posee Tj, Ti espera sólo si Tj no está detenida (no está esperando que se libere ningún otro elemento bloqueado); en caso contrario Tj aborta.
  • 42.
  • 43. Transaction Log Programa de Aplicación DBMS Acceso Base de Datos Transaction Log (a) (b) Actualización de los datos (a) (b) Se modifican los datos (a) ante-imagen (b) post-imagen
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50. Recuperación - Fallas del Sistema - Se pierde el contenido de la memoria principal y de las áreas de almacenamiento temporal. Por lo tanto, se perderá el estado preciso de la transacción que se está ejecutando y no podrá ser completada con éxito. Por este motivo será preciso anularla (retroceder) cuando se reinicie el sistema (aplicación de los registros ante-imagen desde el Log de transacciones). Para reducir este proceso, se introducen periódicamente Puntos de Revisión o Verificación .
  • 51.
  • 52.
  • 53.
  • 54.
  • 55.
  • 56.
  • 57.
  • 58.
  • 59.
  • 60.

Notas del editor

  1. Resultado de la ejecución de un programa de usuario escrito en algún lenguaje de programación o de manipulación de datos de alto nivel (SQL, Cobol, Pascal, C, etc.)
  2. Consistencia: La suma de A + B no debe ser alterada al ejecutar la transacción. Sin el requisito de consistencia ¡la transacción podría crear o destruir dinero! La responsabilidad de asegurar la consistencia de una transacción es del programador de la aplicación que la codifica. Atomicidad: Supongamos que antes de la transacción, los valores de las cuentas A y B son 20,000 y 40,000, respectivamente Durante la ejecución, hay momentos en que la BD se encuentra en un estado inconsistente . La atomicidad garantiza que esos estados inconsistentes no sean visibles sino al interior de la transacción. La BD conserva los valores antiguos (en disco), y si la transacción no se completa, recupera dichos valores. La responsabilidad de asegurar la atomicidad es del gestor de transacciones de la BD. Durabilidad: Cuando se ha completado con éxito la transacción, no debe suceder que una falla en el sistema produzca la pérdida de datos correspondientes a la transferencia. Las modificaciones realizadas en la transacción se guardan en disco antes que ésta finalice Esta información guardada es suficiente para reconstruirla en caso de fallo. La responsabilidad de asegurar la durabilidad es del gestor de recuperaciones de la BD, estrechamente ligado al gestor de transacciones. Aislamiento: Aunque haya otras transacciones accedan concurrentemente a A y B, sus operaciones no se entrelazarán de modo que ocasionen inconsistencias en la BD. Es decir, las transacciones se ejecutan “como si” su tratamiento fuera secuencial. La responsabilidad de asegurar la atomicidad es del componente de control de concurrencias de la BD.
  3. Si el DBMS encuentra un begin transaction cuando hay otra transacción en proceso, bloquea la nueva hasta que la anterior termine. Este método elimina la interferencia, pero es pesimista al suponer que cualquier actividad concurrente representa una amenaza de interferencia.
  4. Transacción A: transferir $20 de R a P Transacción B: transferir $30 de R a P Las acciones se están intercalando sin resultados indeseables
  5. Activa , el estado inicial; permanece en ese estado durante su ejecución Parcialmente comprometida , después de ejecutarse su última instrucción Fallida , tras descubrir que no puede continuar su ejecución normal Abortada , después de haber retrocedido la transacción y restablecido la BD a su estado anterior al comienzo de la misma. Comprometida , tras completarse con éxito.
  6. Con bloqueo estricto de dos fases
  7. El bloqueo se aplica sobre criterios de búsqueda, no sobre tuplas individuales
  8. Lectura registrada: solamente bloqueos X Lectura repetible: bloqueos X y S, sobre objetos individuales Seriable: bloqueos sobre criterios de búsqueda
  9. En Esperar – Morir, una transacción más antigua debe esperar a que una más reciente libere sus elementos de datos. Así, cuanto más antigua se vuelve, más tiende a esperar. Por el contrario, en herir – esperar, una transacción más antigua nunca espera a una más reciente. En esperar – morir, si Ti muere y se retrocede a causa de haber solicitado un elemento de dato que posee Tj, entonces Ti puede volver a realizar la misma secuencia de peticiones cuando vuelva a comenzar. Si Tj posee todavía ese elemento de dato, Ti morirá de nuevo. Así, Ti puede morir varias veces hasta que adquiera el elemento que necesita. Por el contrario, en el esquema herir-esperar, si Ti está herida y retrocede porque Tj solicita un elemento de datos que posee; cuando vuelva a comenzar Ti y solicita el elemento de datos que ahora posee Tj, Ti espera. De este modo puede haber menos retrocesos en el esquema herir-esperar.