Paul Leger http://pleger.cl Transacciones Paul Leger http://pleger.cl.

Slides:



Advertisements
Presentaciones similares
1 FUNDAMENTOS DE BASES DE DATOS SISTEMA GESTOR DE BASES DE DATOS (SGBD) Consiste en una colección de datos interrelacionados y un conjunto de programas.
Advertisements

Sistemas Gestores de Bases de Datos.
Bases de datos ITecnológico San Agustín1 BASES DE DATOS Conceptos Básicos Paulo César Acosta Lozano –
Es el software que controla el conjunto de operaciones de una computadora. Proporciona el mecanismo por el cual un usuario puede solicitar la ejecución.
Paul Leger Modelo OSI Paul Leger
UNIDAD 7.
Internet Protocols (IPs)
Introducción a Modelamiento de Procesos
Introducción a Sistemas Operativos
Paul Leger Casos de Usos Paul Leger
Modelo Entidad-Relación
Paul Leger Formas Normales: Lineamientos formales para un buen diseño y la necesidad de por qué son necesarias las dependencia funcionales.
APLICACIÓN DE CONTROL INTERNO EN PyMEs
Aidan Hogan CC Bases de Datos Primavera 2016 Clase 11: Integridad, Transacciones, ACID (I) Aidan Hogan
Diseñada por Nosotros para ti.
Cloud: Definición, ejemplos y (des)ventajas
Introducción al Proyecto
Hardware de Computador
CC Bases de Datos Primavera Clase 12: Implementación de ACID
Introducción a Base de Datos
Introducción a Sistemas Operativos
Historia de los Sistemas Operativos
Arquitectura de una Base de Datos
U.T. 11: Introducción A Las Bases De Datos
Introducción a Modelamiento de Procesos
Paul Leger Procesos (capitulo 2) Paul Leger
Etapa Final del Proyecto
Historia de los Sistemas Operativos
Paul Leger Procesos (capitulo 2) Paul Leger
Sistemas Operativos.
Paul Leger Sistemas de Workflows Paul Leger
TRANSACCIONES ATÓMICAS: ING. WALTER ZULOAGA CONTRERAS ALUMNOS: SHARON Y. CONZA CASTILLO BEKER MONTERROSO VALVERDE.
4. Concurrencia.
TUTORIAL PSeint.
UNIVERSIDAD PRIVADA SAN JUAN BAUTISTA ESCUELA PROFESIONAL DE INGENIERIA DE COMPUTACION Y SISTEMAS TRANSACCIONES Integrantes: Cancho Ramirez Kiara Angulo.
Realizado por: Dr. Jean Paul Rojas Chavez
Sistemas Operativos Unidad I Introducción.
Pasos para Desencriptar la Información Confidencial Enviada al Cliente
PROCESOS COMENZAR.
Linux Linux es un sistema operativo diseñado por cientos de programadores de todo el planeta, aunque el principal responsable del proyecto es Linux.
Sistemas Operativos.
ELEMENTOS DE COMPUTACIÓN Profesor: Guillermo Figueroa
L.I. Manuel Antonio Cebreros Zazueta
Una transacción corresponde a un grupo de sentencias que representan una unidad de trabajo y deben ejecutarse en su totalidad.
Administración de Base de Datos Recuperación de datos Profesora: Mercy Ospina UNIVERSIDAD CENTRAL DE VENEZUELA FACULTAD DE CIENCIAS.
La escritura de programas que interactúen directamente con los componentes hardware de un computador es una tarea bastante tediosa. Por otra parte, si.
Arquitectura de SGBD. Componentes de una base de datos.
CURSO PROGRAMACIÓN BÁSICA SEMANA 3 ¿Qué es un programa?
ESTRUCTURA DE LOS SISTEMAS OPERATIVOS.
Instituto Tecnológico Superior de la Región Sierra
Carrera de Observación
Teoría Nº 3 Conceptos Básicos de Algoritmia Estructuras de Control
Universidad Alonso de Ojeda Facultad de Ingeniería
CLASIFICACIÓN DE S.O.
Estructura de Sistemas Operativos CAMPOS CHACALTANA, ANTHONY.
Estructura de los sistemas Operativos 1. Componentes de un sistema operativo  Administración de procesos  Administración de memoria  Subsistema de Entrada/Salida.
Estructura de los Sistemas Operativos Alumna:Arratea Almeyda Aracelli.
ESTRUCTURA DE SISTEMAS OPERATIVOS Carbajal Rojas karla.
SOA UMG Estructura del Sistema Operativo. Componentes de un Sistema Operativo Administración de procesos Administración de memoria Subsistema de Entrada/Salida.
Gestión del sistema de entrada / salida
Procesos Lic. Gonzalo Pastor.
Estructura de los sistemas operativos
ESTRUCTURA DE LOS SISTEMAS OPERATIVOS
ESTRUCTURA DE LOS SISTEMAS OPERATIVOS
Estructura de Sistemas Operativos
SISTEMAS OPERATIVOS En el mundo de la informática se denomina sistema operativo al programa, o conjunto de ellos, que gestiona los recursos físicos de.
SISTEMAS OPERATIVOS Estudiante: Rojas De la Cruz Jesus Manuel. Ciclo: VI. Turno: Noche.
Hilos de Procesamiento. Hilos Concepto Beneficios Hilos a nivel kérnel y a nivel usuario Modelos multihilos Hilos de Solaris 2 Hilos de Java.
Transcripción de la presentación:

Paul Leger http://pleger.cl Transacciones Paul Leger http://pleger.cl

Transacciones Definición informal: Un conjunto de operaciones, las cuales todas deben ser ejecutadas o ninguna El concepto de transacción es ampliamente usado en computación, aquí es usado en el área de base de datos

Antes de continuar … unos conceptos necesarios

Multiusuario y Monousuario Sistemas Monousuario: Sistemas que pueden ejecutar un programa a la vez No necesariamente significa que un solo usuario (cómo usted) usa el computador Multiusuarios: Sistemas operativos modernos puede ejecutar programas de manera concurrente (ej. Google Chrome y Power Point) En sistemas concurrentes, problemas pueden aparecer cuando dos programas intentan acceder al mismo recurso de manera paralela (más información: sistemas operativos) Ejemplos de recursos compartidos: archivos, tarjeta de video/audio, registro de base de datos, etc Teóricamente un procesador (mono núcleo) solo puede ejecutar un programa al mismo tiempo, ¿cómo ejecuta dos programas de manera concurrente? ¿Qué sucede con los procesadores con varios núcleos?

Multiusuarios y transacciones en este curso Multi-usuario: Varios transacciones de manera concurrente desean acceder a un registro Transacciones: Secuencia de escrituras/lecturas y operaciones sobre un conjunto de registros de una base de datos

Ejemplo de transacciones concurrentes Transacciones A, B, C y D

Lectores y Escritores Considere las siguientes transacciones:

Problemas con concurrencias en transacciones (1/2) Esto se pierde por lo de abajo

Concurrencias y transacciones “Cuando hay transacciones ejecutandose en concurrencia, las interrupciones de ellas puede generar resultados indeseados ” Entonces, si dos transacciones escriben el mismo valor, su concurrencia puede afectar el resultado final

Problemas con concurrencias en transacciones (2/2) Este escritura depende de una transacción que fallo Si la otra transacción falla, entonces esta transacción deja la base de datos inconsistente

Concurrencias y transacciones “Cuando hay transacciones ejecutandose en concurrencia, se crean dependencias entre transacciones” Entonces, si una transacción falla, las otras transacciones pueden fallar también

Fallos en transacciones Caída en sistemas Un error en la ejecución de una transacción Ejemplo: Operaciones matemáticas que pueden fallar Un error en las condiciones de una transacción Ejemplo: Aborto de una transacción por el cliente o por el saldo insuficiente Fallo del disco Otros problemas catastróficos Ejemplo: incendio y ataques terroristas Imposición de control de concurrencia Ejemplo: Si una transacción no cumple con cierto plan de concurrencia, esta puede ser abortada

Etapas de una transacción Inicio transacción Leer o Escribir registro y algunas operaciones Fin transacción Luego Confirmar Transacción Abortar => revertir (potencialmente) la transacción

Ciclo de Vida de una Transacción

Log (bitácora) de transacciones En sistemas de gestión de base de datos y en otros sistemas, existen un sistemas de bitácora (conocido como system log) En SGBD, los sistemas de Log registra cada movimiento que pasa, es decir, inserciones/eliminaciones/actualizaciones de una BD. Por ejemplo: [12323, x, 20, 30, pleger] Este sistema es usado para: Encontrar responsables Ver como un sistema de base datos evoluciona Ver cuando una transacción comienza y termina Para saber como deshacer una operación y/o una transacción completa

Punto de confirmación (checkpoint) de una transacción Cuando una transacción termina satisfactoriamente, debe emitirse el evento de termino de confirmación que es escrito en el sistema log Este evento significa que todas las operaciones de una transacciones se han escrito/asentado correctamente en la base de datos Cuando el sistema se cae, se observa todas las transacciones que iniciaron y no terminaron y estas transacciones deshacen sus operaciones sin completar OJO: Aquí se pueden deshacer otras transacciones ya confirmadas por su dependencias

Checkpoint ¿Qué transacciones quedan asentadas en base de dato?

Dependencia entre transacciones Considere una transacción A que confirmo, pero por su ejecución concurrente con una transacción B, la cual aborta, puede genera deshacer y rehacer A Cada cierto tiempo se crea un punto de control, el sistema asegura que todas las transacciones confirmadas no deberán rehacer por la falla de otras Para crear un punto de control, se esperan que las transacciones pendientes terminen (se asegura que no hay nada pendiente) Los puntos de control se crean cada n minutos o m transacciones, el cual es representado por plan de transacciones

ACID: propiedades de una transacción T Atomicidad: T es indivisible, T se ejecuta completa o ninguna operación de ella Conservación de la base de datos: T debe llevar de un estado consistente a otro estado consistente en la BD Aislamiento: T debe ejecutarse sin considerar los efectos de otra transacción, es decir, cada transacción es independiente Durabilidad: Toda T confirmada debe ser escrita en una base de datos y potencialmente no perderse en el futuro

Planes y Recuperabilidad Plan actúa sobre un conjunto de transacciones para determina un orden de como se ejecuta todas las operaciones de las transacciones

Expresando Planes Pc: l1(x), l2(x), e1(x), l1(y), e2(x), c1, e1(Y), c2 ¿No hay eventos de inicio1 y inicio2?

Operaciones en Conflictos Dos operaciones están conflictos si: Pertenecen a transacciones distintas Una de ellas es una escritura Ejercicio: l1(x), l2(x) ? l1(x), e2(x) ? e1(x), e1(x) ?

Plan Completo Un plan está completo si: Incluye todas las operaciones de las transacciones Las operaciones de una transacción no están alteradas en su orden Para dos operaciones en conflicto, se debe especificar claramente qué operación se ejecuta primero