Resumen Tema 5: Proceso de transacciones

Documentos relacionados
Asignatura: Administración de Bases de Datos. Pedro P. Alarcón Cavero

4.6.- Integridad: Control de concurrencia.

Transacciones. Carlos A. Olarte BDII

CAPITULO 6. Control de Concurrencia y Recuperación

Transacciones. M. Andrea Rodríguez-Tastets. II Semestre Universidad de Concepción,Chile andrea

Tema 6. Transacciones y seguridad

Práctica 4: Estudio del SGBD Oracle 10 Gestión de Transacciones

Transacciones, Recuperación y Control de Concurrencia

GESTION DE TRANSACCIONES

CONCEPTOS DE PROCESAMIENTO DE TRANSACCIONES

PROGRAMA ACADÉMICO DE TECNOLOGÍAS DE LA INFORMACIÓN MANUAL SINTAXIS DE LOS COMANDOS PARA UNA TRANSACCION BASES DE DATOS PARA APLICACIONES

TEMA 4.4: Recuperación ante fallos

ADMINISTRACIÓN DE BASES DE DATOS. Control de Concurrencia y Recuperación

Control de Concurrencia

BASES DE DATOS curso 2002/3

Aplicaciones Concurrentes

Formato para prácticas de laboratorio

Recuperación de Fallos del Sistema

UNIDAD II Metodología de programación paralela. Lic. Jesús Germán Andrés PAUTSCH - FCEQyN - UNaM

Concurrencia y Recuperabilidad

El Sistema Gestor de Base de Datos (DBMS)

Contenido Manejo de Concurren en Mysql... 2 Modos de bloqueo InnoDB... 2 InnoDB y AUTOCOMMIT... 3

Manejo de Transacciones

Introducción a los Sistemas Operativos

Transacciones y concurrencia. Sistemas de persistencia de objetos

ADMINISTRACIÓN DE BASES DE DATOS PREGUNTAS TEST SON SOLUCIÓN

LABORATORIO 10. Concurrencia y bloqueos en el SMBD Oracle

15. Recuperación de fallos del sistema

Problemas Fundamentales. Amenazas a la Seguridad de la Base de Datos. Diseño o de Alto Nivel. en las Bases de Datos. Índice. Seguridad Completa

PostgreSQL, Oracle, MySQL y otros. Sahyra Yépez

Grandes de Bases de Datos. Alta disponibilidad Envío de bitácoras

Modificación de datos

TRANSACCIONES, AISLAMIENTO Y CANDADOS. Bases de Datos Ingeniería de Sistemas Universidad Nacional de Colombia 2013

Diseño de Bases de Datos

Administración de Bases de Datos

SUBPROGRAMAS PL/SQL César Martínez C. Profesor Instructor de Base de Datos Sede Puente Alto DUOC

Unidad IV: Operación y mantenibilidad 4.1 Bitácoras de trabajo del DBMS

Desarrollo de bases de datos con SQL Server 2014

TEMA 4 PROFESOR: M.C. ALEJANDRO GUTIÉRREZ DÍAZ

Procesamiento de transacciones Fernando Berzal,

Bases de Datos / Elementos de Bases de Datos Que es un Stored Procedure? Stored Procedures: Ventajas

República Bolivariana de Venezuela Ministerio Popular de Educación y Deportes UNEFA Cátedra: Base de Datos Unidad I. Introducción

Bases de Datos Sistemas gestores de bases de datos (DBMS)

Pontificia Universidad Católica del Ecuador

Administración de transacciones y bloqueos

Mecanismos de Recuperación

TRANSACCIONES DISTRIBUIDAS

UNIDAD DE TRABAJO 1: ALMACENAMIENTO DE LA INFORMACIÓN TEMA 2: BASES DE DATOS. SISTEMAS GESTORES DE BASES DE DATOS

Concurrencia. Bibliografía: Introducción a los Sistemas de Bases de Datos Date, C.J.

CONTROL DE CONCURRENCIA Y RECUPERACIÓN EN BASES DE DATOS

de MySQL Ing. Juan Pablo Díaz Ezcurdia

Recuperación de Bases de Datos

Bases de Datos / Elementos de Bases de Datos 2015

Tema 1. Bases de datos activas

Clase 1: Estructuras, Procesos y Diccionario de Datos

Revista Electrónica Granma Ciencia. Vol.10, No.2, Mayo - Agosto de 2006 ISSN X

Maestría en Bioinformática. Bases de Datos y Sistemas de Información SQL: DML. Ing. Alfonso Vicente, PMP

Bases de Datos I. Cursada Clase 7: Recuperación de BD. Introducción a la Seguridad. Introducción a la Seguridad

SEMINARIO DE BASES DE DATOS. Instituto Superior de Formación Docente y Técnica N 12 La Plata 1/10/14

Subprocesos transaccionales

Componentes de una BD

DIAGRAMAS DE ACTIVIDAD SESION 9. Cap. 9 Kendall & Kendall Cap 5 Jacobson

Temario Curso Bases de Datos

Sistemas Distribuidos Sincronización, Concurrencia y Transacciones

Curso Querying Microsoft SQL Server 2014 (20461)

TEMA 2: Estructuras de Control: Condicionales

Gestión de Segmentos de Rollback. Qué es una transacción? Secuencia de operaciones que han de ejecutarse de forma atómica.

El lenguaje de manipulación de datos (DML) es una parte fundamental de SQL.

Mecanismos de Recuperación

Pontificia Universidad Católica del Ecuador

Estructura de una BD Oracle. datafiles redo log controlfiles tablespace objetos Estructura lógica. Tablespaces tablespace SYSTEM

TEMA 4. ESTRUCTURAS DE CONTROL

ESCUELA TÉCNICA SUPERIOR DE INGENIEROS INDUSTRIALES Y DE TELECOMUNICACIÓN MÁSTER UNIVERSITARIO EN TECNOLOGÍAS INFORMÁTICAS

Capítulo 5. Edición de datos

Concepto de vista. (con ciertas limitaciones). nivel físico) Una vista es una tabla virtual (no tiene una correspondencia a

INDICE Capitulo 1. Introducción Capitulo 2. Modelo entidad relación Capitulo 3. Modelo Relacional Capitulo 4. Lenguajes relacionados comerciales

Oracle Database 11g: Taller de Administración II Versión 2 (Español)

Tema: Disparadores Parte I.

SQL Transactions Teacher s Guide

Motores de almacenamiento en MySQL 5.0 por Mario López y Juan A. Sánchez

UNIVERSIDAD SIMÓN BOLÍVAR Vicerrectorado Académico

Manipulación de procesos

Introducción Definición de base de datos Conceptos básicos Sistema de Gestión de Base de Datos (SGBD) Conclusiones

Elementos de Bases de Datos. Serializabilidad en Bases de Datos Distribuidas. Protocolo de Bloqueo de Dos Fases. Protocolo de Compromiso de 2 Fases

Métodos para escribir algoritmos: Diagramas de Flujo y pseudocódigo

2.2 Nombres, Ligado y Ámbito

Clasificación n de los Sistemas Operativos. Clasificación de los SO Estructuras de los SO Modos de procesamiento

Oracle Database 10g: Taller de Administración I 1-2

TECNICO SUPERIOR EN INFORMÁTICA EMPRESARIAL MÓDULO INTRUCCIONAL

DBTechNet. DBTech VET. SQL Transactions. Teoría y ejercicios en la práctica. En español

Mercedes Granda Departamento de Electrónica y Computadores. Las propiedades de las redes de Petri nos permiten

//Sección de manejo de excepciones. Las rutinas de manejo de errores //aparecen aqui

REDES DE DATOS Modelo OSI. Angélica Flórez Abril, MSc.

LENGUAJES DE DEFINICIÓN Y MODIFICACIÓN DE DATOS SQL 60h

BASES DE DATOS TEMA 5 RECUPERACIÓN DE FALLAS

T ema 2. S is tem as ges tores de bas es de datos

Principios de Computadoras II

Funcionamiento de la computadora

METODOS DE OPTIMIZACION DE CONSULTAS PARA EL LENGUAJE SQL.

Introducción a las RdP. Optimización basada en redes de Petri. Redes de Petri. Son objeto de estudio: RdP. Ejemplos:

Transcripción:

Resumen Tema 5: Proceso de transacciones Transacción Unidad lógica de procesamiento secuencial compuesta por una o mas acciones que se ejecutan en bloque sobre una BD. Sentencias: Begin/end transaction. Commit: hace permanentes los cambios. Rollback: aborta la transacción y deshace los cambios. Propiedades ACID Atomicity: las transacciones son atómicas (o se ejecutan todas las instrucciones, o ninguna). Consistency: tras ejecutar la transacción, se debe conservar la consistencia de la BD. Isolation: una transacción debe estar aislada de las demás transacciones (sus operaciones no deben verse afectadas por otras). Durability: los efectos de la transacción deben permanecer en la DB al finalizar completamente su ejecución. Control de concurrencia Posibles errores derivados de un mal control de la concurrencia: Perdida de operaciones: Lectura sucia: Imposibilidad de reproducir lecturas: Resumen incorrecto

Planes y recuperabilidad Plan: secuencia de operaciones realizadas por un conjunto de transacciones concurrentes, que preserva el orden de las operaciones en cada transacción individual. Tipos de plan: Plan serie: planificación en la que las operaciones de cada transacción se ejecutan consecutivamente sin entrelazarse con las de otras transacciones. Evita conflictos por concurrencia: Plan no serie: planificación en la que las operaciones de un conjunto de transacciones concurrentes están entrelazadas. Pueden producirse conflictos por concurrencia: Se debe tratar de conseguir un plan serializable, es decir, uno que produzca el mismo resultado en cualquier sucesión de las n transacciones del plan, condición suficiente para garantizar la ausencia de conflicto en planes no serie. Para conseguirlo, deben aplicarse técnicas de control de la concurrencia. Enfoques para el control de la concurrencia: Pesimista: asumen la existencia de conflictos, tomando las medidas necesarias durante la ejecución, aumentando el tiempo. Algunas técnicas comunes son las marcas temporales o los bloqueos. Optimista: asumen la no existencia de conflictos, y de haberlos, se resuelven al finalizar la ejecución de las transacciones.

Bloqueos Tienen como objetivo permitir únicamente la ejecución simultánea de operaciones compatibles, evitando las ejecuciones incorrectas. Modo de operación: clase que caracteriza la operación, sirve para determinar compatibilidades entre operaciones. Los modos clásicos son lectura y escritura. Protocolo de bloqueo: protocolo que indica el acceso a un gránulo (unidad individual de datos), que puede llegar a ser compartido. Está caracterizado por la petición de autorización para realizar una operación, y las señales que indican la finalización de la operación. Un protocolo necesita conocer el comienzo, los modos de operación, y el final. Primitivas asociadas a un protocolo: LOCK(gránulo, modo) y UNLOCK(gránulo) Algoritmos de bloqueo: Controlan que sobre un gránulo solo se ejecuten operaciones compatibles. Necesitan como información el gránulo, los modos de las operaciones asignadas, y los modos de las operaciones solicitadas. Para determinar las compatibilidades entre modos de operación, se utiliza una matriz de compatibilidades: Matriz de compatibilidad para lectura y escritura Matriz de compatibilidad con modos extendidos Protocolos de bloqueo en dos fases: bloquean todos los gránulos, ejecutan las operaciones, y los desbloquean. Este tipo de protocolos limitan la concurrencia, al realizar bloqueos tempranos y liberaciones tardías. Pueden tener variaciones: Bloqueo clásico. Bloqueo conservativo o estático: bloquea antes de comenzar. Bloqueo estricto: desbloquea después de terminar totalmente. Toda ejecución completa de un conjunto de transacciones con bloqueo en dos fases es serializable. Problemas de los bloqueos: Interbloqueo (deadlock). Espera indefinida (livelock): una transacción no entra mientras exista otra. Hambruna (starvation): el controlador mata siempre la misma transacción para resolver un interbloqueo.

Interbloqueo Imposibilidad de realizar simultáneamente dos operaciones no compatibles sobre el mismo gránulo, que tiene como consecuencia que dos o mas transacciones quedan en espera del mismo recurso. La finalización de otras transacciones no supone una solución. Grafo de espera: Los nodos representan transacciones concurrentes. Los arcos representan la relación espera a, que ocurre si una transacción espera por un gránulo que tiene bloqueada otra transacción. Existe interbloqueo si y solo si el grafo tiene un camino cerrado. Grafo de asignaciones: Los nodos representan transacciones y gránulos. Los arcos continuos van de un gránulo a una transacción, y representan que la transacción ha obtenido el bloqueo del gránulo en al menos un modo de operación. Los arcos discontinuos van de una transacción a un gránulo, y representan que la transacción ha solicitado el bloqueo de ese gránulo.

Existe interbloqueo si y solo si el grafo de asignaciones presenta un camino cerrado (condición necesaria pero no suficiente). Gestión de concurrencia Algoritmos de control de accesos: De ordenamiento inicial. De bloqueo. Optimistas. Importancia de la granularidad: compromiso entre gestión y esperas. Gestión de las colas de transacciones: decidir a que transacción hay que dar mayor prioridad. Auditorías al monitor de transacciones. Transacciones en SQL Modos de transacción: Confirmación automática: cada instrucción individual es una transacción. Explícita: BEGIN, COMMIT, ROLLBACK Implícita: se inicia implícitamente cuando se ha completado la transacción anterior, y finaliza con COMMIT WORK, ROLLBACK WORK, o con inicio de sesión. Niveles de aislamiento (isolation): Lectura no confirmada: una transacción puede ver cambios realizados por otra aun no cometida. (problema de lectura sucia). No la soportan muchos SGBD. Lectura confirmada: una transacción puede ver cambios realizados por otras ya cometidas (problema de lectura no repetible). Lectura repetible: si se ejecuta un SELECT dentro de la transacción, se obtienen las filas que pueda insertar otra transacción, entre dos ejecuciones del mismo SELECT (problema de filas fantasmas). Serializable: si se ejecuta un mismo SELECT varias veces en una transacción, siempre se obtiene el mismo resultado. En SQL:

En Oracle: