C ONCURRENCIA Y M ANEJO DE S ESIONES. C ONCURRENCIA Es una propiedad del sistema en el cual muchos calculos se estan ejecutando simultaneamente, y son.

Slides:



Advertisements
Presentaciones similares
Construcción de Sistemas Distribuidos “Transacciones Distribuidas”
Advertisements

Transacciones y Concurrencia en Oracle
IBD Clase 18.
IBD Clase 17.
Arquitecturas de BD Modelo ANSI/SPARC
Introducción a LAS Bases de Datos
Administración de transacciones y bloqueos
Administración de archivos de bases de datos
“Tuning” Universidad Nacional Autónoma de México Bases de datos I
Introducción a los Sistemas de Bases de Datos
Confiabilidad en Bases de Datos Distribuidas
¿QUÉ SON LAS BASES DE DATOS?
RESPALDO.
Teórico: Introducción
Introduccion a base de datos
Integrantes: Karen Huaman Leva Nelly Quispe Troncoso
SISTEMAS OPERATIVOS UNIDAD 1..
Introducción a los Sistemas de Bases de Datos Distribuidos
UNIDAD II Modelo de Datos.
Johanna Lizeth Rodríguez Lorena Fda. Chávarro Ramos
MOTORES DE BASE DE DATOS
BASES DE DATOS DISTRIBUIDAS
Transacción Es una unidad de trabajo sobre la base de datos
Manejo de Transacciones
Transacciones (MySQL). Definición: Conjunto de sentencias que se tratan como una sola. Comienzan con BEGIN/START TRANSACTION; Se puede confirmar (COMMIT)
Transacciones, Recuperación y Control de Concurrencia
7. Control de la concurrencia
Introducción a los Sistemas de Bases de Datos
PARTE I  ANDRI GIOVANNI HERNANDEZ CAMPOSECO. ANDRI GIOVANNI HERNANDEZ CAMPOSECO Check point video: Dead Lock:
Universidad del Cauca – FIET – Departamento de Sistemas
Técnicas de recuperación de bases de datos
Ing. Fabián Ruano.  Definición  Diferencias con BD Centralizadas.
Arquitectura de una aplicación
Administración de Bases de Datos
6. Recuperación de fallos
Sistemas Concurrentes: programación concurrente
Bases de Datos Relacionales.  Responsable Cátedra: Silvina Migani  JTP: Liliana Romera  Ayudante:
Introducción A Las Bases De Datos
Sistema de archivos Sistemas operativos.
Resolución de Problemas y Algoritmos Uso de iteración con secuencias
PostgreSQL: Parte 1 Integrantes: Álvaro Marciales Claudio Torrez.
Una transacción debe estar en uno de los estados siguientes: Activa Parcialmente comprometida Fallida Abortada Comprometida Activa: El estado inicial;
Control de Transacciones.
Elaborado por: Guillermo Baquerizo I Término
RESTRICCIONES Ing. Carolina Moreno Departamento de Sistemas Facultad de Electrónica y Telecomunicaciones Universidad del Cauca.
CONCEPTO SOBRE TRANSACCIONES
Transacciones en sistemas de base de datos
TRANSACCIONES DISEÑO DE BASE DE DATOS.
Administración de Bases de Datos
Universidad Tecnológica de Izúcar de Matamoros
CICLO DE VIDA Y NORMAALIZACION DE UN SISTEMA DE BASE DE DATOS
PROYECTO EMPRESARIAL Clase # 1.
VENTAJAS DE LAS BASES DE DATOS.  Los sistemas de ficheros almacenan varias copias de los mismos datos en ficheros distintos. Esto hace que se desperdicie.
Base de datos.
LENGUAJE SQL (LENGUAJE ESTRUCTURADO DE CONSULTA) BASES DE DATOS Ing Sonia Godoy H.
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.
La mayoría de las bases de datos se utilizan en entornos multi-usuario, en los que muchos clientes utilizando la misma aplicación, o muchas aplicaciones.
BASE DE DATOS.
UNIVERSIDAD TECNOLOGICA DE IZUCAR DE MATAMOROS TECNOLOGIAS DE LA INFORMACION Y COMUNICACIÓN BASE DE DATOS PARA APLICACIONES MTRO: GONZALO ROSAS CABRERA.
Transacciones seguras  Concurrencia Ing. Yeberth Martinez Programación II.
DISPARADORES Y SISTEMAS DE GESTION DE BASE DE DATOS DE SQL
También es conocido como proceso ligero. Es una entidad básica de utilización de CPU y esta formado por un contador de programa, algunos registros y una.
Bases de Datos y Sistemas de Gestión de Bases Relacionales.
Unidad 6. Tema 1. Bases de datos. Conceptos Básicos.
Administración de Base de Datos Recuperación Prof Mercy Ospina Torres
Introducción a Bases de Datos Universidad de Managua.
Bases de datos ITecnológico San Agustín1 BASES DE DATOS Conceptos Básicos Paulo César Acosta Lozano –
Bases de datos I1 BASES DE DATOS Clase 2 Conceptos Básicos Gloria Lucía Giraldo Gómez Universidad Nacional de Colombia Bloque.
Consistencia y Replicación
1 Tema 16: Servidores de Archivos y otros Conceptos Sistemas Operativos (Tema 18 en apuntes prof. Rovayo)
Transcripción de la presentación:

C ONCURRENCIA Y M ANEJO DE S ESIONES

C ONCURRENCIA Es una propiedad del sistema en el cual muchos calculos se estan ejecutando simultaneamente, y son potencialmente interactuables entre si. Las computaciones pueden ser ejecutadas en multiples nucleos en el mismo chip, hilos compartidos anticipadamente en el mismo procesador, o ejecutadas fisicamente en diferentes procesadores.

T RANSACCIONES Y CONTROL DE LA CONCURRENCIA Transacción Una transacción es una unidad de la ejecución de un programa. Puede consistir en varias operaciones de acceso a la base de datos. Está delimitada por constructoras como begintransaction y end-transaction. Es la abstraccion de una ejecucion atomica y confiable de una aplicación Una transacción es una sucesión de acciones (u operaciones)

E STADOS DE UNA TRANSACCIÓN Activa: Durante su ejecución Parcialmente comprometida: Después de ejecutar su última instrucción. Fallida: Imposible de continuar su ejecución normal. Abortada: Transacción retrocedida y base de datos restaurada al estado anterior a su ejecución. Se puede reiniciar o cancelar.

E STADOS DE UNA TRANSACCIÓN

P ROBLEMAS CON LA CONCURRENCIA LOST UPDATE El lost update (actualización perdida) ocurre cuando se pierde la actualización hecha por una transacción T1 por la acción de otra transacción T2 sobre el mismo ítem.

P ROBLEMAS CON LA CONCURRENCIA DIRTY READ El dirty read o lectura sucia ocurre cuando una transacción T2 lee un valor de un ítem dejado por otra transacción T1 que no hizo commit antes de que T2 leyera el item.

P ROPIEDADES ACID Atomicidad Es la propiedad de las transacciones que permite observarlas como operaciones atómicas: ocurren totalmente o no ocurren. Casos a considerar: - Consultas unitarias. Incluso para consultas unitarias hay que preservar la atomicidad: en un sistema operativo de tiempo compartido, la ejecución concurrente de dos consultas SQL puede ser incorrecta si no se toman las precauciones adecuadas. - Operación abortada. Por ejemplo, debido a una división por cero; por privilegios de acceso; o para evitar bloqueos

P ROPIEDADES ACID Consistencia La ejecución aislada de la transacción conserva la consistencia de la base de datos. (T transforma un estado consistente de la BD en otro estado consistente (los programas deben ser correctos))

P ROPIEDADES ACID Aislamiento Para cada par de transacciones que puedan ejecutarse concurrentemente Ti y Tj, se cumple que para los efectos de Ti: - Tj ha terminado antes de que comience Ti - Tj ha comenzado después de que termine Ti Las transacciones son independientes entre sí.

P ROPIEDADES ACID Niveles de aislamiento Lectura no comprometida. Menor nivel. Asegura que no se lean datos corruptos físicamente. Lectura comprometida. Sólo se permiten lecturas de datos comprometidos. Lectura repetible. Las lecturas repetidas de la misma fila para la misma transacción dan los mismos resultados. Secuenciable. Mayor nivel de aislamiento. Las transacciones se aíslan completamente.

P ROPIEDADES ACID Comportamiento concurrente de las transacciones. Lectura sucia. Lectura de datos no comprometidos. (Retrocesos) Lectura no repetible. Se obtienen resultados inconsistentes en lecturas repetidas. Lectura fantasma. Una lectura de una fila que no existía cuando se inició la transacción.

P ROPIEDADES ACID

Durabilidad El sistema gestor de bases de datos asegura que perduren los cambios realizados por una transacción que termina con éxito. (Las actualizaciones a la BD serán durables y públicas.)

E LEMENTOS Los elementos son las unidades de datos para los que se controla el acceso. Por ejemplo: relación, tupla, campos, bloques,... La granularidad es el tamaño de los elementos. Así, se habla de sistemas de grano fino o de grano grueso, para denotar elementos pequeños o grandes, respectivamente. A mayor granularidad, menor concurrencia. No obstante, para determinadas operaciones es interesante bloquear relaciones enteras, como con la reunión de relaciones (join).

B LOQUEOS Un bloqueo es una información del tipo de acceso que se permite a un elemento. El SGBD impone los bloqueos necesarios en cada momento. El gestor de acceso a los datos implementa las restricciones de acceso. En algunos sistemas se permite que el usuario pueda indicar el bloqueo más adecuado (locking hints).

T IPOS DE BLOQUEO read-locks: sólo permite lectura write-locks: permite lectura y escritura El gestor de bloqueos almacena los bloqueos en una tabla de bloqueos: (,, )=(E,B,T) La transacción T tiene un tipo de bloqueo B sobre el elemento E. Normalmente, E es clave, aunque no siempre, porque varias transacciones pueden bloquear el mismo elemento de forma diferente.

N IVELES DE BLOQUEO Especifica la granularidad del bloqueo Fila: Fila individual Clave: Fila de un índice Página: Páginas (8KB) Extent: Extensión (grupo de 8 páginas contiguas de datos o índices) Table: Tabla completa Database: Base de datos completa

M ODOS DE BLOQUEO Especifica el modo en que se bloquea un elemento Compartido: para operaciones sólo de lectura. Se permiten lecturas concurrentes, pero ninguna actualización. Actualización: para operaciones que pueden escribir. Sólo se permite que una transacción adquiera este bloqueo. Si la transacción modifica datos, se convierte en exclusivo, en caso contrario en compartido. Exclusivo. para operaciones que escriben datos. Sólo se permite que una transacción adquiera este bloqueo. Intención: se usan para establecer una jerarquía de bloqueo. Por ejemplo, si una transacción necesita bloqueo exclusivo y varias transacciones tienen bloqueo de intención, no se concede el exclusivo. Intención compartido. Bloqueo compartido. Intención exclusivo. Bloqueo exclusivo. Compartido con intención exclusivo. Algunos bloqueos compartidos y otros exclusivos. Esquema. para operaciones del DDL. Actualización masiva. En operaciones de actualización masiva