Este documento describe la concurrencia en bases de datos y técnicas para su manejo. Explica los problemas que puede causar la concurrencia como actualizaciones perdidas y dependencias no confirmadas. También cubre temas como la planificación de transacciones, niveles de aislamiento, serialización por conflicto y técnicas de control de concurrencia como bloqueos y marcas de tiempo.
Complementando su infraestructura de datos con soluciones basadas en Deduplic...DellLatam
Este documento describe las soluciones de deduplicación de Dell para ayudar a los clientes a enfrentar los desafíos de administración de datos que crean el rápido crecimiento de los mismos. La deduplicación elimina copias redundantes de datos para reducir los requisitos de almacenamiento y ancho de banda. Dell ofrece el dispositivo DR4000, que utiliza deduplicación y compresión para optimizar respaldos y recuperaciones. El DR4000 proporciona protección avanzada de datos y simplifica las operaciones de TI.
El documento habla sobre el método científico y la investigación. Explica que la ciencia se define como un conjunto sistemático de conocimientos sobre la realidad observable, obtenidos a través del método científico. Luego discute qué es investigar, qué y quién investiga, los requisitos de una investigación y los propósitos de investigar. Finalmente contrasta los paradigmas de investigación cuantitativa y cualitativa.
Administración de Bases de Datos - Concurrenciaednaru
Este documento trata sobre la administración de transacciones en bases de datos. Explica que las transacciones deben cumplir con las propiedades ACID para garantizar la integridad de los datos. También describe los problemas que surgen cuando las transacciones se ejecutan de forma concurrente y cómo el procesamiento serializable resuelve estos problemas al asegurar que no haya conflictos entre las operaciones de lectura y escritura de diferentes transacciones.
El documento provee una definición general de software educativo y discute su historia, características, tipologías, clasificaciones y funciones. Explica que el software educativo son programas diseñados para facilitar el proceso de enseñanza y aprendizaje. Traza la evolución histórica del software educativo desde las primeras máquinas de enseñanza en los años 1920 hasta el desarrollo del hipertexto y la web en las décadas de 1960 y 1990.
El documento describe diferentes técnicas de control de concurrencia para ejecuciones concurrentes de transacciones en una base de datos. Estas técnicas incluyen bloqueos binarios y de múltiples modos, protocolos de bloqueo de dos fases y basados en marcas temporales, los cuales permiten la ejecución concurrente de transacciones mientras se mantiene la consistencia de los datos.
El documento trata sobre conceptos fundamentales de bases de datos transaccionales como transacciones, concurrencia, historias de ejecución, serializabilidad y mecanismos de control de concurrencia. Explica que una transacción es una unidad lógica de procesamiento que incluye operaciones de lectura y escritura, y debe cumplir con las propiedades ACID. También describe problemas que surgen al procesar transacciones de forma concurrente como lecturas no repetibles, actualizaciones perdidas y lecturas sucias cuando no se garantiza la serializabilidad
The document discusses designing teams and processes to adapt to changing needs. It recommends structuring teams so members can work within their competencies and across projects fluidly with clear roles and expectations. The design process should support the team and their work, and be flexible enough to change with team, organization, and project needs. An effective team culture builds an environment where members feel free to be themselves, voice opinions, and feel supported.
Este documento presenta información sobre técnicas de recuperación de datos en sistemas de bases de datos. Explica conceptos como transacciones, tipos de fallas, recuperación basada en registro de log y doble paginación. También incluye ejemplos y diagramas para ilustrar estos temas. El objetivo es enseñar sobre mecanismos para restaurar una base de datos a un estado consistente luego de una falla.
Complementando su infraestructura de datos con soluciones basadas en Deduplic...DellLatam
Este documento describe las soluciones de deduplicación de Dell para ayudar a los clientes a enfrentar los desafíos de administración de datos que crean el rápido crecimiento de los mismos. La deduplicación elimina copias redundantes de datos para reducir los requisitos de almacenamiento y ancho de banda. Dell ofrece el dispositivo DR4000, que utiliza deduplicación y compresión para optimizar respaldos y recuperaciones. El DR4000 proporciona protección avanzada de datos y simplifica las operaciones de TI.
El documento habla sobre el método científico y la investigación. Explica que la ciencia se define como un conjunto sistemático de conocimientos sobre la realidad observable, obtenidos a través del método científico. Luego discute qué es investigar, qué y quién investiga, los requisitos de una investigación y los propósitos de investigar. Finalmente contrasta los paradigmas de investigación cuantitativa y cualitativa.
Administración de Bases de Datos - Concurrenciaednaru
Este documento trata sobre la administración de transacciones en bases de datos. Explica que las transacciones deben cumplir con las propiedades ACID para garantizar la integridad de los datos. También describe los problemas que surgen cuando las transacciones se ejecutan de forma concurrente y cómo el procesamiento serializable resuelve estos problemas al asegurar que no haya conflictos entre las operaciones de lectura y escritura de diferentes transacciones.
El documento provee una definición general de software educativo y discute su historia, características, tipologías, clasificaciones y funciones. Explica que el software educativo son programas diseñados para facilitar el proceso de enseñanza y aprendizaje. Traza la evolución histórica del software educativo desde las primeras máquinas de enseñanza en los años 1920 hasta el desarrollo del hipertexto y la web en las décadas de 1960 y 1990.
El documento describe diferentes técnicas de control de concurrencia para ejecuciones concurrentes de transacciones en una base de datos. Estas técnicas incluyen bloqueos binarios y de múltiples modos, protocolos de bloqueo de dos fases y basados en marcas temporales, los cuales permiten la ejecución concurrente de transacciones mientras se mantiene la consistencia de los datos.
El documento trata sobre conceptos fundamentales de bases de datos transaccionales como transacciones, concurrencia, historias de ejecución, serializabilidad y mecanismos de control de concurrencia. Explica que una transacción es una unidad lógica de procesamiento que incluye operaciones de lectura y escritura, y debe cumplir con las propiedades ACID. También describe problemas que surgen al procesar transacciones de forma concurrente como lecturas no repetibles, actualizaciones perdidas y lecturas sucias cuando no se garantiza la serializabilidad
The document discusses designing teams and processes to adapt to changing needs. It recommends structuring teams so members can work within their competencies and across projects fluidly with clear roles and expectations. The design process should support the team and their work, and be flexible enough to change with team, organization, and project needs. An effective team culture builds an environment where members feel free to be themselves, voice opinions, and feel supported.
Este documento presenta información sobre técnicas de recuperación de datos en sistemas de bases de datos. Explica conceptos como transacciones, tipos de fallas, recuperación basada en registro de log y doble paginación. También incluye ejemplos y diagramas para ilustrar estos temas. El objetivo es enseñar sobre mecanismos para restaurar una base de datos a un estado consistente luego de una falla.
Este documento trata sobre la concurrencia de transacciones en bases de datos. Explica diferentes técnicas de control de concurrencia como bloqueos pesimistas y optimistas, y protocolos como de bloqueo a dos fases. También cubre temas como prevención y detección de interbloqueos usando marcas de tiempo. El objetivo es garantizar la serializabilidad de las transacciones concurrentes.
Este documento trata sobre la concurrencia de transacciones en bases de datos. Explica los problemas que puede causar la concurrencia, como la actualización perdida o la dependencia no confirmada. Luego describe técnicas de control de concurrencia como bloqueos pesimistas, marcas de tiempo y validación para garantizar la seriabilidad de las transacciones concurrentes. Finalmente, presenta un caso práctico para ilustrar estas técnicas.
Este documento trata sobre la integridad de datos en bases de datos. Explica los diferentes tipos de reglas de integridad como las de dominio, relación y transición. También cubre las reglas de integridad en SQL como las restricciones de datos requeridos, de entidad, referenciales y generales como las comprobaciones y aserciones. Por último, describe los disparadores o triggers que son procedimientos que se ejecutan automáticamente ante cambios en la base de datos.
Este documento presenta una introducción a la seguridad de datos en bases de datos. Cubre conceptos clave como integridad, autenticidad, confidencialidad y disponibilidad. También discute amenazas comunes a los datos, políticas de seguridad, medidas de control como el control de acceso, y modelos de seguridad como MAC, DAC y RBAC. Finalmente, revisa aspectos legales, de buenas prácticas y tendencias en seguridad de datos. El objetivo parece ser proporcionar a los estudiantes una visión general de los principios y temas
Este documento presenta los objetivos y agenda de un curso sobre seguridad de datos en bases de datos. La profesora Mercy Ospina revisará conceptos básicos de seguridad, amenazas a los datos, medidas de control, políticas de seguridad, modelos de seguridad, buenas prácticas y tendencias. El curso cubrirá temas como encriptación, control de acceso, prevención de fugas de datos, seguridad en la nube y para Internet de las Cosas.
Este documento presenta una clase sobre administración de bases de datos. Incluye objetivos, una revisión de conceptos clave de la clase anterior, una agenda con temas a cubrir e información sobre organizaciones de archivos, índices y árboles B y B+. También contiene ejercicios para practicar los conceptos.
El Administra de BD debe conocer como se organizan los archivos de datos para tener criterios de selección de la organización que incida en el rendimiento de la Base de Datos
Este documento describe los conceptos básicos de administración de bases de datos, incluyendo los componentes de un SGBD, las organizaciones de archivos (secuencial, directa e indexada), y los costos asociados con diferentes vías de acceso a los datos. También explica la jerarquía de memorias, el acceso a la base de datos a través de los manejadores de archivos y disco, y los tipos y características de archivos de datos.
Este documento presenta una introducción al modelo de datos NoSQL y MongoDB. Explica que MongoDB usa un modelo de datos de documentos donde cada documento se almacena como un objeto JSON. También describe los patrones comunes de modelado de datos y relaciones, y las operaciones y consultas básicas en MongoDB como CRUD y los diferentes tipos de índices. Finalmente, brinda una visión general de la arquitectura y réplica de MongoDB.
Este documento presenta una introducción al modelo de datos clave-valor. Explica que este modelo asocia claves con valores de forma eficiente, permitiendo el acceso rápido a los elementos almacenados mediante una clave. También describe algunas técnicas comunes como el hashing consistente para la distribución de datos en sistemas distribuidos, y presenta Redis como un caso de estudio, explicando sus operaciones, arquitectura, replicación y usos comunes.
Este documento presenta información sobre técnicas de bases de datos NoSQL como la disponibilidad, el consenso, la partición y la replicación. Explica el modelo de ordenación con marcas de tiempo multiversión MVCC de Reed, incluyendo cómo se manejan las lecturas y escrituras. También cubre algoritmos de elección como el anillo y el matón, y protocolos de consenso como Paxos, incluyendo sus roles, fases y propiedades. Por último, revisa modelos de replicación como el síncrono, asíncrono, copia primaria
El documento presenta diferentes técnicas para el control de concurrencia en bases de datos NoSQL, incluyendo exclusion mutua distribuida, bloqueos, control optimista de concurrencia y ordenación por marcas de tiempo. Explica algoritmos como Ricart-Agrawala y Maekawa para exclusión mutua distribuida, y el uso de marcas de tiempo multiversión (MVCC) para permitir lecturas concurrentes sin bloqueos. También cubre elección de líderes mediante algoritmos basados en anillos ante la caída del coordinador.
Este documento presenta conceptos fundamentales sobre sistemas distribuidos, incluyendo:
1) Se define un modelo de sistema distribuido como un sistema de transición de estados compuesto por nodos con procesos secuenciales y canales de comunicación.
2) Se describen diferentes técnicas para ordenar eventos en sistemas distribuidos como relaciones causales, relojes lógicos de Lamport y relojes vectoriales.
3) Se explican algoritmos para sincronizar relojes físicos como los de Christian y Berkeley para lograr consistencia en ausencia
Este documento presenta conceptos básicos sobre sistemas distribuidos, incluyendo definiciones de sistemas distribuidos, arquitecturas físicas y tipos, cloud computing, fragmentación y replicación de datos, y el paradigma MapReduce. También describe características de sistemas distribuidos como transparencia, niveles de transparencia, y tipos de sistemas distribuidos como clústeres y P2P.
Este documento presenta conceptos básicos sobre bases de datos NoSQL. Explica el movimiento NoSQL y cómo surgió para satisfacer las necesidades de escalabilidad de aplicaciones con grandes volúmenes de datos. También introduce el Teorema CAP, que establece que un sistema distribuido solo puede proporcionar dos de las siguientes tres propiedades: consistencia, disponibilidad y tolerancia a particiones. Además, contrasta las propiedades ACID de las bases de datos relacionales con las propiedades BASE más flexibles de las bases de datos NoSQL.
Este documento describe varios conceptos y métodos relacionados con la administración y optimización de consultas en bases de datos, incluyendo el modelo de costos, el cálculo del espacio en disco requerido por las relaciones, y el costo de operadores lógicos como selección, proyección y unión. Explica cómo estimar los costos de acceso a disco, CPU y memoria para diferentes planes de ejecución de consultas.
Este documento describe varios temas relacionados con el procesamiento y optimización de consultas en bases de datos, incluyendo cómo se traducen las consultas SQL a álgebra relacional, los diferentes tipos de árboles de ejecución, y las técnicas para optimizar consultas como las basadas en heurísticas y costos. También explica conceptos como el modelo de costo, los factores de selectividad, y los costos de los operadores del álgebra relacional.
Este documento trata sobre el procesamiento y optimización de consultas en bases de datos. Explica los pasos involucrados en procesar una consulta, incluyendo la traducción a álgebra relacional, la optimización y generación de un plan de ejecución, y la ejecución final. También describe conceptos clave como los operadores del álgebra relacional y cómo se construye un árbol de ejecución para representar una consulta. El objetivo es que los estudiantes aprendan a traducir consultas SQL a álgebra relacional, optimizar consultas
El documento describe las funciones del administrador de base de datos (DBA), incluyendo administrar la estructura y actividad de los datos, establecer el diccionario de datos, y administrar el sistema manejador de base de datos. También explica los componentes del sistema manejador de base de datos como el manejador de archivos y manejador de disco, y cómo estos manejan el acceso a los datos almacenados en la base de datos. Finalmente, detalla conceptos como los tipos de memoria, organiz
El documento trata sobre la organización y manejo de la memoria en una base de datos. Explica diferentes tipos de organizaciones de archivos como la secuencial indexada, directa indexada y multinivel, así como tipos de índices primarios, agrupados y secundarios. Además, describe cómo se almacenan y enlazan los registros en los archivos de datos e índices.
Este documento trata sobre la concurrencia de transacciones en bases de datos. Explica diferentes técnicas de control de concurrencia como bloqueos pesimistas y optimistas, y protocolos como de bloqueo a dos fases. También cubre temas como prevención y detección de interbloqueos usando marcas de tiempo. El objetivo es garantizar la serializabilidad de las transacciones concurrentes.
Este documento trata sobre la concurrencia de transacciones en bases de datos. Explica los problemas que puede causar la concurrencia, como la actualización perdida o la dependencia no confirmada. Luego describe técnicas de control de concurrencia como bloqueos pesimistas, marcas de tiempo y validación para garantizar la seriabilidad de las transacciones concurrentes. Finalmente, presenta un caso práctico para ilustrar estas técnicas.
Este documento trata sobre la integridad de datos en bases de datos. Explica los diferentes tipos de reglas de integridad como las de dominio, relación y transición. También cubre las reglas de integridad en SQL como las restricciones de datos requeridos, de entidad, referenciales y generales como las comprobaciones y aserciones. Por último, describe los disparadores o triggers que son procedimientos que se ejecutan automáticamente ante cambios en la base de datos.
Este documento presenta una introducción a la seguridad de datos en bases de datos. Cubre conceptos clave como integridad, autenticidad, confidencialidad y disponibilidad. También discute amenazas comunes a los datos, políticas de seguridad, medidas de control como el control de acceso, y modelos de seguridad como MAC, DAC y RBAC. Finalmente, revisa aspectos legales, de buenas prácticas y tendencias en seguridad de datos. El objetivo parece ser proporcionar a los estudiantes una visión general de los principios y temas
Este documento presenta los objetivos y agenda de un curso sobre seguridad de datos en bases de datos. La profesora Mercy Ospina revisará conceptos básicos de seguridad, amenazas a los datos, medidas de control, políticas de seguridad, modelos de seguridad, buenas prácticas y tendencias. El curso cubrirá temas como encriptación, control de acceso, prevención de fugas de datos, seguridad en la nube y para Internet de las Cosas.
Este documento presenta una clase sobre administración de bases de datos. Incluye objetivos, una revisión de conceptos clave de la clase anterior, una agenda con temas a cubrir e información sobre organizaciones de archivos, índices y árboles B y B+. También contiene ejercicios para practicar los conceptos.
El Administra de BD debe conocer como se organizan los archivos de datos para tener criterios de selección de la organización que incida en el rendimiento de la Base de Datos
Este documento describe los conceptos básicos de administración de bases de datos, incluyendo los componentes de un SGBD, las organizaciones de archivos (secuencial, directa e indexada), y los costos asociados con diferentes vías de acceso a los datos. También explica la jerarquía de memorias, el acceso a la base de datos a través de los manejadores de archivos y disco, y los tipos y características de archivos de datos.
Este documento presenta una introducción al modelo de datos NoSQL y MongoDB. Explica que MongoDB usa un modelo de datos de documentos donde cada documento se almacena como un objeto JSON. También describe los patrones comunes de modelado de datos y relaciones, y las operaciones y consultas básicas en MongoDB como CRUD y los diferentes tipos de índices. Finalmente, brinda una visión general de la arquitectura y réplica de MongoDB.
Este documento presenta una introducción al modelo de datos clave-valor. Explica que este modelo asocia claves con valores de forma eficiente, permitiendo el acceso rápido a los elementos almacenados mediante una clave. También describe algunas técnicas comunes como el hashing consistente para la distribución de datos en sistemas distribuidos, y presenta Redis como un caso de estudio, explicando sus operaciones, arquitectura, replicación y usos comunes.
Este documento presenta información sobre técnicas de bases de datos NoSQL como la disponibilidad, el consenso, la partición y la replicación. Explica el modelo de ordenación con marcas de tiempo multiversión MVCC de Reed, incluyendo cómo se manejan las lecturas y escrituras. También cubre algoritmos de elección como el anillo y el matón, y protocolos de consenso como Paxos, incluyendo sus roles, fases y propiedades. Por último, revisa modelos de replicación como el síncrono, asíncrono, copia primaria
El documento presenta diferentes técnicas para el control de concurrencia en bases de datos NoSQL, incluyendo exclusion mutua distribuida, bloqueos, control optimista de concurrencia y ordenación por marcas de tiempo. Explica algoritmos como Ricart-Agrawala y Maekawa para exclusión mutua distribuida, y el uso de marcas de tiempo multiversión (MVCC) para permitir lecturas concurrentes sin bloqueos. También cubre elección de líderes mediante algoritmos basados en anillos ante la caída del coordinador.
Este documento presenta conceptos fundamentales sobre sistemas distribuidos, incluyendo:
1) Se define un modelo de sistema distribuido como un sistema de transición de estados compuesto por nodos con procesos secuenciales y canales de comunicación.
2) Se describen diferentes técnicas para ordenar eventos en sistemas distribuidos como relaciones causales, relojes lógicos de Lamport y relojes vectoriales.
3) Se explican algoritmos para sincronizar relojes físicos como los de Christian y Berkeley para lograr consistencia en ausencia
Este documento presenta conceptos básicos sobre sistemas distribuidos, incluyendo definiciones de sistemas distribuidos, arquitecturas físicas y tipos, cloud computing, fragmentación y replicación de datos, y el paradigma MapReduce. También describe características de sistemas distribuidos como transparencia, niveles de transparencia, y tipos de sistemas distribuidos como clústeres y P2P.
Este documento presenta conceptos básicos sobre bases de datos NoSQL. Explica el movimiento NoSQL y cómo surgió para satisfacer las necesidades de escalabilidad de aplicaciones con grandes volúmenes de datos. También introduce el Teorema CAP, que establece que un sistema distribuido solo puede proporcionar dos de las siguientes tres propiedades: consistencia, disponibilidad y tolerancia a particiones. Además, contrasta las propiedades ACID de las bases de datos relacionales con las propiedades BASE más flexibles de las bases de datos NoSQL.
Este documento describe varios conceptos y métodos relacionados con la administración y optimización de consultas en bases de datos, incluyendo el modelo de costos, el cálculo del espacio en disco requerido por las relaciones, y el costo de operadores lógicos como selección, proyección y unión. Explica cómo estimar los costos de acceso a disco, CPU y memoria para diferentes planes de ejecución de consultas.
Este documento describe varios temas relacionados con el procesamiento y optimización de consultas en bases de datos, incluyendo cómo se traducen las consultas SQL a álgebra relacional, los diferentes tipos de árboles de ejecución, y las técnicas para optimizar consultas como las basadas en heurísticas y costos. También explica conceptos como el modelo de costo, los factores de selectividad, y los costos de los operadores del álgebra relacional.
Este documento trata sobre el procesamiento y optimización de consultas en bases de datos. Explica los pasos involucrados en procesar una consulta, incluyendo la traducción a álgebra relacional, la optimización y generación de un plan de ejecución, y la ejecución final. También describe conceptos clave como los operadores del álgebra relacional y cómo se construye un árbol de ejecución para representar una consulta. El objetivo es que los estudiantes aprendan a traducir consultas SQL a álgebra relacional, optimizar consultas
El documento describe las funciones del administrador de base de datos (DBA), incluyendo administrar la estructura y actividad de los datos, establecer el diccionario de datos, y administrar el sistema manejador de base de datos. También explica los componentes del sistema manejador de base de datos como el manejador de archivos y manejador de disco, y cómo estos manejan el acceso a los datos almacenados en la base de datos. Finalmente, detalla conceptos como los tipos de memoria, organiz
El documento trata sobre la organización y manejo de la memoria en una base de datos. Explica diferentes tipos de organizaciones de archivos como la secuencial indexada, directa indexada y multinivel, así como tipos de índices primarios, agrupados y secundarios. Además, describe cómo se almacenan y enlazan los registros en los archivos de datos e índices.
1. Administración de Base de Datos
Concurrencia
Prof Mercy Ospina Torres
mercy.ospinat@gmail.com
Prof Renny A. Hernandez
renny.hernandez@ciens.ucv.ve
2. Contenido
El DBA • Qué es la concurrencia en BD
El SMBD
• Problemas que ocasiona la concurrencia
Manejo de Memoria
• Planificación de transacciones
– Planificación serial o secuencial
Restauración
– Precedencia
Concurrencia
Concurrencia – Seriabilidad
Diccionario Datos – Serialización por conflicto
Proc. Consultas • Técnicas de control de concurrencia
– Pesimistas
Integridad
• Bloqueos
Seguridad • Marcas de tiempo
– Optimistas
Marzo 2012 Administración de Base de Datos 2
3. Concurrencia
¿Qué es la concurrencia en BD?
El DBA
• Coordinación de la ejecución simultanea de
El SMBD
transacciones en un SBD que soporta
Manejo de Memoria multiprocesamiento
Restauración Ventajas
Concurrencia
Concurrencia
• Aumenta la productividad por la mejor utilización
de los recursos y produce que el tiempo de espera
Diccionario Datos
de los usuarios se reduzca en promedio.
Proc. Consultas
• Una transacción individual producirá un estado
Integridad correcto en la BD si se ejecuta de forma aislada
Seguridad
Marzo 2012 Administración de Base de Datos 3
4. Concurrencia
Problemas
El DBA
• Cuando se ejecutan transacciones de manera
El SMBD
concurrente puede haber interferencias entre ellas
Manejo de Memoria que produzcan resultados no correctos, debido a
que no se cumple completamente la propiedad de
Restauración
aislamiento
Concurrencia
Concurrencia
Diccionario Datos
Proc. Consultas
Integridad
Seguridad
Marzo 2012 Administración de Base de Datos 4
5. Problemas
• Actualización perdida
El DBA
T1 Tiempo T2 X
El SMBD
1. Ambas
T1 FIND X 100 transacciones
Manejo de Memoria
FIND X T2 100 guardan su copia
Restauración T3 X = X+100 100 de X
2. T1 y T2 realizan
X=X-10 T4 100 modificaciones
Concurrencia
Concurrencia
T5 UPDATE X 200
200 diferentes en X
Diccionario Datos UPDATE X T6 90
90 3. T2 actualiza su
T7 COMMIT 90 valor en
Proc. Consultas COMMIT T8 90 memoria
principal
Integridad 4. T2 actualiza y se
pierde la
Seguridad actualizacion de
T1
Marzo 2012 Administración de Base de Datos 5
6. Problemas
• Dependencia no confirmada
El DBA
T1 Tiempo T2 X
El SMBD
1. T2 actualiza X a
T1 FIND X 100 200
Manejo de Memoria
T2 X = X+100 100 2. T1 lee el nuevo
Restauración T3 UPDATE X 200
100 valor de X
3. T2 hace rollback
FIND X T4 200 por lo que la
Concurrencia
Concurrencia
X=X-10 T5 200 actualización se
Diccionario Datos T6 ROLLBACK 100
90 deshace
UPDATE X T7 90
190 4. T1 continua
Proc. Consultas COMMIT T8 190 trabajando con
el valor
Integridad actualizado por
lo que el nuevo
Seguridad valor de X es
incorrecto
Marzo 2012 Administración de Base de Datos 6
7. Problemas
El DBA • Otros problemas
– Suma incorrecta: Si una transacción está
El SMBD
calculando una suma sobre varios registros ,
Manejo de Memoria mientras otras transacciones están actualizando
algunos de estos registros , la función suma puede
Restauración tomar algunos valores antes de que sean
actualizados y otros después de ser actualizados .
Concurrencia
Concurrencia
– Lectura irrepetible: En dos lecturas sucesivas de
Diccionario Datos un elemento, la transacción Ti recibe respuestas
Proc. Consultas
distintas.
Integridad
Seguridad
Marzo 2012 Administración de Base de Datos 7
8. Planificación de transacciones
El DBA • Para n transacciones T1, T2, .. Tn, una
planificación:
El SMBD
– Representa el orden cronológico en el que se
Manejo de Memoria
ejecutan las instrucciones de dichas transacciones
en el sistema.
Restauración
– La secuencia debe conservar el orden dentro de
Concurrencia
Concurrencia cada transacción individual.
Diccionario Datos
• Una planificación puede ser:
Proc. Consultas – Secuencial (o serial)
Integridad – Concurrente
Seguridad • Serializable
• No serializable
Marzo 2012 Administración de Base de Datos 8
9. Planificación de transacciones
El DBA
• Dadas las siguientes transacciones
El SMBD
Manejo de Memoria
Restauración
Concurrencia
Concurrencia
Diccionario Datos
Proc. Consultas
Integridad
Seguridad
Marzo 2012 Administración de Base de Datos 9
10. Planificación de transacciones
El DBA • Planificaciones secuenciales
El SMBD
Manejo de Memoria
Restauración
Concurrencia
Concurrencia
Diccionario Datos
Proc. Consultas
– Cada transacción se ejecuta completamente
Integridad
antes de la siguiente.
Seguridad
– Para un conjunto de n transacciones hay n!
planificaciones secuenciales
Marzo 2012 Administración de Base de Datos 10
11. Planificación de transacciones
El DBA • Pero se pueden definir un número m>>n!
de planificaciones concurrentes
El SMBD
T1 T2
Planificaciones
Manejo de Memoria
FIND X
X = X – 50
Restauración FIND X Planificaciones
TEMP = A*0,1 concurrentes
Concurrencia
Concurrencia UPDATE X
FIND Y
Diccionario Datos A=A – TEMP
UPDATE A
Proc. Consultas FIND Y
Y = Y + 50
Integridad UPDATE Y
Y = Y + TEM
Seguridad UPDATE Y
Planificaciones
secuenciales
Marzo 2012 Administración de Base de Datos 11
12. Planificación de transacciones
El DBA • Para que una planificación concurrente
sea correcta
El SMBD
– Debe tener el mismo efecto que una
Manejo de Memoria
planificación secuencial
Restauración
Concurrencia
Concurrencia
Planificación serializable
Diccionario Datos
– Es una planificación concurrente, equivalente
Proc. Consultas
a una secuencial
Integridad
Seguridad
Marzo 2012 Administración de Base de Datos 12
13. Planificación de transacciones
El DBA Clasificación de Planificaciones
El SMBD Planificaciones
Manejo de Memoria concurrentes
Restauración
Concurrencia
Concurrencia
Diccionario Datos
Planificaciones
Proc. Consultas serializables
Integridad
Seguridad Planificaciones
secuenciales
Marzo 2012 Administración de Base de Datos 13
14. Niveles de aislamiento
El DBA • Determina el tipo de problema que el
sistema puede tolerar entre transacciones
El SMBD
Manejo de Memoria
Nivel de Lectura sucia Lectura Actualización
aislamiento irrepetible fantasma
Restauración
READ Si Si Si
UNCOMMITED
Concurrencia
Concurrencia
READ No Si Si
Diccionario Datos COMMITED
Proc. Consultas
REPEATABLE No No Si
READ
Integridad SERIALIZABLE No No No
Seguridad
Marzo 2012 Administración de Base de Datos 14
15. Planificación de transacciones
El DBA • ¿Cómo saber si una planificación es
serializable?
El SMBD
– Precedencia: Se tiene que una transacción TA
Manejo de Memoria
precede a una transacción TB si TB ve un dato
Restauración que TA modificó o si TA ve un dato que TB
modificará y se denota TA TB.
Concurrencia
Concurrencia
– Seriabilidad: Proceso de determinar que una
Diccionario Datos planificación concurrente es equivalente a una
Proc. Consultas secuencial, es decir si TA TB o TB TA
Integridad
Seguridad
Marzo 2012 Administración de Base de Datos 15
16. Planificación de transacciones
El DBA • Serialización por conflictos
El SMBD
– Se tienen dos instrucciones Ii e Ij,
pertenecientes a las transacciones Ti y Tj
Manejo de Memoria
respectivamente (i ≠ j)
Restauración – Si Ii e Ij se refieren a distintos elementos
de datos no están en conflicto y pueden ir
Concurrencia
Concurrencia
en cualquier orden
Diccionario Datos
– Si Ii e Ij se refieren al mismo elemento,
Proc. Consultas entonces el orden es importante y se deben
considerar cuatro casos:
Integridad
Seguridad
Marzo 2012 Administración de Base de Datos 16
17. Planificación de transacciones
El DBA • Serialización por conflictos
El SMBD
– Casos
a) Ii = FIND (Q), Ij= FIND (Q):
Manejo de Memoria
El orden de Ii e Ij no importa puesto que leen el mismo
valor de Q.
Restauración
b) Ii= FIND(Q), Ij = UPDATE (Q):
Concurrencia
Concurrencia Si Ii esta antes que Ij, entonces Ti lee un valor que Tj
modificará (Ti Tj) en caso contrario Ti lee un valor que Tj
Diccionario Datos modificó (Tj Ti).
Proc. Consultas c) Ij = FIND (Q), Ii = UPDATE (Q):
Igual al caso anterior.
Integridad
d) Ii = UPDATE (Q), Ij = UPDATE (Q):
Seguridad
No afecta ni a Ti ni a Tj, sin embargo el valor que obtendrá
la siguiente instrucción FIND (Q) si se ve afectado.
Marzo 2012 Administración de Base de Datos 17
18. Planificación de transacciones
El DBA • Serialización por conflictos
El SMBD
Manejo de Memoria
Se dice entonces que dos
instrucciones Ii e Ij están en conflicto
Restauración
si son de distintas transacciones,
Concurrencia
Concurrencia
operan sobre el mismo elemento de
datos, y al menos una de ellas
Diccionario Datos actualiza dicho dato.
Proc. Consultas
Integridad
Seguridad
Marzo 2012 Administración de Base de Datos 18
19. Planificación de transacciones
El DBA • Grafo de precedencia
El SMBD
– Determina si una planificación es serializable
por conflicto
Manejo de Memoria
– Cada transacción es un nodo
Restauración – Los arcos determinan la precedencia,
determinada por los conflictos definidos antes
Concurrencia
Concurrencia
– Si existe un ciclo, la planificación no es
Diccionario Datos serializable
Proc. Consultas
Integridad
Seguridad
Marzo 2012 Administración de Base de Datos 19
20. Planificación de transacciones
El DBA • Algoritmo para hacer el grafo de
precedencia
El SMBD
a) Cada vez que Ti ejecute UPDATE(Q) antes de
Manejo de Memoria
que Tj ejecute FIND(Q) crear un arco de Ti a
Restauración Tj (Ti Tj).
b) Cada vez que Ti ejecute UPDATE(Q) después
Concurrencia
Concurrencia
de que Tj ejecute FIND(Q) crear un arco de Tj
Diccionario Datos a Ti (Tj Ti).
Proc. Consultas c) Cada vez que Ti ejecute UPDATE(Q) antes de
que Tj ejecute UPDATE(Q) crear un arco de Ti
Integridad
a Tj, (Ti Tj).
Seguridad
Marzo 2012 Administración de Base de Datos 20
21. Planificación de transacciones
El DBA • Ejemplo
Y
El SMBD T1 T2 T3
FIND(Z) T1 T2
Manejo de Memoria
FIND(Y) X
UPDATE(Y) Y, Z
Restauración FIND(Y)
FIND(Z)
Y T3
Concurrencia
Concurrencia FIND(X)
UPDATE(X)
Diccionario Datos UPDATE(Y)
UPDATE(Z)
Proc. Consultas FIND(X)
FIND(Y)
Integridad UPDATE(Y) Hay un ciclo -> no es
UPDATE(X) serializable
Seguridad
Marzo 2012 Administración de Base de Datos 21
22. Técnicas de control de
concurrencia
El DBA • Su objetivo es garantizar que la ejecución
de un conjunto de transacciones sea
El SMBD
serializable
Manejo de Memoria
– Bloqueos
– Marcas de tiempo Pesimistas
Restauración
Concurrencia
– Validación Optimistas
Concurrencia
Diccionario Datos
– Pesimistas: Se garantiza la seriabilidad antes
Proc. Consultas de la ejecución
Integridad – Optimistas: Se ejecuta y luego se verifica si la
ejecución es serializable
Seguridad
Marzo 2012 Administración de Base de Datos 22
23. Técnicas de control de
concurrencia
El DBA • Bloqueo: técnica que regula el acceso
concurrente a objetos compartidos (buffer
El SMBD
de datos)
Manejo de Memoria
– Granularidad: pueden aplicarse a diferentes
Restauración unidades de dato
Base de
Concurrencia
Concurrencia datos
Diccionario Datos Tabla
Proc. Consultas
Registro Grano mas fino
Integridad Mayor concurrencia
Mayor posibilidades de
Seguridad Campo interbloqueo
Mas costos de manejo
de concurrencia
Marzo 2012 Administración de Base de Datos 23
24. Técnicas de control de
concurrencia
El DBA • Tipos de Bloqueo
– Bloqueo exclusivo (Protocolo: PX)
El SMBD
Memoria principal Área de trabajo de Ti
Manejo de Memoria
Restauración R Ri
Concurrencia
Concurrencia
B
Diccionario Datos Ti: XFIND(R)
Proc. Consultas
Manejador de
Integridad concurrencia
Seguridad
Tj, …Tn
Cola de espera
Marzo 2012 Administración de Base de Datos 24
25. Técnicas de control de
concurrencia
Transacción 1 Tiempo Transacción 2
El DBA
XFIND(R) 1
COPY R.F INTO
El SMBD
ATEMP
Manejo de Memoria
2 XFIND R
Restauración UPDATE R: 3 wait
REPLACE R.F
Concurrencia BY ATEMP + 1
XRELEASE R 4
Diccionario Datos
5 (reinicia XFIND R)
Proc. Consultas COPY R.F INTO
BTEMP
Integridad
6 UPDATE R:
Seguridad REPLACE R.F
BY 2*BTEMP
7 XRELEASE R
Marzo 2012 Administración de Base de Datos 25
26. Técnicas de control de
concurrencia
El DBA • Tipos de Bloqueo
– Bloqueo Compartido (Protocolo: PS)
El SMBD
Memoria principal Área de trabajo de Ti
Manejo de Memoria
Área de
Restauración R Ri trabajo de Ts
Concurrencia
Concurrencia
B
Diccionario Datos Ti: SFIND(R)
Proc. Consultas Ts: SFIND(R)
Manejador de
Integridad concurrencia
Seguridad
Tj, …Tn
Cola de espera Bloqueo Exclusivo
Marzo 2012 Administración de Base de Datos 26
27. Técnicas de control de
concurrencia
ACC1 = 40 ACC2 = 50 ACC3 = 30
El DBA Transacción 1 Tiempo Transacción 2
SFIND ACC1 1
El SMBD SUM = SUM + ACC1 (40)
Manejo de Memoria SFIND ACC2 2
SUM = SUM + ACC2 (90)
Restauración
3
Concurrencia 4 XFIND ACC3
UPD ACC3:
Diccionario Datos ACC3 = ACC3 – 10
SFIND ACC3 5
Proc. Consultas WAIT
6 RELEASE ACC3
Integridad SFIND ACC1
7 COMMIT
Seguridad
SUM = SUM + ACC3 8
(110)
Marzo 2012 Administración de Base de Datos 27
28. Técnicas de control de
concurrencia
ACC1 = 40 ACC2 = 50 ACC3 = 30
El DBA Transacción 1 Tiempo Transacción 2
SFIND ACC1 1
El SMBD SUM = SUM + ACC1
Manejo de Memoria SFIND ACC2 2
SUM = SUM + ACC2
Restauración
3 SFIND ACC3
XUPDXACC3:
Concurrencia ACC3 = ACC3 – 10
4 SFIND ACC1
Diccionario Datos
Proc. Consultas 5 XUPD ACC1
wait
Integridad SFIND ACC3 6 wait
Wait
Seguridad wait 7 wait
8
Interbloqueo
Marzo 2012 Administración de Base de Datos 28
29. Técnicas de control de
concurrencia
El DBA • Tipos de Bloqueo
– Bloqueo de Actualización (Protocolo: PU)
El SMBD
Memoria principal Área de trabajo de Ti
Manejo de Memoria
Área de
Restauración R Ri trabajo de Ts
Concurrencia
Concurrencia
B
Diccionario Datos Ti: UFIND(R)
Proc. Consultas Ts: SFIND(R)
Manejador de
Integridad concurrencia
To, …Tq
Seguridad
Tj, …Tn
Cola de espera Bloqueo
de actualización Cola de espera Bloqueo Exclusivo
Marzo 2012 Administración de Base de Datos 29
30. Técnicas de control de
concurrencia
El DBA Transacción 1 Tiempo Transacción 2
El SMBD SFIND R 1
COPY R.F INTO A.TEMP
Manejo de Memoria
2 SFIND R
COPY R.F INTO B.TEMP
Restauración
XUPD R 3
Concurrencia Wait
Wait 4 XUPD R
Diccionario Datos wait wait
wait wait
Proc. Consultas
wait 5 wait
Integridad
wait 6 wait
Seguridad wait
Interbloqueo
Marzo 2012 Administración de Base de Datos 30
31. Técnicas de control de
concurrencia
El DBA Transacción 1 Tiempo Transacción 2
El SMBD UFIND R 1
COPY R.F INTO A.TEMP
Manejo de Memoria
2 UFIND R
Wait
Restauración
UPDX R 3 Wait
Concurrencia REPLACE R.F
By ATEMP +1
Diccionario Datos COMMIT 4 REINICIA
Copy R.F into B.temp
UPD R:
Proc. Consultas
Replace R.F
By B.temp + 1
Integridad
5 COMMIT
Seguridad 6
Marzo 2012 Administración de Base de Datos 31
32. Técnicas de control de
concurrencia
El DBA • Conversión de bloqueos:
– Una transacción que ya posee un bloqueo de un
El SMBD
tipo puede, bajo ciertas condiciones, convertir
Manejo de Memoria su bloqueo a otro
Promoción: Convertir un
Restauración bloqueo a otro mas restrictivo
Concurrencia
Concurrencia SFIND (R)
Diccionario Datos
XUPDATE (R)
Proc. Consultas
UFIND (R)
Integridad
Seguridad Cualquier transacción que intente actualizar un registro
debe promover el bloqueo a exclusivo (si no lo tiene)
Marzo 2012 Administración de Base de Datos 32
33. Técnicas de control de
concurrencia
El DBA • Matriz de compatibilidad de bloqueos
El SMBD
T1T2 X S U
Manejo de Memoria
X No No No
Restauración S No Si Si
Concurrencia
Concurrencia
U No Si No
Diccionario Datos
Proc. Consultas
Integridad
Seguridad
Marzo 2012 Administración de Base de Datos 33
34. Técnicas de control de
concurrencia
T1 T2
El DBA • Ejemplo SFIND X
X = X – 50
El SMBD SFIND X
TEMP = X*0,1
Manejo de Memoria XUPDATE X
X=X – TEMP
Restauración
XUPDATE X
(wait)
Concurrencia
Concurrencia RELEASE(X) ¿Qué pasa si T1 hace
SFIND Y Rollback
Diccionario Datos XUPDATE X
RELEASE X
Proc. Consultas
Y = Y + 50
Integridad XUPDATE Y
RELEASE Y Dependencia no
Seguridad SFIND Y confirmada
Y=Y+2
XUPDATE Y
(wait)
Marzo 2012 Administración de Base de Datos 34
35. Técnicas de control de
concurrencia
El DBA • Protocolo de bloqueo a dos fases
– En los protocolos anteriores, si se libera un
El SMBD
dato que es actualizado, antes de que la
Manejo de Memoria transacción termine, un ROLLBACK puede
producir una “dependencia no confirmada”
Restauración
– Teorema: Si todas las transacciones siguen las
Concurrencia
Concurrencia siguientes reglas cumplen el bloqueo a 2 fases
Diccionario Datos
a) Antes de operar sobre cualquier elemento de
datos la transacción debe adquirir un bloqueo
Proc. Consultas sobre este dato.
b) Después de liberar un bloqueo, la transacción no
Integridad
adquiere ningún otro bloqueo.
Seguridad
Marzo 2012 Administración de Base de Datos 35
36. Técnicas de control de
concurrencia
El DBA • Protocolo de bloqueo a dos fases
– Fase de crecimiento: la transacción adquiere
El SMBD
los bloqueos
Manejo de Memoria
– Fase de decrecimiento: la transacción libera los
bloqueos
Restauración Orden de
precedencia
Concurrencia
Concurrencia Fase T1 T2 T3 Fase
crecimiento decrecimiento
Diccionario Datos
Proc. Consultas T. activa
Integridad
Seguridad
t1 t2 t3
Marzo 2012 Administración de Base de Datos 36
37. Técnicas de control de
concurrencia
El DBA • Protocolos
– PXC: Protocolo Exclusivo con bloqueo a 2 fases
El SMBD
– PSC: Protocolo Compartico con bloqueo a 2
Manejo de Memoria
fases
Restauración – PUC: Protocolo de actualización con bloqueo a
2 fases
Concurrencia
Concurrencia
Diccionario Datos
Proc. Consultas
Integridad
Seguridad
Marzo 2012 Administración de Base de Datos 37
38. Manejo de Interbloqueos
El DBA • Interbloqueo: Un sistema está en un
estado de interbloqueo si para cada
El SMBD
transacción Ti en un conjunto de dos o
Manejo de Memoria
más transacciones, espera por la
Restauración liberación de un recurso que esta
Concurrencia
Concurrencia
bloqueado por alguna otra transacción Tj
(i j).
Diccionario Datos
Proc. Consultas
• Los bloqueos pueden ser
Integridad
– prevenidos o
Seguridad – detectados.
Marzo 2012 Administración de Base de Datos 38
39. Prevención de Interbloqueos
El DBA • Planificación de transacciones
El SMBD
• Rechazo de requerimientos
Manejo de Memoria
• Retroceso de la transacción (rollback)
– Con marcas de tiempo
Restauración
– Sin marcas de tiempo
Concurrencia
Concurrencia
Diccionario Datos
Proc. Consultas
Integridad
Seguridad
Marzo 2012 Administración de Base de Datos 39
40. Prevención de Interbloqueos
El DBA • Planificación de transacciones:
– Se asegura que dos transacciones no serán
El SMBD
ejecutadas concurrentemente si sus
Manejo de Memoria requerimientos de datos están en conflicto.
Restauración
– Exige que cada transacción bloquee todos sus
elementos de datos en un paso (de manera
Concurrencia
Concurrencia atómica), antes de su ejecución. Ésto conlleva
a dos inconvenientes principales:
Diccionario Datos
• Es difícil predecir, antes de que comience la
Proc. Consultas transacción, cuáles elementos de datos deben
bloquearse.
Integridad
• La utilización de elementos puede ser muy baja,
Seguridad ya que muchos pueden estar bloqueados pero sin
usar.
Marzo 2012 Administración de Base de Datos 40
41. Prevención de Interbloqueos
El DBA • Rechazo de Requerimientos
– Implica rechazar cualquier requerimiento de
El SMBD
bloqueo, si al ser aceptado genera
Manejo de Memoria interbloqueo.
Restauración
– Se implementa un grafo de espera, si un
requerimiento produce un ciclo, este
Concurrencia
Concurrencia requerimiento se descarta y se retrocede la
transacción que lo genero total o parcialmente.
Diccionario Datos
Proc. Consultas
Integridad
Seguridad
Marzo 2012 Administración de Base de Datos 41
42. Prevención de Interbloqueos
El DBA • Retroceso de Transacciones
Esta técnica requiere que alguna de las
El SMBD
transacciones implicadas en un bloqueo deba
Manejo de Memoria hacer ROLLBACK y ser reiniciada. Existen dos
enfoques:
Restauración
– Con marcas de tiempo
Concurrencia
Concurrencia – Sin marcas de tiempo
Diccionario Datos
Proc. Consultas
Integridad
Seguridad
Marzo 2012 Administración de Base de Datos 42
43. Prevencion de Interbloqueos
El DBA • Retroceso con marcas de tiempo
El SMBD
– Una marca de tiempo es un identificador
unívoco creado por el SMDB para identificar el
Manejo de Memoria
tiempo de inicio relativo de una transacción.
Restauración – Pueden generarse
Concurrencia
Concurrencia • Utilizando el valor del reloj del sistema en el
momento de iniciarse la transacción o
Diccionario Datos
• Incrementando un contador lógico cada vez que
Proc. Consultas se inicia una nueva transacción
Integridad Siendo MT(Ti) la marca de tiempo de la transacción Ti y MT(Tj)
la Marca de tiempo de la transacción Tj
Seguridad Si MT(Ti) < MT(Tj) entonces Tj es más joven que Ti
Marzo 2012 Administración de Base de Datos 43
44. Prevencion de Interbloqueos
El DBA • Retroceso con marcas de tiempo
– Si Ti requiere un elemento de datos que esta
El SMBD
bloqueado por Tj de manera conflictiva
Manejo de Memoria 1. Wait-Die
Si M(Ti) < MT(Tj) entonces #Tj es más joven que Ti
Restauración
Ti espera.
Concurrencia Sino
Concurrencia
Ti Muere (RollBack) y se reinicia posteriormente
Diccionario Datos 2. Wound-Wait
Proc. Consultas
Si M(Ti) < MT(Tj) entonces #Tj es más joven que Ti
Ti hiere a Tj #Ti obliga a Tj a abortar.
Integridad Tj muere (RollBack) y se reinicia posteriormente
Sino
Seguridad
Ti espera
Marzo 2012 Administración de Base de Datos 44
45. Prevención de Interbloqueos
El DBA • Retroceso sin marcas de tiempo
– No Espera
El SMBD
• Si una transacción no puede lograr un bloqueo,
Manejo de Memoria no espera y se reinicia tras un lapso de tiempo,
sin comprobar si ha sucedido un interbloqueo.
Restauración
– Espera Cautelosa
Concurrencia
Concurrencia • Surge debido a la presencia de ROLLBACKS
innecesarios en el esquema de No Espera
Diccionario Datos
• Si Ti solicita un recurso X bloqueado por Tj
Proc. Consultas Si Tj está en espera entonces Ti retrocede sino Ti
espera
Integridad
Seguridad
Marzo 2012 Administración de Base de Datos 45
46. Detección de Interbloqueos
El DBA • La forma más sencilla de implementarse
es mediante un grafo de espera.
El SMBD
– Se crea un nodo por transacción activa.
Manejo de Memoria
– Se crea un arco dirigido, por cada transacción
Restauración Ti, que espera por un elemento que mantiene
bloqueado de manera conflictiva Tj (Ti -> Tj)
Concurrencia
Concurrencia
– Cuando Tj libera los bloqueos los arcos hacia él
Diccionario Datos desaparecen (Si se usa el 2PL)
Proc. Consultas – Existe un interbloqueo si y sólo si existe un
ciclo en el grafo.
Integridad
Seguridad
Marzo 2012 Administración de Base de Datos 46
47. Detección de Interbloqueos
El DBA Recuperando el interbloqueo:
El SMBD
• Selección de una víctima:
– Se debe tomar en cuenta:
Manejo de Memoria
• Si existe más de un ciclo, en cuántos ciclos está
Restauración involucrada la transacción
– Cuántos elementos de datos ha actualizado la
Concurrencia
Concurrencia
transacción.
Diccionario Datos
Proc. Consultas
Integridad
Seguridad
Marzo 2012 Administración de Base de Datos 47
48. Próxima clase
El DBA • Ejercicio
El SMBD
• Control de Concurrencia con marcas de
Manejo de Memoria
tiempo
• Control de Concurrencia Optimista
Restauración
(Validación)
Concurrencia
Concurrencia
Diccionario Datos
Proc. Consultas
Integridad
Seguridad
Marzo 2012 Administración de Base de Datos 48
49. Ejemplo
TIEMPO T1 T2 T3 T4
El DBA 1 FIND X
2 FIND Y
El SMBD 3 FIND Z
4 FIND A
5 FIND B
Manejo de Memoria
6 FIND X
7 UPDATE X: X + 20
Restauración 8 UPDATE Z: Z - 20
9 UPDATE Y: 80 FIND Z
Concurrencia
Concurrencia 10 UPDATE A: A + B
11 FIND X
Diccionario Datos 12 COMMIT
13 FIND Y
14 UPDATE Z: Z + 70
Proc. Consultas
15 UPDATE X: X -30
16 COMMIT
Integridad 17 FIND Y
18 ROLLBACK
Seguridad 19 UPDATE Y: Y + Z
Ejecute la20
planificación usando el FIND A
protocolo 22
PUC
21 UPDATE A: A - 10
COMMIT
Marzo 2012 Administración de Base de Datos 49
50. Ejemplo
TIEMPO T1 T2 T3 T4
El DBA 1 UFIND X
2 UFIND Y
El SMBD 3 UFIND Z
4 UFIND A
5 UFIND B
Manejo de Memoria
6 UFIND X
7 XUPDATE X: X + 20 wait
Restauración 8 XUPDATE Z: Z - 20 wait
9 XUPDATE Y: 80
10 XUPDATE A: A + B wait
Concurrencia
Concurrencia UFIND X
11 wait wait
Diccionario Datos 12 COMMIT wait
UFIND Y
13 wait
Proc. Consultas UFIND Z
14 XUPDATE Z: Z + 70
15 XUPDATE X: X -30
Integridad
16 COMMIT
17 UFIND Y
Seguridad 18 ROLLBACK
19 XUPDATE Y: Y + Z
20 UFIND A
21 XUPDATE A: A - 10
22 COMMIT
Marzo 2012 Administración de Base de Datos 50
51. Ejercicio
El DBA
• Dada la ejecución de las siguientes transacciones A y B,
El SMBD
ejecute la planificación usando:
1. Utilizando el protocolo PXC
Manejo de Memoria 2. Utilizando el protocolo PSC
3. PUC si se actualiza y PSC si
Restauración
no se va a actualizar
Concurrencia
Concurrencia
4. En el caso 2 use el algoritmo
Diccionario Datos
Wait-die para la prevención de
Proc. Consultas Interbloqueo MT(A)<MT(B) y
2 unidades de tiempo para
Integridad recomenzar la transacción
Seguridad
Marzo 2012 Administración de Base de Datos 51
52. Técnicas de control de
concurrencia
El DBA • Ordenamiento por marcas de tiempo
Timestamp Ordering (TO)
El SMBD
– Asegura que todas las operaciones UPDATE y
Manejo de Memoria
FIND conflictivas se ejecuten en el orden de las
Restauración
marcas temporales.
– UMAX(X): Denota la mayor marca temporal de
Concurrencia
Concurrencia
todas las transacciones que ejecutaron
Diccionario Datos Update(X) con éxito
Proc. Consultas – FMAX(X): Denota la mayor marca temporal de
todas las transacciones que ejecutaron FIND(X)
Integridad
con éxito
Seguridad
Marzo 2012 Administración de Base de Datos 52
53. Técnicas de control de
concurrencia
El DBA • Sean Ti y Tj dos transacciones (i ≠ j) y X
un recurso compartido
El SMBD
Si Ti ejecuta LEER(X)
Manejo de Memoria
a) Si MT(Ti) < UMAX(X)
Restauración entonces Ti necesita leer un valor de X ya
sobreescrito, por lo que se rechaza la operación y
Concurrencia
Concurrencia Ti retrocede.
Diccionario Datos
b) Si MT(Ti) UMAX(X)
Proc. Consultas
entonces se ejecuta la operación FIND(X) y se
Integridad actualiza FMAX(X) al valor máximo entre FMAX(X)
y MT(Ti)
Seguridad
Marzo 2012 Administración de Base de Datos 53
54. Técnicas de control de
concurrencia
Si Ti ejecuta UPDATE(X)
El DBA
a) Si MT(Ti) < FMAX(X)
El SMBD
entonces el valor X de Ti se necesita previamente
Manejo de Memoria y el sistema asume que dicho valor no se puede
producir nunca. Se rechaza la transacción y se
Restauración retrocede.
Concurrencia
Concurrencia
b) Si MT(Ti) < UMAX(X)
Diccionario Datos entonces se intenta escribir un valor de X
Proc. Consultas
obsoleto. Se rechaza la transacción y se
retrocede.
Integridad
Seguridad c) En cualquier otro caso se ejecuta UPDATE y
MT(Ti) se asigna a UMAX(X)
Marzo 2012 Administración de Base de Datos 54
55. Técnicas de control de
concurrencia optimistas
El DBA • En las técnicas pesimistas se realiza una
comprobación antes de que se ejecute
El SMBD
cualquier operación. Esta comprobación
Manejo de Memoria
conlleva un costo de procesamiento
Restauración • En las técnicas optimistas no se realiza
Concurrencia
Concurrencia comprobación alguna mientras la
Diccionario Datos
transacción se ejecuta.
Proc. Consultas
Integridad
Seguridad
Marzo 2012 Administración de Base de Datos 55
56. Técnicas de control de
concurrencia optimista
El DBA • Cada transacción Ti se ejecuta en tres
fases:
El SMBD
– Fase de lectura: Se leen los elementos de datos
Manejo de Memoria necesarios y se escriben las actualizaciones en las
variables locales
Restauración
– Fase de validación: Ti comprueba si alguna de las
Concurrencia
Concurrencia actualizaciones viola la seriabilidad, para comprobar
si no existe violación en la serialización.
Diccionario Datos
– Fase de escritura: Si la validación es exitosa,
Proc. Consultas entonces las actualizaciones efectivas se aplican a la
base de datos y la transacción se compromete, de lo
Integridad
contrario se descartan.
Seguridad
Marzo 2012 Administración de Base de Datos 56
57. Técnicas de control de
concurrencia optimista
El DBA • La validación se realiza mediante las
siguientes marcas de tiempo
El SMBD
– Inicio(Ti)
Manejo de Memoria
– Validación(Ti)
Restauración – Fin(Ti)
Concurrencia
Concurrencia
• Se determina el orden secuencial a través de la
Diccionario Datos
técnica de ordenación por marcas temporales
Proc. Consultas entonces toda planificación que se produzca debe
ser equivalente a una planificación secuencial
Integridad
Seguridad
Marzo 2012 Administración de Base de Datos 57
58. Técnicas de control optimista
El DBA • Para dos transacciones Ti y Tj, se conoce
que validacion(Ti) < validacion(Tj),
El SMBD
entonces:
Manejo de Memoria
– Fin(Ti) < Fin(Tj)
Restauración – El conjunto de todos los elementos de datos
que escribe Ti tiene intersección vacía con el
Concurrencia
Concurrencia
conjunto de elementos de datos que lee Tj,
Diccionario Datos – Inicio(Tj) < Fin(Ti) < Validación(Tj).
Proc. Consultas ¿Qué implica ésto?
Integridad
Que las transacciones no se superpongan y
se mantenga la secuencialidad.
Seguridad
Marzo 2012 Administración de Base de Datos 58
59. Técnicas de control de
concurrencia optimista
El DBA Conclusiones
– La idea del control optimista es hacer
El SMBD
todas las comprobaciones
Manejo de Memoria inmediatamente antes de la escritura.
Restauración
– Por lo tanto la ejecución de una
Concurrencia
Concurrencia transacción tiene un costo mínimo hasta
Diccionario Datos alcanzar la fase de validación, donde la
mayoría serán validas si son en su
Proc. Consultas
mayoría de solo lectura, en caso contrario
Integridad esta técnica no funciona bien.
Seguridad
Marzo 2012 Administración de Base de Datos 59
60. Ejercicio
El DBA
• Dada la ejecución de las siguientes transacciones A y B,
El SMBD
ejecute la planificación usando:
Manejo de Memoria 1. Utilizando la técnica de
control de concurrencia con
Restauración marcas de tiempo con
MT(A)<MT(B)
Concurrencia 2. Espere dos unidades de
tiempo antes de recomenzar
Diccionario Datos la transacción
Proc. Consultas
Integridad
Seguridad
Marzo 2012 Administración de Base de Datos 60
61. Ejercicio
El DBA
Dato Fmax Umax
El SMBD
X
Manejo de Memoria
Y
Restauración
Concurrencia Z
Diccionario Datos
W
Proc. Consultas
Integridad
Seguridad
Marzo 2012 Administración de Base de Datos 61