Base de Datos:      PROCESAMIENTO DE     TRANSACCIONES Y SEGURIDAD     EN LAS BDProfesor:MSC.MSC Luis Serna Jherry
Objetivos del Día de Hoy  Concurrencia  Recuperación  Seguridad
Procesamiento de Transacciones    Transacción A              Transacción BTraer R ($250)                                  ...
Procesamiento de TransaccionesPara mantener la integridad de la base dedatos en ambientes multiusuario, el sistema        ...
Procesamiento de Transacciones                 TransacciónUnidad lógica de trabajo (LUW) o procesamiento. Debeser t t l   ...
Procesamiento de TransaccionesPropiedades ACID: Atomicidad: se realizan todas las operaciones de la transacción, o        ...
Procesamiento de  Transacciones  “Transferir 1000 dól  “     f          dólares de la cuenta R a la                       ...
Procesamiento de Transacciones 2 retiros de 20 y 30     Transacción A              ó                 Transacción B        ...
Procesamiento de   Transacciones   T       i                Incluyendo transferencia de R a P    Transacción A            ...
Procesamiento de Transacciones• El componente del DBMS encargado de lograr la  culminación efectiva de las transacciones e...
Transición de Estados de una  Transacción  T ansacciónRead/write                              Parcialmente                ...
Concurrencia: lanificadores Conc encia Pl ifi d   Sean n transacciones, T1, T2, ..., Tn.   Las llamadas a la BD de Ti son ...
Concurrencia: Planificadores                                                     C11: l R                                 ...
Concurrencia: Tipos de Planificadores En Serie   No hay intercalación de las operaciones de las   transacciones en ejecuci...
Concurrencia- Planificador Seriable -Un planificador para transacciones T1, T2, ..., Tn esseriable si existe una permuta (...
Concurrencia - Prueba de Seriabilidad por Conflictos -Dos operaciones de un plan están enconflicto si cumplen las siguient...
Concurrencia- Prueba de Seriabilidad por Conflictos -Crear un nodo Ti en el Grafo de Precedencia, para cadatransacción en ...
Planes y sus Grafos de         Precedencia            T1           T2                                         PLAN A      ...
Planes y sus Grafos de       Precedencia          T1           T2                                    PLAN B               ...
Planes y sus Grafos de         Precedencia             T1          T2                                         PLAN C      ...
Planes y sus Grafos de         Precedencia            T1           T2                                      PLAN D         ...
Control de ConcurrenciaMétodos estándar para garantizar la seriabilidad:            Bloqueos            Marcas de Tiempo  ...
Control de Concurrencia: BloqueoEl bloqueo asegura que un objeto que va a ser utilizado por una transacción no   cambie de...
Control de ConcurrenciaBloqueo y operaciones sobre Registros                   A        X            S          B         ...
Protocolos de BloqueoReglas que indican el momento en que una transacciónpuede bloquear o desbloquear un elemento de la BD...
Protocolos de BloqueoBloqueo de dos fases:  Fase de Crecimiento: una transacción puede obtener  bloqueos pero no puede lib...
Control de Concurrencia    Bloqueo Mutuo, Punto Muerto o Interbloqueo :     Transacción A                 Transacción BSol...
Control de ConcurrenciaEl problema de la “lectura sucia”.     Transacción A              ó                      Transacció...
Solución de bloqueo para la “lectura sucia”       Transacción A               ió                   Transacción B          ...
Control de ConcurrenciaEl problema de la “lectura irrepetible”    Transacción A    T       ió                  Transacción...
Solución de bloqueo para la “lectura irrepetible”                     q    p                    p         Transacción A   ...
Control de Concurrencia   El problema de la aparición de “fantasmas”,   resumen incompleto o análisis inconsistente    Tra...
Solución de bloqueo para el problema de la aparición d “f     i ió de “fantasmas”                       ”         Transacc...
Control de ConcurrenciaEl bloqueo estricto de dos fases evita los problemas de lectura sucia,    lectura irrepetible y apa...
Nivel de Aislamiento / Interferencia  Nivel de              Situación de InterferenciaAislamiento          Lectura sucia  ...
Seriabilidad   S i bilid d por marcas temporales                          t      lAsegura la secuencialidad asignando un o...
Seriabilidad   S i bilid d por marcas temporales                          t      lSe asocia a cada tupla dos valores de ma...
Seriabilidad   S i bilid d por marcas temporales                          t      lSi la transacción t solicita leer una tu...
Seriabilidad     S i bilid d por marcas temporales                            t      lSi t solicita actualizar una tupla:S...
Prevención de Interbloqueos P      ió d I t blEvitar esperas cíclicas, ordenando las peticiones debloqueo o exigiendo que ...
Prevención de interbloqueos     P      ió d i t blEsperar o MorirSi Ti solicita un elemento que posee Tj, Ti puede esperar...
Recuperación            ó               Transaction Log               T       i LEs una tabla del catálogo de la BD. Conti...
Transaction Log   Programa de                       Se modifican    Aplicación         los datos                 (a)    Tr...
RecuperaciónTransaction Log con actualizaciones diferidas: Cuando comienza una transacción T se registra su inicio        ...
RecuperaciónRecuperación con actualizaciones diferidas:Cuando ocurre un fallo, el DBMS examina el log para                ...
RecuperaciónTransaction Log con actualizaciones  inmediatas:1° Cuando comienza una transacción T se registra su inicio  en...
RecuperaciónRecuperación con actualizaciones inmediatas:Cuando ocurre un fallo, el DBMS examina el log para  determinar la...
Recuperación de la BDProgresiva: Se restaura el último backup y se aplicanluego todas las transacciones válidas desde la b...
RecuperaciónRecuperación del Sistema y de los Medios de Almacenamiento   • Fallas del Sistema (por ejemplo corte del fluid...
Recuperación      p                    - Fallas del Sistema -Se pierde el contenido de la memoria principal y de las áreas...
Recuperación                    Fallas del SistemaPunto de Revisión (checkpoint):• Detiene el inicio de nuevas transaccion...
Recuperación                              tv                 tf           T1           T2           T3           T4       ...
Recuperación  Fallas de los Medios de AlmacenamientoSe pierden direcciones del disco o se producen averías en lasppistas o...
Seguridad en Bases de DatosSeguridad en la BD implica asegurar que los usuariosestán autorizados para llevar a cabo las ta...
Seguridad en el DBMSMecanismos de Seguridad:  Discrecionales: conceden privilegios a los usuarios para  acceder a elemento...
La seguridad de la BD y elDBACreación de Cuentas  Para crear cuentas y contraseñas para un usuario o  grupo con el fin de ...
Protección de Acceso y Auditoríade lad l BD Cuando un usuario entra (log in), el DBMS puede registrar su nombre y asociarl...
Privilegios Discrecionales A Nivel de Cuenta   Se asignan a cada cuenta de usuario,         g                            ,...
Seguridad – ConsideracionesAdicionalesControles Físicos: Límite de accesos a la sala demáquinas (servidores).          (se...
Bibliografia Fundamentos de Sistemas de Base de Datos. Ramez Elmasri, Shamkant Navathe
Próxima SlideShare
Cargando en…5
×

Transacciones y seguridad

1.339 visualizaciones

Publicado el

Publicado en: Educación, Viajes, Empresariales
0 comentarios
1 recomendación
Estadísticas
Notas
  • Sé el primero en comentar

Sin descargas
Visualizaciones
Visualizaciones totales
1.339
En SlideShare
0
De insertados
0
Número de insertados
2
Acciones
Compartido
0
Descargas
0
Comentarios
0
Recomendaciones
1
Insertados 0
No insertados

No hay notas en la diapositiva.

Transacciones y seguridad

  1. 1. Base de Datos: PROCESAMIENTO DE TRANSACCIONES Y SEGURIDAD EN LAS BDProfesor:MSC.MSC Luis Serna Jherry
  2. 2. Objetivos del Día de Hoy Concurrencia Recuperación Seguridad
  3. 3. Procesamiento de Transacciones Transacción A Transacción BTraer R ($250) tiempo t Traer R ($250)Actualizar R=R-20 ($230)A li R R 20 Actualizar R=R-30 ($220) “El problema de la modificación perdida”
  4. 4. Procesamiento de TransaccionesPara mantener la integridad de la base dedatos en ambientes multiusuario, el sistema ,relacional proporciona: Facilidades para el Control de Transacciones Mecanismos de Seguridad para el control de concurrencias Sistema de registro y recuperación para restaurar la base de datos después de una falla del sistema.
  5. 5. Procesamiento de Transacciones TransacciónUnidad lógica de trabajo (LUW) o procesamiento. Debeser t t l totalmente completada o no realizada en absoluto. t l t d li d b l tDelimitado por declaraciones (o llamadas a función) de laforma inicio de transacción y fin de transacciónLa transacción consiste en todas las operaciones que seejecutan entre el inicio y el final de la transacciónCuando una transacción no pudo ser completada elservidor efectúa un rollback de la transacción incompleta,removiendo toda evidencia de que comenzó alguna vez.
  6. 6. Procesamiento de TransaccionesPropiedades ACID: Atomicidad: se realizan todas las operaciones de la transacción, o p , ninguna de ellas. (Gestor de Transacciones) Consistencia: La ejecución de la transacción conserva la consistencia de la BD. La BD debe ser consistente antes y después de una transacción ( programador de la aplicación) Aislamiento (Isolation): Aunque se ejecuten concurrentemente, cada transacción no afecta a ninguna otra, es decir ignora al resto qu que esté ejecutándose y no se puede ver a una transacción en su j u á do o pu d u a a a ó u estado intermedio. (Control de Concurrencia) Durabilidad: Tras la finalización exitosa de una transacción, los cambios en la BD permanecen, incluso si hay fallos en el sistema (Gestor de recuperaciones)
  7. 7. Procesamiento de Transacciones “Transferir 1000 dól “ f dólares de la cuenta R a la d l l cuenta P.” Leer Lee el registro de la cuenta R egist o c enta Actualizar el registro de la cuenta R , restándole 1000 dólares Leer el registro de la cuenta P Actualizar el registro de la cuenta P, sumándole 1000 dólaresSi fallara el último paso (p.ej. debido a una interrupción de la corriente eléctrica) y los previos se hubieran ejecutado la ejecutado, BD perdería consistencia.
  8. 8. Procesamiento de Transacciones 2 retiros de 20 y 30 Transacción A ó Transacción B óBegin transactionLeer R ($250)L Begin transaction tiemp esperar poActualizar R=R-20 ($230) esperarCommit esperar Traer R ($230) Actualizar R=R-30 ($200) ($ ) commit
  9. 9. Procesamiento de Transacciones T i Incluyendo transferencia de R a P Transacción A Transacción BLeer R ($250) ($ )Actualizar R= R-20 ($230) tiemp Leer R ($230) poLeer P ($600) Actualizar R=R-30 ($200)Actualizar P = P+20 ($620) Leer P ($620) Actualizar P = P+30 ($650)
  10. 10. Procesamiento de Transacciones• El componente del DBMS encargado de lograr la culminación efectiva de las transacciones es conocido como el Subsistema de Recuperación CO COMMIT ROLLBACK
  11. 11. Transición de Estados de una Transacción T ansacciónRead/write Parcialmente Commit confirmada endTransaction Confirmada Abort Activa Terminada Abort Fallida
  12. 12. Concurrencia: lanificadores Conc encia Pl ifi d Sean n transacciones, T1, T2, ..., Tn. Las llamadas a la BD de Ti son ci1, ci2, ..., ciimii Un planificador para T1, T2, ..., Tn es una disposición lineal de las cijj que preserva el orden de las llamadas dentro de cualquier transacción dada.I.E. si d1, d2, ... es un planificador y planificador, ds = cij, dt = cik, con j < k, s<t
  13. 13. Concurrencia: Planificadores C11: l R leer T1 T2 C12: actualizar R C11: leer R C21: leer R C21: leer R C12: actualizar R C22: actualizar R C13: leer P C13: leer P C23: leer P C22: actualizar R C14: actualizar P C24: actualizar P C14: actualizar P C23: leer P PlanificadorLas llamadas a la BD de Ti son ci1, ci2, ..., cimi C24: actualizar P
  14. 14. Concurrencia: Tipos de Planificadores En Serie No hay intercalación de las operaciones de las transacciones en ejecución: primero T1 y después T2, o viceversa No en Serie Las operaciones de las transacciones en ejecución se intercalan de alguna manera Seriable Equivalente a algún plan en serie de las transacciones en ejecución
  15. 15. Concurrencia- Planificador Seriable -Un planificador para transacciones T1, T2, ..., Tn esseriable si existe una permuta (i1, i2, ..., in) de (1, 2, ..., p ( , ( , , ,n), tal que el estado de la BD que resulte de efectuar lasllamadas de BD en la secuencia del planificador es elmismo que el alcanzado si se corren las transacciones enaislamiento en el orden Ti1, Ti2, ..., TinEl resultado será equivalente al de la ejecución en algúnorden arbitrario, escogido por la BD.
  16. 16. Concurrencia - Prueba de Seriabilidad por Conflictos -Dos operaciones de un plan están enconflicto si cumplen las siguientes p gcondiciones: 1. Pertenecen a diferentes transacciones 2. Tienen acceso al mismo elemento 3. 3 Al menos una de las operaciones es de escritura
  17. 17. Concurrencia- Prueba de Seriabilidad por Conflictos -Crear un nodo Ti en el Grafo de Precedencia, para cadatransacción en el plan PCuando Tj ejecuta una orden read(X) después que Ti ejecute unaorden write(X) crear un arco (Ti Tj) en el grafoCuando Tj ejecuta una orden write(X) después que Ti ejecute unaorden read(X) crear un arco (Ti Tj) en el grafo d d(X) l fCuando Tj ejecuta una orden write(X) después que Ti ejecute unaorden write(X) crear un arco (Ti Tj) en el grafoEl plan P es serializable si y solo si el grafo de precedencia notiene ciclos
  18. 18. Planes y sus Grafos de Precedencia T1 T2 PLAN A Read X X:= X-N Write X T1 T2tiempo Read Y Y:= Y + N X Write Y Read X En T1 se transfieren reservas X:= X + M de un avión a otro Write X En E T2 simplemente se reserva i l t asientos en un avión
  19. 19. Planes y sus Grafos de Precedencia T1 T2 PLAN B Read X X X:= X + M Write Xtiempo Read X T1 T2 X:= X-N Write X Read R dY Y:= Y + N Write Y
  20. 20. Planes y sus Grafos de Precedencia T1 T2 PLAN C Read X X X:= X-N Read Xtiempo X:= X + M T1 T2 Write X X Read Y Write X *** Y:= Y + N ***ACTUALIZACION Write Y PERDIDA: El valor de X es incorrecto, el numero de asientos es inconsitente
  21. 21. Planes y sus Grafos de Precedencia T1 T2 PLAN D Read X X:= X-N Write Xtiempo Read X ead T1 T2 X:= X + M X Write X Read R dY Y:= Y + N Write Y
  22. 22. Control de ConcurrenciaMétodos estándar para garantizar la seriabilidad: Bloqueos Marcas de Tiempo Multiversión Validación o Certificación (Protocolos optimistas)
  23. 23. Control de Concurrencia: BloqueoEl 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 R, 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á concedidaX: escritura, S:lectura
  24. 24. Control de ConcurrenciaBloqueo y operaciones sobre Registros A X S B X N N S N SN: Hay conflicto, la transacción B entra en espera.S: Compatibilidad, se concede el bloqueo solicitado por B
  25. 25. Protocolos de BloqueoReglas que indican el momento en que una transacciónpuede bloquear o desbloquear un elemento de la BD.Si Ti solicita un bloqueo de un tipo M sobre un elementoR, se le concede si: No hay otra transacción con bloqueo sobre R que esté en conflicto con M No hay otra transacción esperando un bloqueo sobre R, solicitado antes que T Evita el fenómeno de inanición para Ti
  26. 26. Protocolos de BloqueoBloqueo de dos fases: Fase de Crecimiento: una transacción puede obtener bloqueos pero no puede liberarlos ni rebajar su intensidad Fase de decrecimiento: una transacción puede liberar bloqueos pero no puede obtener ninguno nuevo.Si se retienen los bloqueos hasta completar la transacción se conoce como bloqueo estricto de dos fases
  27. 27. Control de Concurrencia Bloqueo Mutuo, Punto Muerto o Interbloqueo : Transacción A Transacción BSolicita bloqueo X sobre R1- concedido - Solicita bloqueo X sobre R2 q tiempo t - concedido -Solicita bloqueo X sobre R2Esperar Solicita bloqueo X sobre R1esperar esperaresperar esperar-------- --------
  28. 28. Control de ConcurrenciaEl problema de la “lectura sucia”. Transacción A ó Transacción B óLeer R ($250)Actualizar R= R-20 ($230) tiempo Leer R ($230) orollback Actualizar R=R-30 ($200) commiti
  29. 29. Solución de bloqueo para la “lectura sucia” Transacción A ió Transacción B ióObtener bloqueo S para R -concedidoLeer R ($250)Obtener bloqueo X para R –concedido tiempo tActualizar R= R-20 ($230) Obtener bloqueo S para R – esperarrollback - esperar - Bloqueo concedido Leer R ($250) L Obtener bloqueo X para R - concedido Actualizar R=R-30 ($220) commit
  30. 30. Control de ConcurrenciaEl problema de la “lectura irrepetible” Transacción A T ió Transacción B T ióLeer R ($250) Leer R ($250) tiempo Actualizar R=R-30 ($220) commititLeer R ($220)¡interferencia detectada!
  31. 31. Solución de bloqueo para la “lectura irrepetible” q p p Transacción A Transacción BObtener bloqueo S para R –concedidoLeer R ($250) ($ ) Obtener bloqueo S para R – tiemp concedido Leer R ($250) po Obtener bloqueo X para R - esperarLeer R ($250) esperar(lectura repetible) esperar............... ....................
  32. 32. Control de Concurrencia El problema de la aparición de “fantasmas”, resumen incompleto o análisis inconsistente Transacción 1 Transacción 2Traer C1(40):Suma=40 (40):Suma 40Traer C2(50):Suma=90 Traer C3(30) tiempo Actualizar C3(20) Traer C1(40) Actualizar C1(50) A t li COMMITTraer C3(20):Suma=110
  33. 33. Solución de bloqueo para el problema de la aparición d “f i ió de “fantasmas” ” Transacción 1 Transacción 2Obtener bloqueo S sobre C -concedidoTraer C1(40):Suma=40Traer C2(50):Suma=90 Obtener bloqueo X sobre C - esperarTraer C3(30):Suma=120 Esperarcommit esperar Conceder bloqueo .............. ..............
  34. 34. Control de ConcurrenciaEl bloqueo estricto de dos fases evita los problemas de lectura sucia, lectura irrepetible y aparición de fantasmas, pero no evita el punto muerto o iinterbloqueo blNiveles de Aislamiento:Especifican la cantidad de interferencia tolerable: Lectura no Confirmada: Operación sin bloqueos y 3 violaciones Lectura Confirmada: Bloqueo X para actualizaciones, sin bloqueo S. Evita lectura sucia S Lectura Repetible: Bloqueos X y S (sobre objetos individuales). Evita lectura sucia y no repetibles. Serializable: Bloquea criterios de búsqueda que evitan lecturas q q q sucias, lecturas no repetibles ni fantasmas
  35. 35. Nivel de Aislamiento / Interferencia Nivel de Situación de InterferenciaAislamiento Lectura sucia L t i Lectura no L t Fantasma F t repetible Lectura no Posible Posible Posible registradaLectura registrada No posible Posible PosibleLectura repetibleL t tibl No N posible ibl No N posible ibl Posible P ibl Seriable No posible No posible No posible
  36. 36. Seriabilidad S i bilid d por marcas temporales t lAsegura la secuencialidad asignando un orden entre todo par de transacciones: Por el reloj del sistema Usando un contador lógicoSi la marca de MT(Ti) es menor que MT(Tj), asegura que la planificación a ejecutar equivale a una secuencial, con Ti antes que Tj i l t Asegura la ausencia de interbloqueos
  37. 37. Seriabilidad S i bilid d por marcas temporales t lSe asocia a cada tupla dos valores de marca temporal:tu es la marca temporal de la transacción más reciente p que ha actualizado o creado la tuplatr es la marca temporal de la transacción más reciente que h observado l tupla ha b d la l Obsérvese que siempre tu ≤ tr (una transacción siempre observa la tupla antes de actualizarla)
  38. 38. Seriabilidad S i bilid d por marcas temporales t lSi la transacción t solicita leer una tupla:Si t >= tu se ejecuta la operación leer y se actualiza tr por max (t, tr )Si t < tu 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. l i i i á d
  39. 39. Seriabilidad S i bilid d por marcas temporales t lSi t solicita actualizar una tupla:Si t ≥ tr se ejecuta la actualización, dado que ninguna transacción más reciente que t ha leído siquiera la tuplaSi t < tr ó t < tu 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 p p previos, el , rollback debe tener una marca de hora nueva, que actualizará tu y tr de la tupla reinstalada
  40. 40. Prevención de Interbloqueos P ió d I t blEvitar esperas cíclicas, ordenando las peticiones debloqueo o exigiendo que todos los bloqueos seadquieran juntosRealizar retrocesos de las transacciones en lugar de gesperar un bloqueo, si éste puede llevarpotencialmente a un interbloqueo.
  41. 41. Prevención de interbloqueos P ió d i t blEsperar o MorirSi Ti solicita un elemento que posee Tj, Ti puede esperar sólo si Ti < Tj (Ti esmás antigua que Tj) en otro caso Ti se retrocede (muere)Herir o EsperarSi Ti solicita un elemento que posee Tj, Ti espera sólo si Ti > Tj (Ti es másreciente que Tj); en otro caso Tj se retrocede (Ti hiere a Tj).No-esperaSi Ti no puede obtener un bloqueo se aborta de inmediato y se reiniciadespués de un cierto lapso sin comprobar si ocurriría o no un bloqueo mortalEspera CautelosaE C t lSi 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 casocontrario Tj aborta. aborta
  42. 42. Recuperación ó Transaction Log T i LEs una tabla del catálogo de la BD. Contiene unalistali t secuencial de todas las modificaciones a cada i ld t d l difi i dobjeto dentro de la BD (bitácora), así como tambiéntoda la información necesaria para mantener laintegridad de los datos.Es compartido por todos los usuarios de una BD BD.Los datos se escriben primero en esta tabla y luegoen las tablas correspondientes de la BD.
  43. 43. Transaction Log Programa de Se modifican Aplicación los datos (a) Transaction (a) (b) Log (b) DBMS (a) ante-imagen Acceso (b) post-imagen Actualización de los datos Base de Datos
  44. 44. RecuperaciónTransaction Log con actualizaciones diferidas: Cuando comienza una transacción T se registra su inicio g en el log Durante la transacción, la escritura de un nuevo valor para cualquier registro provoca la escritura de un registro en el log. Cuando todas las acciones de T se ejecutan exitosamente, j , se escribe el registro COMMIT en el log Por último, se realizan las operaciones de escritura en la BD desde los registros del log
  45. 45. RecuperaciónRecuperación con actualizaciones diferidas:Cuando ocurre un fallo, el DBMS examina el log para , gp determinar las transacciones que deben rehacerse (REDO): Si el log registra el inicio y el fin de la transacción T (hasta el commit), significa que la transacción T se debe volver a aplicar. Si no figura el commit en el log, la transacción T no se completó, y al reiniciar no es necesario tomar acción, pues la BD permanece consistente T tiene que reiniciarse consistente. reiniciarse.
  46. 46. RecuperaciónTransaction Log con actualizaciones inmediatas:1° Cuando comienza una transacción T se registra su inicio en el log g2° Durante la transacción, la escritura de un nuevo valor para cualquier registro provoca la escritura de un registro en el log (primero) y luego en la BD ll ( i ) l l3° Cuando todas las acciones de T se ejecutan exitosamente, se esc be e registro CO escribe el eg st o COMMIT e e log en el og
  47. 47. RecuperaciónRecuperación con actualizaciones inmediatas:Cuando ocurre un fallo, el DBMS examina el log para determinar las transacciones que deben rehacerse (REDO) o deshacerse (UNDO): Si el log registra el inicio y el fin de la transacción T (hasta el commit), significa que la transacción T se debe volver a aplicar (REDO) Si no figura el commit en el log, la transacción T no se completó, y al reiniciar es necesario restablecer los valores antiguos de los datos (UNDO). T tiene que reiniciarse.
  48. 48. Recuperación de la BDProgresiva: Se restaura el último backup y se aplicanluego todas las transacciones válidas desde la bitácora,aplicando las imágenes posteriores (post-imágenes).Regresiva: Se deshacen los cambios efectuados portransacciones erróneas o procesadas parcialmente,mediante la aplicación de las imágenes anteriores. Lastransacciones válidas que estaban en proceso al momentode la falla se vuelven a iniciar.
  49. 49. RecuperaciónRecuperación del Sistema y de los Medios de Almacenamiento • Fallas del Sistema (por ejemplo corte del fluido eléctrico), las cuales afectan a todas las transacciones que se están efectuando pero no dañan los datos físicos en la base de datos. • Fallas de los medios de almacenamiento (por ejemplo pérdida de direcciones o pistas dañadas), que sí causan daño a la base de datos o a una porción de ella. • Falla computador (error de hardware o de software); • Error en transacción (división entre 0, overflow, malos parámetros, etc.); • Catástrofes.
  50. 50. Recuperación p - Fallas del Sistema -Se pierde el contenido de la memoria principal y de las áreas dealmacenamiento temporal. Por lo tanto, se perderá el estado preciso de latransacción que se está ejecutando y no podrá ser completada con éxito.Por este motivo será preciso anularla (retroceder) cuando se reinicie el p ( )sistema (aplicación de los registros ante-imagen desde el Log detransacciones).Para reducir este proceso, se introducen periódicamente Puntos deRevisión o Verificación.
  51. 51. Recuperación Fallas del SistemaPunto de Revisión (checkpoint):• Detiene el inicio de nuevas transacciones• Escribe todos los registros del log de transacciones que radican en la memoria volátil (los buffers de la memoria principal), en almacenamiento estable (en disco)• Graba físicamente un registro de Punto de Revisión especial en la bitácora física. Este incluye una lista de todas las física transacciones en ejecución en ese momento.• Reactiva las transacciones en ejecución
  52. 52. Recuperación tv tf T1 T2 T3 T4 T5 Punto de Falla del verificación Sistema• Deberá anularse las transacciones T3 y T5 (UNDO)• D b á aplicarse nuevamente las transacciones T2 y T4 (REDO) Deberá li t l t i• La transacción T1 no interviene en el proceso de reinicio, porque sus modificaciones ya estaban grabadas en la BD en el momento y g tv, como parte del proceso de punto de revisión.
  53. 53. Recuperación Fallas de los Medios de AlmacenamientoSe pierden direcciones del disco o se producen averías en lasppistas o falla el controlador del disco. La consecuencia es ladestrucción física de una porción de la base de datos.La recuperación de una falla semejante, implica en esencia,cargar d nuevo o restaurar (restore) la base de datos a partir de de t ( t )l b d d t ti duna copia de respaldo (backup) y después utilizar el transactionlog, para realizar de nuevo todas las transacciones terminadasdesde que se efectuó este último backup (aplicación de losregistros post-imagen)
  54. 54. Seguridad en Bases de DatosSeguridad en la BD implica asegurar que los usuariosestán autorizados para llevar a cabo las tareas que tratan derealizar Subsistema de Seguridad del DBMS Aspectos éticos y legales relativos al derecho de acceso a cierta información Políticas gubernamentales o institucionales relacionadas con la clase de información que no debe estar disponible para el público, como la clasificación de crédito o el historial médico: la empresa decide ié d id quiénes tienen acceso y a qué. i é Identificación de niveles de seguridad y de clasificar los datos y usuarios según estos niveles: top secret, secreto, confidencial, no confidencial
  55. 55. Seguridad en el DBMSMecanismos de Seguridad: Discrecionales: conceden privilegios a los usuarios para acceder a elementos específicos de la BD en un determinado modo (lectura, escritura o actualización) Obligatorios: imponen seguridad de múltiples niveles Obli t i i id d d úl i l i l clasificando los datos y los usuarios. Permitir a los usuarios de cierto nivel acceder a los elementos de información de su mismo nivel o de niveles inferiores
  56. 56. La seguridad de la BD y elDBACreación de Cuentas Para crear cuentas y contraseñas para un usuario o grupo con el fin de que puedan acceder al DBMSConcesión de Privilegios g Para conceder (GRANT) ciertos privilegios (authority) a ciertas cuentasRevocación de privilegios (REVOKE) óAsignación de niveles de seguridad Asigna cuentas de usuario al nivel de clasificación de seguridad apropiado
  57. 57. Protección de Acceso y Auditoríade lad l BD Cuando un usuario entra (log in), el DBMS puede registrar su nombre y asociarlo al terminal de donde se conectó. Todas las operaciones sobre la BD de ese terminal se asocian a la cuenta del usuario hasta que q éste salga del sistema. Se puede modificar el log de transacciones (diario del sistema), ampliando las entradas para incluir la cuenta it ) li d l t d i l i l t de usuario y el terminal desde donde se aplicó cada operación. El diario del sistema se denomina en esos p casos diario de auditoría
  58. 58. Privilegios Discrecionales A Nivel de Cuenta Se asignan a cada cuenta de usuario, g , independientemente de las relaciones de la BD Ejemplos: CREATE, ALTER, DROP, MODIFY, SELECT A Nivel de Relación (o tabla): Controla privilegios para acceder a cada relación individual de la base de datos o a columnas concretas de ellas. Ejemplos: SELECT (lectura), MODIFY (update, insert, j p ( ), ( p , , delete)
  59. 59. Seguridad – ConsideracionesAdicionalesControles Físicos: Límite de accesos a la sala demáquinas (servidores). (servidores)Problemas Operativos: Mantenimiento de los passwords,su confidencialidad y tiempo de validez. pControles del equipo: Claves para protección de áreas dealmacenamiento.Seguridad de Sistema Operativo: Mantenimiento de los d dd d lespacios de almacenamiento, compactación.
  60. 60. Bibliografia Fundamentos de Sistemas de Base de Datos. Ramez Elmasri, Shamkant Navathe

×