0% encontró este documento útil (0 votos)
4 vistas3 páginas

1

La gestión de bloqueo en bases de datos asegura la consistencia e integridad de la información en entornos concurrentes, utilizando bloqueos compartidos y exclusivos según el tipo de operación. Existen diferentes niveles de granularidad en el bloqueo, desde filas hasta bases de datos completas, cada uno con sus ventajas y riesgos. Además, se abordan problemas de concurrencia como el interbloqueo y la inanición, junto con estrategias para prevenir y recuperar de estos conflictos.

Cargado por

202312823e
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
4 vistas3 páginas

1

La gestión de bloqueo en bases de datos asegura la consistencia e integridad de la información en entornos concurrentes, utilizando bloqueos compartidos y exclusivos según el tipo de operación. Existen diferentes niveles de granularidad en el bloqueo, desde filas hasta bases de datos completas, cada uno con sus ventajas y riesgos. Además, se abordan problemas de concurrencia como el interbloqueo y la inanición, junto con estrategias para prevenir y recuperar de estos conflictos.

Cargado por

202312823e
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

Para manejar el acceso concurrencia se utiliza el “Gestion de bloqueo(Lock Management)”

Garantiza la cosnistencia y la integridad de la información

Evita efectos en las transacciones como; que las transacciones accedan de manera segura a los
recursos, evitando efectos como las acrualizaciones o las lecturas incosistentes

TIPOS DE BLOQUEOS

Bloque compartido(shared lock-s): Varias trasacciones lean un mismo recurso, ninguna puede
modificarlo mientras el blowueo este activo

Se utiliza para operaciones de lectura(select)

Bloqueo exclusivo(Exclusive lock-x): Solo una trasaccion puede acceder al recurso bloqueado y
puede leer y modificarlo

Impide que otras trasacciones lean o escriban en ese recurso

Se utiliza operaciones como INSERT, Update o Delete

GRANULARIDAD DEL BLOQUEO

De pequeño a mas grande

Bloqueo de Fila(row lock):

Bloquea una solafila de una tabla, se usa cuando una transacción modifica o lee una fila
especifica

Ventaja: máxima concurrencia(otros pueden trabajar con otras filas)

Riesgo: demasiadas filas bloqueadas pueden consumir mucha memoria

VEASE EJEMPLO

Bloqueo de pagina(page lock):

Bloquea ina paginade 8KB que contiene varias filas, se unas cuando se modifican muchas filas
en la mismsapgina

Ventaja: menos sobrecarga que bloquear fila x fila

Riesgo: Puede bloquear varias filas que no se pretendía bloquear

VEASE EJEMPLO

Bloqueo de tabla(table lock):


Bloquea toda la tabla, se usa en operaciones que afectan o escanean muchas filas(TRUNCATE,
ALTER, SELECT INTO)

Ventaja: Mas eficientes en algunos casos masivos

Riesgo: Impide que otros usuarios accedan a cualquier parte de la tabla.

VEASE EJEMPLO

Base de datos(database lock):

Se bloquea toda la base de datos, salvo en tareas de restauraciones, backups o ciertos


comandos administrativos.

NADIE PUEDE LEER NI ESCRIBIR EN NINGUNA TABLA MIENTRAS DURE

VEASE EJEMPLO

La gestión de bloqueo en SQLServer

Protege la integridad de los datos en entornos concurrentes

Utiliza diversos tipos dy niveles de bloqueo según la operación

Se controla mediante el LOCK MANAGER y se ve afectada por el nivel de aislamiento de las


transacciones

Se puede monitorear y optimizar para evitar bloqueos largos o deadlocks

SQL sever decide que nivel usar de forma dinámica

VEASE EJEMPLO

Problemas de concurrencia

INTERBLOQUEO(DEADLOCK):

Ocurre cuando dos trasacciones se bloquean entre si esperando recursos que la otra ya a
bloqueado

INANICION(STARVATION)

Una trasaccion no consigue acceso a los recursos por que siempre hay otras con mayor
prioridad

LECTURA SUCIO(DIRTY READ):

Una trasaccion lee datos que aun no han sido confirmadas por otra transacción(y podrían ser
revertidos)
Estrategias de prevención y recuperación de deadlocks

Deteccion de bloqueos: el sistema revisa periódicamente si existen ciclos en el grafo de espera


de bloqueos

Prevencion: asignar un orden global a los recursos o aplicar políticas como “Esperar-desechar”

Recuperacion: cancelar(rollback) una de las trasacciones involucradas

También podría gustarte