SlideShare ist ein Scribd-Unternehmen logo
1 von 34
Downloaden Sie, um offline zu lesen
3.1 Transacciones
3.2 Tipos de fallas
3.3 Recuperación
3.4 Concurrencia
Definición: Una transacción en un Sistema
de Gestión de Bases de Datos (SGBD), es
un conjunto de órdenes que se ejecutan
formando una unidad de trabajo, es decir,
en forma indivisible o atómica.
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.
Las transacciones nos permiten
 agrupar los pasos fiscos cuando se
hacen modificaciones a una base de
               datos.
Commit: Esta instrucción es la que
     confirma la transacción para
modificación de los datos en la base de
                 datos.

 Rollback: Esta instrucción es la que
anula cualquier modificación realizada
        en la base de datos.
conjunto de características necesarias
para que una serie de instrucciones
puedan ser consideradas como
                                         Begin transaction
 una transacción                               Insert
                                             Update
                                              Delete
•   ATOMICIDAD                                If error
                                             Rollback
•   CONSISTENCIA                                Else
•   AISLAMIENTO                              commit

•   DURABILIDAD
Atomicidad: Es la propiedad que asegura que la
operación se ha realizado o no, que se realiza con
commit para confirmar o rollback para deshacer.
Consistencia: Es la propiedad que asegura que solo
se emplea aquello que solo se pueda acabar. Por lo
tanto solo se ejecutan aquellas operaciones que no
van a romper las reglas y directrices de la integridad
de la base de datos.
Aislamiento: es la propiedad que asegura que una
operación no pueda afectar a otras. Esto asegura que
la realización de 2 transacciones sobre la misma
información sean independientes y no generen ningún
tipo de error.
Durabilidad: Es la propiedad que asegura que una
ves realizada la transacción, esta persistirá y no se
Normalmente en una base de datos de Microsoft las
transacciones son explicitas, lo que quiere decir que
debemos poner begin transaction
                    Transacción explicita

                     Begin transaction
                       Update tabla…
                     Insert into tabla…
                    Delete from tabla…
                    Commit o rollback
En algunas otras bases de datos como Oracle en donde
las transacciones se consideran implícitas, por que se
considera que todas las instrucciones pertenecen a la
transacción.


                   Transacciones implisitas

                        Update tabla…
                      Insert into tabla…
                     Delete from tabla…
                     Commit o rollback
La estructura de una transacción usualmente viene
dada según el modelo de la transacción, estas
pueden ser planas (simples) o anidadas.

Transacciones planas:
Consisten en una secuencia de operaciones
primitivas encerradas entre las palabras
clave BEGIN y END. Por ejemplo:

       BEGIN _TRANSACTION Reservación
        ....
       END.
Consiste en tener transacciones que dependen de otras, estas
transacciones están incluidas dentro de otras de un nivel superior y se las
conoce como sub-transacciones. La transacción de nivel superior puede
producir hijos (sub-transacciones) que hagan más fácil la programación
del sistema y mejoras del desempeño.
En las transacciones anidadas las operaciones de una transacción
pueden ser así mismo otras transacciones. Por ejemplo:

      BEGIN _TRANSACTION Reservación
                 ..........
                BEGIN _TRANSACTION Vuelo
                ........
              END.(Vuelo)
                   ......
                BEGIN _TRANSACTION Hotel
                ........
                END
                ......
       END.
Los siguientes son los aspectos más importantes relacionados
con el procesamiento de transacciones:
• Modelo de estructura de transacciones:
 Es importante considerar si las transacciones son planas o
anidadas.
• Consistencia de la base de datos interna:
Los algoritmos de control de datos tienen que satisfacer las
restricciones de integridad cuando una transacción pretende
hacer un compromiso.
• Protocolos de confiabilidad:
En transacciones distribuidas es necesario introducir medios de
comunicación entre los diferentes nodos de una red para
garantizar la atomicidad de las transacciones.
• Algoritmos de control de concurrencia:
Deben sincronizar la ejecución de transacciones concurrentes
• Protocolos de control de replicas:
 Se refiere a como garantizar la consistencia mutua de datos
replicados.
El procesamiento de transacciones básicamente consiste en
una serie de modificaciones (transacciones) a un determinado
recurso del sistema (por ejemplo una base de datos) y en
donde se define un punto de inicio y un punto de terminación
que define un bloque entre el conjunto de operaciones que son
realizadas.
Dentro de este proceso en bloque los demás usuarios no
pueden modificar nada hasta que no se presente un estado
estable de los datos, esto ocasiona inconsistencia temporal y
conflictos. Para evitar lo anterior se implementan dos maneras
diferentes:

           1.-Ejecución de transacciones serializadas
           2.- Ejecución de transacciones calendarizadas
• 1.-Ejecutar transacciones serializadas:
Es un sistema que permite el procesamiento de
transacciones en forma secuencial o serializado
dándole una secuencia a cada transacción, este
proceso reduce el rendimiento del sistema, pero tiene
como ventaja que el proceso de sincronización es
más sencillo.
• 2- Ejecutar transacciones calendarizadas:
Permite el proceso de transacciones asignándoles
tiempos de procesamiento el cual permite incrementar
el rendimiento del sistema ya que se ejecuta un
máximo de procesos en forma concurrente y no a
través de una serie. La ventaja es que a un mismo
tiempo de reloj se pueden hacer dos operaciones,
aunque el proceso de sincronización es mas
1.- Fase de lectura: Cuerpo de la transacción donde
se copian datos desde la base de datos, copias que
pueden ser actualizadas pero sin copiar a la base de
datos.

2.Fase de validación: Se comprueba que no existan
conflictos.

3.- Fase de escritura: Si no existen conflictos se
instalan lo cambios en la base de datos.
La base de datos
                           puede estar
Base 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
enlace de video
http://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 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:
1.-Fallas     del   sistema:     (por     ejemplo
interrupciones del suministro de electricidad) las
cuales afectan a todas las transacciones que se
están realizando pero no dañan físicamente a la
base de datos.
2.-Falla de los medios de almacenamiento: (por
ejemplo, un aterrizaje de cabezas en el disco),
las cuales si causan daños a la base de datos o
a una porción de ella, y afectan al menos a las
transacciones que están utilizando esa porción.
• 1.- Fallos locales a la transacción, que detecta el propio código de
   la
aplicación.
Responsabilidad del Programador
• 2. Fallos locales a la transacción, que no detecta el propio código
   de la
aplicació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 y
rehacer
Transacciones.
• 4. Fallos del sistema que dañan la BD.
"Recuperación de emergencia“: Copia de Seguridad +Recuperación
en base
al diario.
• 5. Error Fatal (Pérdida de archivo(s) de diario)
Administración de Transacciones - del tema 1 al 4
 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.
 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.

 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.
 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
 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 opcion
mysqld one –data base nombre_b_d < log 1
mysqld one –data base nombre_b_d < log 2
mysqld one –data base nombre_b_d < log 3
 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]
Administración de Transacciones - del tema 1 al 4
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
•   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
   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.
   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.
Administración de Transacciones - del tema 1 al 4
   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.

Weitere ähnliche Inhalte

Was ist angesagt?

Investigación Técnicas de detección de errores de transmisión
Investigación Técnicas de detección de errores de transmisiónInvestigación Técnicas de detección de errores de transmisión
Investigación Técnicas de detección de errores de transmisiónJosé Alexis Cruz Solar
 
Autómatas de Pila
Autómatas de PilaAutómatas de Pila
Autómatas de PilaPablo Guerra
 
Inv 1 algoritmos de control de concurrencias
Inv 1 algoritmos de control de concurrenciasInv 1 algoritmos de control de concurrencias
Inv 1 algoritmos de control de concurrenciasJuan Anaya
 
Sistemas operativos procesos
Sistemas operativos procesosSistemas operativos procesos
Sistemas operativos procesossistoperativos
 
Unidad 6 Protección y seguridad.
Unidad 6 Protección y seguridad.Unidad 6 Protección y seguridad.
Unidad 6 Protección y seguridad.Juan Anaya
 
Optimizacion de la busqueda de discos
Optimizacion de la busqueda de discosOptimizacion de la busqueda de discos
Optimizacion de la busqueda de discosJazmín Limón
 
Algoritmos de dekker
Algoritmos de dekkerAlgoritmos de dekker
Algoritmos de dekkernerexi
 
BD. control de concurrencia
BD. control de concurrenciaBD. control de concurrencia
BD. control de concurrencialiras loca
 
proyecto conexion netbeans con Mysql
proyecto conexion netbeans con Mysqlproyecto conexion netbeans con Mysql
proyecto conexion netbeans con MysqlBrenditaLr
 
maquinas de turing
maquinas de turingmaquinas de turing
maquinas de turingAnel Sosa
 
Segmetación de instrucciones
Segmetación de instruccionesSegmetación de instrucciones
Segmetación de instruccionesLely
 
Programacion de base de datos - Unidad 1: Conexion a la base de datos con un ...
Programacion de base de datos - Unidad 1: Conexion a la base de datos con un ...Programacion de base de datos - Unidad 1: Conexion a la base de datos con un ...
Programacion de base de datos - Unidad 1: Conexion a la base de datos con un ...José Antonio Sandoval Acosta
 
Trabajo 2 transacciones en base de datos
Trabajo 2   transacciones en base de datosTrabajo 2   transacciones en base de datos
Trabajo 2 transacciones en base de datosJose O- Vera
 
Unidad 3 administracion de memoria(recoplilacion de todas las exposiciones)
Unidad 3 administracion de memoria(recoplilacion de todas las exposiciones)Unidad 3 administracion de memoria(recoplilacion de todas las exposiciones)
Unidad 3 administracion de memoria(recoplilacion de todas las exposiciones)Juan Lopez
 

Was ist angesagt? (20)

Investigación Técnicas de detección de errores de transmisión
Investigación Técnicas de detección de errores de transmisiónInvestigación Técnicas de detección de errores de transmisión
Investigación Técnicas de detección de errores de transmisión
 
Tabla de símbolos
Tabla de símbolosTabla de símbolos
Tabla de símbolos
 
Transacciones en SQL SERVER
Transacciones en SQL SERVERTransacciones en SQL SERVER
Transacciones en SQL SERVER
 
Autómatas de Pila
Autómatas de PilaAutómatas de Pila
Autómatas de Pila
 
Inv 1 algoritmos de control de concurrencias
Inv 1 algoritmos de control de concurrenciasInv 1 algoritmos de control de concurrencias
Inv 1 algoritmos de control de concurrencias
 
Sistemas operativos procesos
Sistemas operativos procesosSistemas operativos procesos
Sistemas operativos procesos
 
Unidad 6 Protección y seguridad.
Unidad 6 Protección y seguridad.Unidad 6 Protección y seguridad.
Unidad 6 Protección y seguridad.
 
Optimizacion de la busqueda de discos
Optimizacion de la busqueda de discosOptimizacion de la busqueda de discos
Optimizacion de la busqueda de discos
 
Estándares para el Modelado de Procesos de Negocios
Estándares para el Modelado de Procesos de NegociosEstándares para el Modelado de Procesos de Negocios
Estándares para el Modelado de Procesos de Negocios
 
Algoritmos de dekker
Algoritmos de dekkerAlgoritmos de dekker
Algoritmos de dekker
 
BD. control de concurrencia
BD. control de concurrenciaBD. control de concurrencia
BD. control de concurrencia
 
Taller de Base de Datos - Unidad 7 Conectividad
Taller de Base de Datos - Unidad 7 ConectividadTaller de Base de Datos - Unidad 7 Conectividad
Taller de Base de Datos - Unidad 7 Conectividad
 
proyecto conexion netbeans con Mysql
proyecto conexion netbeans con Mysqlproyecto conexion netbeans con Mysql
proyecto conexion netbeans con Mysql
 
maquinas de turing
maquinas de turingmaquinas de turing
maquinas de turing
 
Segmetación de instrucciones
Segmetación de instruccionesSegmetación de instrucciones
Segmetación de instrucciones
 
Programacion de base de datos - Unidad 1: Conexion a la base de datos con un ...
Programacion de base de datos - Unidad 1: Conexion a la base de datos con un ...Programacion de base de datos - Unidad 1: Conexion a la base de datos con un ...
Programacion de base de datos - Unidad 1: Conexion a la base de datos con un ...
 
Ejemplo dfd
Ejemplo dfdEjemplo dfd
Ejemplo dfd
 
Trabajo 2 transacciones en base de datos
Trabajo 2   transacciones en base de datosTrabajo 2   transacciones en base de datos
Trabajo 2 transacciones en base de datos
 
Administración de Memoria
Administración de MemoriaAdministración de Memoria
Administración de Memoria
 
Unidad 3 administracion de memoria(recoplilacion de todas las exposiciones)
Unidad 3 administracion de memoria(recoplilacion de todas las exposiciones)Unidad 3 administracion de memoria(recoplilacion de todas las exposiciones)
Unidad 3 administracion de memoria(recoplilacion de todas las exposiciones)
 

Andere mochten auch

Notaria Digital - Sistema Documental Notarial - Digitalizacion
Notaria Digital - Sistema Documental Notarial - DigitalizacionNotaria Digital - Sistema Documental Notarial - Digitalizacion
Notaria Digital - Sistema Documental Notarial - DigitalizacionAntonio Garin Rodríguez
 
Commit y rollback
Commit y rollbackCommit y rollback
Commit y rollbacklinis129
 
Sistemas operativos distribuidos linux
Sistemas operativos distribuidos linuxSistemas operativos distribuidos linux
Sistemas operativos distribuidos linuxTensor
 
Modelos de negocios
Modelos de negociosModelos de negocios
Modelos de negociosMAYRAROSA79
 
Administración de bases de datos con sql server 2008 (ejemplo)
Administración de bases de datos con sql server 2008 (ejemplo)Administración de bases de datos con sql server 2008 (ejemplo)
Administración de bases de datos con sql server 2008 (ejemplo)Ronald Huere Arias
 
Alternativas de Administración de Empresas
Alternativas de Administración de EmpresasAlternativas de Administración de Empresas
Alternativas de Administración de EmpresasVicente A. Aragon D.
 
Transferencia de datos en Oracle
Transferencia de datos en OracleTransferencia de datos en Oracle
Transferencia de datos en OracleCarmen Soler
 
Trampas psicologicas en la toma de decisiones
Trampas psicologicas en la toma de decisionesTrampas psicologicas en la toma de decisiones
Trampas psicologicas en la toma de decisionesCiedith
 
Sql server 2008
Sql server 2008Sql server 2008
Sql server 2008brobelo
 
Bases de Datos Distribuidas con Sql Server 2012
Bases de Datos Distribuidas con Sql Server 2012Bases de Datos Distribuidas con Sql Server 2012
Bases de Datos Distribuidas con Sql Server 2012Antonio Ortiz
 
Ucm vpn windows 7
Ucm vpn windows 7Ucm vpn windows 7
Ucm vpn windows 7Biron Piña
 
Transacciones de base de datos en ORACLE
Transacciones de base de datos en ORACLETransacciones de base de datos en ORACLE
Transacciones de base de datos en ORACLE90040112
 
Transacciones y manejo de errores en mysql
Transacciones y manejo de errores en mysqlTransacciones y manejo de errores en mysql
Transacciones y manejo de errores en mysqlVictor Dolores Marcos
 

Andere mochten auch (20)

Notaria Digital - Sistema Documental Notarial - Digitalizacion
Notaria Digital - Sistema Documental Notarial - DigitalizacionNotaria Digital - Sistema Documental Notarial - Digitalizacion
Notaria Digital - Sistema Documental Notarial - Digitalizacion
 
Commit y rollback
Commit y rollbackCommit y rollback
Commit y rollback
 
Guia Rápida de toma de decisiones
Guia Rápida de toma de decisionesGuia Rápida de toma de decisiones
Guia Rápida de toma de decisiones
 
Lenguaje Transact SQL
Lenguaje Transact SQL Lenguaje Transact SQL
Lenguaje Transact SQL
 
Sistemas operativos distribuidos linux
Sistemas operativos distribuidos linuxSistemas operativos distribuidos linux
Sistemas operativos distribuidos linux
 
24373266
2437326624373266
24373266
 
Comparacion de SO
Comparacion de SOComparacion de SO
Comparacion de SO
 
Modelos de negocios
Modelos de negociosModelos de negocios
Modelos de negocios
 
Administración de bases de datos con sql server 2008 (ejemplo)
Administración de bases de datos con sql server 2008 (ejemplo)Administración de bases de datos con sql server 2008 (ejemplo)
Administración de bases de datos con sql server 2008 (ejemplo)
 
Alternativas de Administración de Empresas
Alternativas de Administración de EmpresasAlternativas de Administración de Empresas
Alternativas de Administración de Empresas
 
Transferencia de datos en Oracle
Transferencia de datos en OracleTransferencia de datos en Oracle
Transferencia de datos en Oracle
 
Trampas psicologicas en la toma de decisiones
Trampas psicologicas en la toma de decisionesTrampas psicologicas en la toma de decisiones
Trampas psicologicas en la toma de decisiones
 
Sql server 2008
Sql server 2008Sql server 2008
Sql server 2008
 
Bases de Datos Distribuidas con Sql Server 2012
Bases de Datos Distribuidas con Sql Server 2012Bases de Datos Distribuidas con Sql Server 2012
Bases de Datos Distribuidas con Sql Server 2012
 
Arancel Notarial Plurinacional
Arancel Notarial PlurinacionalArancel Notarial Plurinacional
Arancel Notarial Plurinacional
 
SGBD Postgresql
SGBD PostgresqlSGBD Postgresql
SGBD Postgresql
 
Ucm vpn windows 7
Ucm vpn windows 7Ucm vpn windows 7
Ucm vpn windows 7
 
Tipos de modelos de negocio
Tipos de modelos de negocioTipos de modelos de negocio
Tipos de modelos de negocio
 
Transacciones de base de datos en ORACLE
Transacciones de base de datos en ORACLETransacciones de base de datos en ORACLE
Transacciones de base de datos en ORACLE
 
Transacciones y manejo de errores en mysql
Transacciones y manejo de errores en mysqlTransacciones y manejo de errores en mysql
Transacciones y manejo de errores en mysql
 

Ähnlich wie Administración de Transacciones - del tema 1 al 4

transaction-management
transaction-managementtransaction-management
transaction-managementShami Zama
 
Gestion de transacciones "Investigación"
Gestion de transacciones "Investigación"Gestion de transacciones "Investigación"
Gestion de transacciones "Investigación"UNIVERSIDAD VERACRUZANA
 
Transacciones base de datos
Transacciones base de datosTransacciones base de datos
Transacciones base de datosJose Musett
 
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...Liz Ocampo
 
BD: Cuestiones de Repaso del Capitulo 20.
BD: Cuestiones de Repaso del Capitulo 20.BD: Cuestiones de Repaso del Capitulo 20.
BD: Cuestiones de Repaso del Capitulo 20.Victor Samaniego
 
Transacciones en transact sql
Transacciones en transact sqlTransacciones en transact sql
Transacciones en transact sqlFreddy Poma Inga
 
Consistencia es un término más amplio que el de integridad
Consistencia es un término más amplio que el de integridadConsistencia es un término más amplio que el de integridad
Consistencia es un término más amplio que el de integridadAngel Sanchez Virgen
 
Bases de Datos Multiusuario.pptx
Bases de Datos Multiusuario.pptxBases de Datos Multiusuario.pptx
Bases de Datos Multiusuario.pptxoviroger
 
Analisis Comparativo My Sql Vs Oracle
Analisis Comparativo My Sql Vs OracleAnalisis Comparativo My Sql Vs Oracle
Analisis Comparativo My Sql Vs Oracleguestdb275b
 

Ähnlich wie Administración de Transacciones - del tema 1 al 4 (20)

Transaccion
TransaccionTransaccion
Transaccion
 
transaction-management
transaction-managementtransaction-management
transaction-management
 
trabajo 5
trabajo 5trabajo 5
trabajo 5
 
RECICLAJE
RECICLAJERECICLAJE
RECICLAJE
 
Transacciones.pptx julio
Transacciones.pptx julioTransacciones.pptx julio
Transacciones.pptx julio
 
Transacciones.pptx julio
Transacciones.pptx julioTransacciones.pptx julio
Transacciones.pptx julio
 
Concurrencia y serialización final 2
Concurrencia y serialización final 2Concurrencia y serialización final 2
Concurrencia y serialización final 2
 
Abd clase 5 y 6
Abd clase 5 y 6Abd clase 5 y 6
Abd clase 5 y 6
 
Gestion de transacciones "Investigación"
Gestion de transacciones "Investigación"Gestion de transacciones "Investigación"
Gestion de transacciones "Investigación"
 
Transacciones base de datos
Transacciones base de datosTransacciones base de datos
Transacciones base de datos
 
TRANSACCIONES
TRANSACCIONESTRANSACCIONES
TRANSACCIONES
 
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...
 
Transaciones en mysql
Transaciones en mysqlTransaciones en mysql
Transaciones en mysql
 
Transacciones
TransaccionesTransacciones
Transacciones
 
Transacciones
TransaccionesTransacciones
Transacciones
 
BD: Cuestiones de Repaso del Capitulo 20.
BD: Cuestiones de Repaso del Capitulo 20.BD: Cuestiones de Repaso del Capitulo 20.
BD: Cuestiones de Repaso del Capitulo 20.
 
Transacciones en transact sql
Transacciones en transact sqlTransacciones en transact sql
Transacciones en transact sql
 
Consistencia es un término más amplio que el de integridad
Consistencia es un término más amplio que el de integridadConsistencia es un término más amplio que el de integridad
Consistencia es un término más amplio que el de integridad
 
Bases de Datos Multiusuario.pptx
Bases de Datos Multiusuario.pptxBases de Datos Multiusuario.pptx
Bases de Datos Multiusuario.pptx
 
Analisis Comparativo My Sql Vs Oracle
Analisis Comparativo My Sql Vs OracleAnalisis Comparativo My Sql Vs Oracle
Analisis Comparativo My Sql Vs Oracle
 

Administración de Transacciones - del tema 1 al 4

  • 1. 3.1 Transacciones 3.2 Tipos de fallas 3.3 Recuperación 3.4 Concurrencia
  • 2. Definición: Una transacción en un Sistema de Gestión de Bases de Datos (SGBD), es un conjunto de órdenes que se ejecutan formando una unidad de trabajo, es decir, en forma indivisible o atómica.
  • 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. Las transacciones nos permiten agrupar los pasos fiscos cuando se hacen modificaciones a una base de datos.
  • 5. Commit: Esta instrucción es la que confirma la transacción para modificación de los datos en la base de datos. Rollback: Esta instrucción es la que anula cualquier modificación realizada en la base de datos.
  • 6. conjunto de características necesarias para que una serie de instrucciones puedan ser consideradas como Begin transaction una transacción Insert Update Delete • ATOMICIDAD If error Rollback • CONSISTENCIA Else • AISLAMIENTO commit • DURABILIDAD
  • 7. Atomicidad: Es la propiedad que asegura que la operación se ha realizado o no, que se realiza con commit para confirmar o rollback para deshacer. Consistencia: Es la propiedad que asegura que solo se emplea aquello que solo se pueda acabar. Por lo tanto solo se ejecutan aquellas operaciones que no van a romper las reglas y directrices de la integridad de la base de datos. Aislamiento: es la propiedad que asegura que una operación no pueda afectar a otras. Esto asegura que la realización de 2 transacciones sobre la misma información sean independientes y no generen ningún tipo de error. Durabilidad: Es la propiedad que asegura que una ves realizada la transacción, esta persistirá y no se
  • 8. Normalmente en una base de datos de Microsoft las transacciones son explicitas, lo que quiere decir que debemos poner begin transaction Transacción explicita Begin transaction Update tabla… Insert into tabla… Delete from tabla… Commit o rollback
  • 9. En algunas otras bases de datos como Oracle en donde las transacciones se consideran implícitas, por que se considera que todas las instrucciones pertenecen a la transacción. Transacciones implisitas Update tabla… Insert into tabla… Delete from tabla… Commit o rollback
  • 10. La estructura de una transacción usualmente viene dada según el modelo de la transacción, estas pueden ser planas (simples) o anidadas. Transacciones planas: Consisten en una secuencia de operaciones primitivas encerradas entre las palabras clave BEGIN y END. Por ejemplo: BEGIN _TRANSACTION Reservación .... END.
  • 11. Consiste en tener transacciones que dependen de otras, estas transacciones están incluidas dentro de otras de un nivel superior y se las conoce como sub-transacciones. La transacción de nivel superior puede producir hijos (sub-transacciones) que hagan más fácil la programación del sistema y mejoras del desempeño. En las transacciones anidadas las operaciones de una transacción pueden ser así mismo otras transacciones. Por ejemplo: BEGIN _TRANSACTION Reservación .......... BEGIN _TRANSACTION Vuelo ........ END.(Vuelo) ...... BEGIN _TRANSACTION Hotel ........ END ...... END.
  • 12. Los siguientes son los aspectos más importantes relacionados con el procesamiento de transacciones: • Modelo de estructura de transacciones: Es importante considerar si las transacciones son planas o anidadas. • Consistencia de la base de datos interna: Los algoritmos de control de datos tienen que satisfacer las restricciones de integridad cuando una transacción pretende hacer un compromiso. • Protocolos de confiabilidad: En transacciones distribuidas es necesario introducir medios de comunicación entre los diferentes nodos de una red para garantizar la atomicidad de las transacciones. • Algoritmos de control de concurrencia: Deben sincronizar la ejecución de transacciones concurrentes
  • 13. • Protocolos de control de replicas: Se refiere a como garantizar la consistencia mutua de datos replicados. El procesamiento de transacciones básicamente consiste en una serie de modificaciones (transacciones) a un determinado recurso del sistema (por ejemplo una base de datos) y en donde se define un punto de inicio y un punto de terminación que define un bloque entre el conjunto de operaciones que son realizadas. Dentro de este proceso en bloque los demás usuarios no pueden modificar nada hasta que no se presente un estado estable de los datos, esto ocasiona inconsistencia temporal y conflictos. Para evitar lo anterior se implementan dos maneras diferentes: 1.-Ejecución de transacciones serializadas 2.- Ejecución de transacciones calendarizadas
  • 14. • 1.-Ejecutar transacciones serializadas: Es un sistema que permite el procesamiento de transacciones en forma secuencial o serializado dándole una secuencia a cada transacción, este proceso reduce el rendimiento del sistema, pero tiene como ventaja que el proceso de sincronización es más sencillo. • 2- Ejecutar transacciones calendarizadas: Permite el proceso de transacciones asignándoles tiempos de procesamiento el cual permite incrementar el rendimiento del sistema ya que se ejecuta un máximo de procesos en forma concurrente y no a través de una serie. La ventaja es que a un mismo tiempo de reloj se pueden hacer dos operaciones, aunque el proceso de sincronización es mas
  • 15. 1.- Fase de lectura: Cuerpo de la transacción donde se copian datos desde la base de datos, copias que pueden ser actualizadas pero sin copiar a la base de datos. 2.Fase de validación: Se comprueba que no existan conflictos. 3.- Fase de escritura: Si no existen conflictos se instalan lo cambios en la base de datos.
  • 16. La base de datos puede estar Base 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
  • 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. 1.-Fallas del sistema: (por ejemplo interrupciones del suministro de electricidad) las cuales afectan a todas las transacciones que se están realizando pero no dañan físicamente a la base de datos. 2.-Falla de los medios de almacenamiento: (por ejemplo, un aterrizaje de cabezas en el disco), las cuales si causan daños a la base de datos o a una porción de ella, y afectan al menos a las transacciones que están utilizando esa porción.
  • 20. • 1.- Fallos locales a la transacción, que detecta el propio código de la aplicación. Responsabilidad del Programador • 2. Fallos locales a la transacción, que no detecta el propio código de la aplicació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 y rehacer Transacciones. • 4. Fallos del sistema que dañan la BD. "Recuperación de emergencia“: Copia de Seguridad +Recuperación en base al diario. • 5. Error Fatal (Pérdida de archivo(s) de diario)
  • 22.  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.
  • 23.  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.
  • 24.   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.
  • 25.  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
  • 26.  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 opcion mysqld one –data base nombre_b_d < log 1 mysqld one –data base nombre_b_d < log 2 mysqld one –data base nombre_b_d < log 3
  • 27.  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]
  • 29. 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
  • 30. 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
  • 31. 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.
  • 32. 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.
  • 34. 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.