3.1 Transacciones3.2 Tipos de fallas3.3 Recuperación3.4 Concurrencia
Definición: Una transacción en un Sistemade Gestión de Bases de Datos (SGBD), esun conjunto de órdenes que se ejecutanform...
1.- Acciones lógica:• Introducir una nueva factura.• Dar de alta a un cliente.• Registrar un cobro.• Cambiar dirección de ...
Las transacciones nos permiten agrupar los pasos fiscos cuando sehacen modificaciones a una base de               datos.
Commit: Esta instrucción es la que     confirma la transacción paramodificación de los datos en la base de                ...
conjunto de características necesariaspara que una serie de instruccionespuedan ser consideradas como                     ...
Atomicidad: Es la propiedad que asegura que laoperación se ha realizado o no, que se realiza concommit para confirmar o ro...
Normalmente en una base de datos de Microsoft lastransacciones son explicitas, lo que quiere decir quedebemos poner begin ...
En algunas otras bases de datos como Oracle en dondelas transacciones se consideran implícitas, por que seconsidera que to...
La estructura de una transacción usualmente vienedada según el modelo de la transacción, estaspueden ser planas (simples) ...
Consiste en tener transacciones que dependen de otras, estastransacciones están incluidas dentro de otras de un nivel supe...
Los siguientes son los aspectos más importantes relacionadoscon el procesamiento de transacciones:• Modelo de estructura d...
• Protocolos de control de replicas: Se refiere a como garantizar la consistencia mutua de datosreplicados.El procesamient...
• 1.-Ejecutar transacciones serializadas:Es un sistema que permite el procesamiento detransacciones en forma secuencial o ...
1.- Fase de lectura: Cuerpo de la transacción dondese copian datos desde la base de datos, copias quepueden ser actualizad...
La base de datos                           puede estarBase de datos en un   temporalmente en un     Base de datos en un es...
enlace de videohttp://www.youtube.com/watch?v=4Yku4epDHDQ&feature=related
• Una falla local: sólo afecta a la transacción en  la cual se presentó esa falla, como por  ejemplo un ?overflow?. Tales ...
1.-Fallas     del   sistema:     (por     ejemplointerrupciones del suministro de electricidad) lascuales afectan a todas ...
• 1.- Fallos locales a la transacción, que detecta el propio código de   laaplicación.Responsabilidad del Programador• 2. ...
 La recuperabilidad significa que, si se da  algún error en los datos, hay un bug de programa ó  de hardware, el DBA (Adm...
 Si el DBA (o el administrador) intentan implementar  un plan de recuperación de bases de datos sin  pruebas de recuperac...
 Las pruebas de recuperación consisten en la  restauración de los datos, después se aplican las  bitácoras a esos datos ...
 La primera cuestión a tener en cuenta ante la  recuperación de una base de datos es el nivel de                         ...
 Otra forma de recuperación en My SQL es el uso de  los ficheros log de actualización q contiene la sintaxis  SQl de la c...
 Los archivos log de actualización hace el  seguimiento de las consultas que modifican a la base                        ...
Introducción   Los sistemas de bases de datos, según el número    de usuarios que pueden utilizarlos de forma    concurre...
•   Aumentar la productividad: número de    transacciones ejecutadas por minuto.•   Aumentar la utilización de la CPU y Co...
   El objetivo fundamental del control de    concurrencia de base de datos es garantizar    que la ejecución concurrente ...
   Dos sentencias UPDATE que actualicen un    mismo producto decrementando el stock del    mismo en una unidad podrían te...
   Una forma de controlar la concurrencia es    hacer que cada transacción deba adquirir un    derecho de acceso exclusiv...
Administración de Transacciones - del tema 1 al 4
Administración de Transacciones - del tema 1 al 4
Administración de Transacciones - del tema 1 al 4
Upcoming SlideShare
Loading in...5
×

Administración de Transacciones - del tema 1 al 4

3,283

Published on

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,283
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
80
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Administración de Transacciones - del tema 1 al 4

  1. 1. 3.1 Transacciones3.2 Tipos de fallas3.3 Recuperación3.4 Concurrencia
  2. 2. Definición: Una transacción en un Sistemade Gestión de Bases de Datos (SGBD), esun conjunto de órdenes que se ejecutanformando una unidad de trabajo, es decir,en forma indivisible o atómica.
  3. 3. 1.- Acciones lógica:• Introducir una nueva factura.• Dar de alta a un cliente.• Registrar un cobro.• Cambiar dirección de un proveedor.2.- Acciones física: (instrucción insert, delete, update)• Agrega un registro en la tabla factura.• Modifica un campo de un registro de la tabla clientes.• Elimina varias filas de las tablas.• Etc.
  4. 4. Las transacciones nos permiten agrupar los pasos fiscos cuando sehacen modificaciones a una base de datos.
  5. 5. Commit: Esta instrucción es la que confirma la transacción paramodificación de los datos en la base de datos. Rollback: Esta instrucción es la queanula cualquier modificación realizada en la base de datos.
  6. 6. conjunto de características necesariaspara que una serie de instruccionespuedan ser consideradas como Begin transaction una transacción Insert Update Delete• ATOMICIDAD If error Rollback• CONSISTENCIA Else• AISLAMIENTO commit• DURABILIDAD
  7. 7. Atomicidad: Es la propiedad que asegura que laoperación se ha realizado o no, que se realiza concommit para confirmar o rollback para deshacer.Consistencia: Es la propiedad que asegura que solose emplea aquello que solo se pueda acabar. Por lotanto solo se ejecutan aquellas operaciones que novan a romper las reglas y directrices de la integridadde la base de datos.Aislamiento: es la propiedad que asegura que unaoperación no pueda afectar a otras. Esto asegura quela realización de 2 transacciones sobre la mismainformación sean independientes y no generen ningúntipo de error.Durabilidad: Es la propiedad que asegura que unaves realizada la transacción, esta persistirá y no se
  8. 8. Normalmente en una base de datos de Microsoft lastransacciones son explicitas, lo que quiere decir quedebemos poner begin transaction Transacción explicita Begin transaction Update tabla… Insert into tabla… Delete from tabla… Commit o rollback
  9. 9. En algunas otras bases de datos como Oracle en dondelas transacciones se consideran implícitas, por que seconsidera que todas las instrucciones pertenecen a latransacción. Transacciones implisitas Update tabla… Insert into tabla… Delete from tabla… Commit o rollback
  10. 10. La estructura de una transacción usualmente vienedada según el modelo de la transacción, estaspueden ser planas (simples) o anidadas.Transacciones planas:Consisten en una secuencia de operacionesprimitivas encerradas entre las palabrasclave BEGIN y END. Por ejemplo: BEGIN _TRANSACTION Reservación .... END.
  11. 11. Consiste en tener transacciones que dependen de otras, estastransacciones están incluidas dentro de otras de un nivel superior y se lasconoce como sub-transacciones. La transacción de nivel superior puedeproducir hijos (sub-transacciones) que hagan más fácil la programacióndel sistema y mejoras del desempeño.En las transacciones anidadas las operaciones de una transacciónpueden ser así mismo otras transacciones. Por ejemplo: BEGIN _TRANSACTION Reservación .......... BEGIN _TRANSACTION Vuelo ........ END.(Vuelo) ...... BEGIN _TRANSACTION Hotel ........ END ...... END.
  12. 12. Los siguientes son los aspectos más importantes relacionadoscon el procesamiento de transacciones:• Modelo de estructura de transacciones: Es importante considerar si las transacciones son planas oanidadas.• Consistencia de la base de datos interna:Los algoritmos de control de datos tienen que satisfacer lasrestricciones de integridad cuando una transacción pretendehacer un compromiso.• Protocolos de confiabilidad:En transacciones distribuidas es necesario introducir medios decomunicación entre los diferentes nodos de una red paragarantizar la atomicidad de las transacciones.• Algoritmos de control de concurrencia:Deben sincronizar la ejecución de transacciones concurrentes
  13. 13. • Protocolos de control de replicas: Se refiere a como garantizar la consistencia mutua de datosreplicados.El procesamiento de transacciones básicamente consiste enuna serie de modificaciones (transacciones) a un determinadorecurso del sistema (por ejemplo una base de datos) y endonde se define un punto de inicio y un punto de terminaciónque define un bloque entre el conjunto de operaciones que sonrealizadas.Dentro de este proceso en bloque los demás usuarios nopueden modificar nada hasta que no se presente un estadoestable de los datos, esto ocasiona inconsistencia temporal yconflictos. Para evitar lo anterior se implementan dos manerasdiferentes: 1.-Ejecución de transacciones serializadas 2.- Ejecución de transacciones calendarizadas
  14. 14. • 1.-Ejecutar transacciones serializadas:Es un sistema que permite el procesamiento detransacciones en forma secuencial o serializadodándole una secuencia a cada transacción, esteproceso reduce el rendimiento del sistema, pero tienecomo ventaja que el proceso de sincronización esmás sencillo.• 2- Ejecutar transacciones calendarizadas:Permite el proceso de transacciones asignándolestiempos de procesamiento el cual permite incrementarel rendimiento del sistema ya que se ejecuta unmáximo de procesos en forma concurrente y no através de una serie. La ventaja es que a un mismotiempo de reloj se pueden hacer dos operaciones,aunque el proceso de sincronización es mas
  15. 15. 1.- Fase de lectura: Cuerpo de la transacción dondese copian datos desde la base de datos, copias quepueden ser actualizadas pero sin copiar a la base dedatos.2.Fase de validación: Se comprueba que no existanconflictos.3.- Fase de escritura: Si no existen conflictos seinstalan lo cambios en la base de datos.
  16. 16. La base de datos puede estarBase de datos en un temporalmente en un Base de datos en un estado consiente estado inconsistente estado consiente durante la ejecución Ejecución de Inicio de una Fin de transacción transacción transacción
  17. 17. enlace de videohttp://www.youtube.com/watch?v=4Yku4epDHDQ&feature=related
  18. 18. • Una falla local: sólo afecta a la transacción en la cual se presentó esa falla, como por ejemplo un ?overflow?. Tales fallas son recuperables mediante los mecanismos de soporte de la instrucción COMMIT.• Una falla global: Afecta a varias transacciones (y con mucha probabilidad a la totalidad) de las transacciones que se estaban efectuando en e momento de la falla. Tales fallas se dividen en dos tipos:
  19. 19. 1.-Fallas del sistema: (por ejemplointerrupciones del suministro de electricidad) lascuales afectan a todas las transacciones que seestán realizando pero no dañan físicamente a labase de datos.2.-Falla de los medios de almacenamiento: (porejemplo, un aterrizaje de cabezas en el disco),las cuales si causan daños a la base de datos oa una porción de ella, y afectan al menos a lastransacciones que están utilizando esa porción.
  20. 20. • 1.- Fallos locales a la transacción, que detecta el propio código de laaplicación.Responsabilidad del Programador• 2. Fallos locales a la transacción, que no detecta el propio código de laaplicación.El SGBD fuerza Rollback de la Transacción• 3. Fallos del sistema que no dañan la BD."Recuperación en caliente“: consulta del diario para deshacer yrehacerTransacciones.• 4. Fallos del sistema que dañan la BD."Recuperación de emergencia“: Copia de Seguridad +Recuperaciónen baseal diario.• 5. Error Fatal (Pérdida de archivo(s) de diario)
  21. 21.  La recuperabilidad significa que, si se da algún error en los datos, hay un bug de programa ó de hardware, el DBA (Administrador de base de  datos) puede traer de vuelta la base de datos al tiempo y estado en que se encontraba en estado consistente antes de que el daño se causara. Las actividades de recuperación incluyen el hacer respaldos de la base de datos y almacenar esos respaldos de manera que se minimice el riesgo de daño ó pérdida de los mismos, tales como hacer diversas copias en medios de almacenamiento removibles y almacenarlos fuera del área en antelación a un desastre anticipado. La recuperación es una de las tareas más importantes de los DBA’s.
  22. 22.  Si el DBA (o el administrador) intentan implementar un plan de recuperación de bases de datos sin pruebas de recuperación, no existe la certeza de que  los respaldos sean del todo válidos. En la práctica, los respaldos de la mayoría de los RDBMSs son raramente válidos si no se hacen pruebas exhaustivas que aseguren que no ha habido errores humanos ó bugs que pudieran haber corrompido los respaldos.
  23. 23.  Las pruebas de recuperación consisten en la restauración de los datos, después se aplican las bitácoras a esos datos para restaurar la base de datos y llevarla a un estado consistente en un tiempo y momento determinados. Alternativamente se puede restaurar una base de datos que se encuentra fuera de línea sustituyendo con una copia de la base de datos.
  24. 24.  La primera cuestión a tener en cuenta ante la recuperación de una base de datos es el nivel de  recuperación q desea para es te proceso es necesario arrancando el servidor con la opción mysqld skip- grant – tables después de de restaurar las tablas es necesario indicar al servidor que cargue las tabla de concesión y las empiece a usar mediante la sentencia mysqld nombre_b_d < fichero
  25. 25.  Otra forma de recuperación en My SQL es el uso de los ficheros log de actualización q contiene la sintaxis SQl de la construcción de todas la tablas de la base  de datos como ficheros de entrada para el comando mysql. mysqld nombre_b_d < log 1 mysqld nombre_b_d < log 2 mysqld nombre_b_d < log 3 Se debe de utilizar la opcionmysqld one –data base nombre_b_d < log 1mysqld one –data base nombre_b_d < log 2mysqld one –data base nombre_b_d < log 3
  26. 26.  Los archivos log de actualización hace el seguimiento de las consultas que modifican a la base  de datos que contiene un registro para cada consulta. Estos se pueden usar de entrada para MySQL para restaurar Sentencia: mysqld -- log – update [=nombre_ruta]
  27. 27. Introducción Los sistemas de bases de datos, según el número de usuarios que pueden utilizarlos de forma concurrente, se clasifican en sistemas monousuario y multiusuario Varios usuarios pueden usar un mismo equipo a la vez gracias a la multiprogramación: el computador puede procesar al mismo tiempo varias transacciones  Si el equipo tiene varias CPU, es posible el procesamiento simultáneo (paralelo) de transacciones  Si sólo hay una CPU, el SO de multiprogramación reparte el tiempo de CPU entre las transacciones: ejecución concurrente intercalada
  28. 28. • Aumentar la productividad: número de transacciones ejecutadas por minuto.• Aumentar la utilización de la CPU y Control del disco.• Reduciendo el tiempo medio de respuesta de transacciones
  29. 29.  El objetivo fundamental del control de concurrencia de base de datos es garantizar que la ejecución concurrente de transacciones no resulte en una perdida de consistencia de la misma.
  30. 30.  Dos sentencias UPDATE que actualicen un mismo producto decrementando el stock del mismo en una unidad podrían terminar en que una de ellas no se realizase. Si pensamos en un UPDATE como una secuencia de una lectura y una escritura, puede que ambos UPDATE hagan la lectura, por ejemplo, de un stock de 10, y después las escrituras, decrementando ese dato, quedando el resultado en 9, mientras que lo correcto es un resultado de 8.
  31. 31.  Una forma de controlar la concurrencia es hacer que cada transacción deba adquirir un derecho de acceso exclusivo a cada fragmento de datos que necesite modificar. A estos “derechos” se les denomina bloqueos.
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×