You are on page 1of 15

Concurrencia de

datos.
Kevin Meja Gonzlez.
Cesar Alexis Estrada Palacios.

Definicin.
Permiten que muchas transacciones puedan accesar a una misma
base de datos a la vez.
Donde las transacciones son: una secuencia
recuperable de una o ms operaciones SQL,
agrupadas como una sola unidad, normalmente
dentro de un proceso de aplicacin.
Generalmente
ROLLBACK.

terminan

con

un

COMMIT

Lecturas comprometidas.
En este nivel de aislamiento, un Sistema de Gestin de Base
Datos Relacionales (SGBDR) que implemente el control
concurrencia basado en bloqueos mantiene los bloqueos
escritura de los datos seleccionados hasta el final de
transaccin.

de
de
de
la

Lectura repetible.
Cada fila que es referenciada de cualquier manera por la
transaccin que la posee, es bloqueada por el tiempo que dure esa
transaccin.
En este nivel de aislamiento, un SGBDR que implemente el control
de concurrencia basado en bloqueos mantiene los bloqueos de
lectura y escritura de los datos seleccionados hasta el final de la
transaccin.

Estabilidad de lectura.
Ejecutar una consulta que lee un conjunto de filas en base a
algn criterio de bsqueda.
Cuando desee algn nivel de concurrencia entre aplicaciones,
pero si tambin desea que filas calificadas permanezcan estables
por el tiempo que dure una transaccin individual.

Lectura Fantasma.
Ocurre cuando, durante una transaccin, se ejecutan dos
consultas idnticas, y los resultados de la segunda son distintos
de los de la primera.
Esto puede ocurrir cuando no se realizan bloqueos de rango al
realizar una operacin SELECT ... WHERE.

Estabilidad de cursor.
Asla los efectos de una restriccin de los efectos de otras
transacciones recurrentes. Este evita las lecturas sucias; no
obstante, pueden presentarse lecturas no repetibles y fantasmas.
Esto es porque en la mayora de los casos, el nivel de aislamiento
de estabilidad de cursor solo bloquea la fila que es referenciada
actualmente por un cursor que fue declarado abierto por la
transaccin que lo posee.

Lectura no confirmada.
Es el menos restrictivo de los niveles de aislamiento disponibles.
De hecho, cuando se usa este nivel de aislamiento las filas
recuperadas por una transaccin solo son bloqueadas si otra
transaccin intenta eliminar o alterar la tabla de la cual se
recuperaron las filas.
Se usa normalmente para transacciones que acceden a tablas y
vistas de solo lectura , y para transacciones que ejecuten
enunciados SELECT para los cuales los datos no confirmados de
otras transacciones no tengan efectos adversos.

Lectura sucia
Cuando una transaccin lee un valor de un tem dejado por otra
transaccin que no hizo commit antes de que se leyera el item.

Cursor
rea reservada de memoria en la que se guarda la salida de la
consulta, como un conjunto que guarda columnas y renglones.

La idea es que dada una BD en un estado consistente, luego de


ejecutarse las transacciones la BD quede tambin en un estado
consistente.
Una forma de garantizar esto ltimo es que las transacciones
cumplan con las propiedades ACID.

Atomicidad: Se ejecuta completamente o no se ejecuta por


completo (todo o nada)
Consistencia: Transforma un estado consistente de la BD en otro
estado consistente (los programas deben ser correctos)
Aislamiento: Se ejecutan sin interferencias.
Durabilidad: Las actualizaciones a la BD sern durables y
pblicas.

Bloqueos.
Mecanismo que se utiliza para asociar un recurso de datos con una
transaccin nica, con el propsito de controlar la forma en que otras
transacciones interactan con ese recurso mientras este est
asociado con la transaccin que le pertenece.
Identificador del Elemento bloqueado
Identificador de la Transaccin que lo bloquea
Una transaccin obtiene un bloqueo solicitndolo al Gestor de
Bloqueos.
Un bloqueo es una garanta de ciertos derechos de exclusividad para
la Transaccin.

Tipos de bloqueo.
Tipos:
- Bloqueos exclusivos: Un nico bloqueo por recurso
- Bloqueos compartidos: Muchos bloqueos por recurso

Rollback, Commit y Auto-Commit


Operacin que devuelve a la base de datos a algn estado
previo.
Guardar las transacciones realizadas en la base de datos.
Se ejecuta una sentencia se actualiza (modifica) la tabla, y se
almacenar la actualizacin en disco.

You might also like