ABD 10 UNIDAD II ControlConcurrencia PDF
ABD 10 UNIDAD II ControlConcurrencia PDF
ABD 10 UNIDAD II ControlConcurrencia PDF
DEPARTAMENTO DE INFORMÁTICA
Administración de Base
de Datos
Tercer Semestre
Ing. Lorena Bowen Mendoza
ADMINISTRACIÓN DE BASES DE DATOS
PROCESAMIENTO DE
TRANSACCIONES
UNIDAD II
ADMINISTRACIÓN DE BASES DE DATOS
Objetivo de la Clase:
Explicar los conceptos de recuperación y transparencia
de concurrencia.
Entender la función de los candados para evitar
problemas de interferencia entre varios usuarios.
CASOS DE CONCURRENCIA
CONTROL DE CONCURRENCIA
OBJETIVOS DEL CONTROL DE CONCURENCIA
El objetivo del control de la concurrencia es maximizar el caudal de procesamiento de
transacciones y, al mismo tiempo, evitar la interferencia entre varios usuarios.
El caudal de procesamiento de transacciones, es el número de transacciones procesadas
por unidad de tiempo, es una importante medida del trabajo que realiza un DBMS. Por
lo regular, el caudal de procesamiento se reporta en transacciones por minuto. En un
ambiente de alto volumen, como el comercio electrónico, los DBMS quizá Necesiten
procesar miles de transacciones por minuto.
Desde la perspectiva del usuario, el caudal de procesamiento de transacciones está
relacionado Con el tiempo de respuesta. Un caudal de procesamiento más alto significa
tiempos de respuesta más largos. Por lo general, los usuarios no están dispuestos a
esperar más de unos cuantos segundos para la realización de una transacción.
CONTROL DE CONCURRENCIA
OBJETIVOS DEL CONTROL DE CONCURENCIA
Las transacciones que se ejecutan de manera simultánea no pueden interferirse entre sí, a
menos que manipulen datos comunes. La mayor parte de las transacciones concurrentes
manipulan sólo pequeñas cantidades de datos comunes.
Un punto decisivo son los datos comunes que varios usuarios tratan de cambiar al mismo
tiempo. En esencia, un punto decisivo representa un recurso escaso por el que los usuarios
deben esperar. Los puntos decisivos típicos son los asientos libres en los vuelos de mayor
demanda, la cantidad disponible de artículos populares en un inventario y los lugares
disponibles en los cursos ofrecidos. En un mundo ideal, los DBMS sólo registrarían los
puntos decisivos, pero, por desgracia, puede ser difícil conocerlos por anticipado, de modo
que los DBMS registran el acceso a cualquier parte de una base de datos. La interferencia
en los puntos decisivos puede dar lugar a datos perdidos y a la toma de decisiones
equivocadas. Las secciones siguientes describen los problemas de interferencia y las
herramientas para prevenirlos.
CONTROL DE CONCURRENCIA
PROBLEMAS DE CONCURRENCIA
Hay tres problemas que se pueden presentar debido al acceso simultáneo a una
base de datos:
Una dependencia sin realización comprende una transacción que escribe y otra que lee en
la misma parte de la base de datos. Sin embargo, una dependencia sin realización no
puede ocasionar un problema a menos que ocurra una restauración al estado original.
PROBLEMAS DE CONCURRENCIA
DEPENDENCIA SIN REALIZACIÓN
PROBLEMAS DE CONCURRENCIA
RECUPERACIONES INCONSISTENTES
El problema de resumen incorrecto es el más importante entre los que comprenden
recuperaciones inconsistentes. Un resumen incorrecto ocurre cuando una transacción,
mientras calcula la función de resumen, lee algunos valores antes de que otra transacción
los cambie, pero lee otros valores después de que otra transacción los cambió.
La transacción B lee SR1. después que la transacción A
cambió el valor
Bloque exclusivo:
Si una transacción A tiene un bloqueo X sobre el objeto R, cualquier otra transacción B
que solicite un bloqueo (de cualquier tipo) sobre R, entrará en un estado de espera, hasta
que A libere el bloqueo sobre R.
Bloqueo compartido:
Si una transacción A tiene un bloqueo S sobre el objeto R:
Si ora transacción B solicita un bloqueo X sobre el objeto R, entrará en un estado de
espera, hasta que A, libere a R.
Si en cambio B, solicita un bloqueo S, su solicitud sería concedida.
X: escritura S: lectura
HERRAMIENTAS DE CONTROL DE CONCURRENCIA
El administrador del control de concurrencia es la parte del DBMS responsable de
administrar los candados. Este administrador conserva una tabla oculta para registrar los
candados que tienen diversas transacciones. Un registro de candados contiene un
identificador de transacciones, un identificador de registros, un tipo y una cuenta.
En el esquema más simple, el tipo es compartido o exclusivo. La mayor parte de los DBMS
tienen otros tipos de candados para mejorar la eficiencia y permitir mayor acceso
concurrente. El administrador del control de concurrencias realiza dos operaciones en los
registros de candados. El operador de candado agrega una fila en la tabla de candados,
mientras que el operador para abrir candados u operador de liberación elimina una fila
de la tabla de candados.
HERRAMIENTAS DE CONTROL DE CONCURRENCIA
GRANULARIDAD DE CANDADOS
La granularidad de candados representa una complicación en
relación con los candados. La granularidad se refiere al
tamaño del elemento de la base de datos que tiene candado.
La mayor parte de los DBMS manejan candados de distintas
granularidades. El candado más extenso abarca toda la base
de datos. Si toda la base tiene un candado exclusivo, ningún
otro usuario tiene acceso a la base de datos hasta quitarlo.
Por otro lado, el candado más pequeño abarca sólo una
columna individual. También puede haber candados en
partes de la base de datos que no ven los usuarios en
general. Por ejemplo, es posible tener candados en los
índices y en las páginas (registros físicos).
HERRAMIENTAS DE CONTROL DE CONCURRENCIA
HERRAMIENTAS DE CONTROL DE CONCURRENCIA
GRANULARIDAD DE CANDADOS
Los candados de intención se utilizan por lo regular para aligerar el bloqueo
en forma compartida o exclusiva causado por los candados más fuertes en los
elementos. Los candados de intención soportan más concurrencia en los
elementos pesados que los candados compartidos o exclusivos. Además,
permiten la detección eficiente de los conflictos entre candados en
elementos de diversa granularidad.