CAPITULO 6. Control de Concurrencia y Recuperación

Documentos relacionados
4.6.- Integridad: Control de concurrencia.

Bases de Datos Distribuidas. Carlos A. Olarte BDII

Transacciones. Carlos A. Olarte BDII

Sistemas Distribuidos. Bibliografía: Introducción a los Sistemas de Bases de Datos Date, C.J.

Recuperación de Fallos del Sistema

La Empresa. PSST Control Operacional de la SST Norma OHSAS 18001:2007

Memoria. Organización de memorias estáticas.

Unidad 8. Bases de Datos en el Modelo Cliente Servidor

Diseño arquitectónico 1ª edición (2002)

PROCEDIMIENTOS DEL NOC RESPALDO Y RECUPERACION DE DATOS

CD INTERACTIVO DE PLANES DE CONTINGENCIA Y SEGURIDAD INFORMÁTICA PARA LA MEDIANA Y GRAN EMPRESA DE EL SALVADOR.

MANUAL AB TUTOR CONTROL

Soluciones de administración de clientes e impresión móvil

Diseño de sistemas concurrentes

Sistemas Operativos. Daniel Rúa Madrid

Se realizó aplicando la parte 3 de la Guía de Evaluación de Software, aprobada por Resolución Ministerial W PCM:

1. Almacenamiento redundante

RESUMEN DE LAS DIAPOSITIVAS DE BASE DE DATOS 1

Sistemas operativos. Hasta ahora hemos visto. Relación programa-sistema operativo Gestión de memoria

INSPECCIONES DE SEGURIDAD

Se aplica cada a los accidentes ambientales y situaciones potenciales de emergencia que se puedan generar en la empresa.

ADMINISTRACIÓN DE RECURSOS INFORMÁTICOS SEMANA 9 ESTE DOCUMENTO CONTIENE LA SEMANA 9

Tema 14: Sistemas Secuenciales

Sistemas Operativos. Dr. Luis Gerardo de la Fraga. Departamento de Computación Cinvestav

2.Introducción a la seguridad

Desde 2007 existe un nuevo sistema de costeo que ha mejorado notablemente la

PROCEDIMIENTO DE COPIAS DE SEGURIDAD CÓDIGO: S-P-09

Nombre de la asignatura : Sistemas de Computación Código : Nivel (semestre de la carrera) : 7 : Ingeniería Civil Informática Nº de créditos : 4

Sistemas Operativos. Curso 2016 Sistema de Archivos

Herramientas Informáticas I Software: Sistemas Operativos

La instalación y configuración de sistemas gestores de base de datos.

TEMA II: ALMACENAMIENTO DE LA INFORMACIÓN

Seguridad en el SLU Disponibilidad. Seguridad en el SLU Integridad. Seguridad en el SLU Acceso. Agenda. Disponibilidad. Ambiente de Producción

PROCEDIMIENTO DE COPIAS DE SEGURIDAD

Sistema Integrado de Gestión INSTRUCTIVO PARA LA REALIZACIÓN DE COPIAS DE SEGURIDAD


Arquitectura de Computadores II Clase #7

Procedimiento para Mantenimiento de Centrales de Generación

Clasificación n de los Sistemas Operativos. Clasificación de los SO Estructuras de los SO Modos de procesamiento

SPID Descripción. Este sistema habilitaría a los bancos mexicanos a:

Universidad Autónoma del Estado de México ADMINISTRACIÓN Y SEGURIDAD EN SISTEMAS OPERATIVOS SEGURIDAD SOBRE WINDOWS POR: J. JAIR VÁZQUEZ PALMA

UNIDAD 1: CONCEPTOS BA SICOS DE BASE DE DATOS

Uso de la función Imprimir y mantener en espera

Control de Concurrencia

Asignaturas antecedentes y subsecuentes

Dossier de prensa Mayo 2016

Maquinaria de elevación. Mantenimiento de primer nivel

MANUAL DE POLÍTICA CONTROL DE LICENCIAS DE SOFTWARE

SISTEMAS DE GESTIÓN DE SEGURIDAD DE LA INFORMACIÓN, RIESGOS Y CONTINUIDAD DE NEGOCIOS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA INFORMÁTICA UNIVERSIDAD DE SEVILLA COMPUTADORAS Y COMUNICACIONES. Redes informáticas de área local (LAN)

MICROSOFT EXCEL 2016 Avanzado

Interbloqueos. Tema 5. Sistemas Operativos I. Tema 5: Interbloqueos. Equipo de Sistemas Operativos DISCA / DSIC UPV

Además, debido al incremento del parque informático actual se requiere aumentar la cantidad de licencias, ya que a la fecha resulta insuficiente.

Comisión de Auditoría. Propuesta de Política Control y Gestión de Riesgos Madrid, 23/02/2016

Serie de Estándares GLI-28: Sistemas del Interfaz del Jugador - Usuario. Versión de febrero de 2011

FIABILIDAD, CONFIDENCIALIDAD, INTEGRIDAD Y DISPONIBILIDAD

Diseño del proceso de lubricación - (LPD)

Concurrencia y Recuperabilidad

TELEMEDIDA PARA CLIENTES CON CONSUMOS >5GWH/AÑO< 100GWH/AÑO

DECÁLOGO DE SEGURIDAD

RESUMEN DE LA POLÍTICA DE CONFLICTOS DE INTERÉS GRUPO CIMD

PO-1TI-001. Código: Versión: Elaborado por: - Gerencia de IT. Página: Revisado por: - Gerencia de IT. Page 1 of 5

MANUAL DE ORGANIZACIÓN Retuerto Hermanos, S.L.

Requerimientos de Software

6. PROCESADORES SUPERESCALARES Y VLIW

Recomendaciones para optimizar el uso pedagógico de las netbooks y notebooks del Plan BA

SOLUCIONES DIGITALES PARA AGUA, PROCESO, PETRÓLEO & GAS Y ENERGÍA

CRM S.A.S. PROCEDIMIENTO ACCIONES CORRECTIVAS Y PREVENTIVAS

CÓMO SOLICITAR UNAS CLAVES NUEVAS DE ACCESO A RAYUELA SI NO RECUERDAS LAS QUE TENÍAS

ORGANISMO COORDINADOR DEL SISTEMA ELÉCTRICO NACIONAL INTERCONECTADO DE LA REPÚBLICA DOMINICANA

ADMINISTRACIÓN DE CENTROS DE CÓMPUTO

@Firma. Compatibilidad en Windows 7. Versión: v01r03 Fecha: 02/04/2014

RECETA ELECTRÓNICA Informe de Instalación de Teclados CHERRY con Lector TSE en Llodio

Servicios del Sistema Operativo (SO)

POLITICA DE TRATAMIENTO DE DATOS PERSONALES

@Firma. Compatibilidad en Windows 7. Versión: v01r04 Fecha: 24/07/2014

Sistema de Liquidación Directa. Servicio de Solicitud de Borradores On-line. Subdirección General de Afiliación, Cotización y Gestión del Sistema RED

Universidad de Costa Rica, EIE, José A. Conejo Badilla

Qué es un Procesador de textos? Iniciar Word. Microsoft Word Microsoft Office 2010

Sistemas de Inventarios con Demanda Probabilística

Manual de instalación AutoFirma 1.4.2

1) Se dispone de un computador de 32 bits con la siguiente estructura:

Guía para la instalación de discos duro SATA y Configuración RAID

TIPOS DE REDES Y TOPOLOGIAS

Guía básica de gestión de incidencias para centros educativos SERVICIO CORPORATIVO DE VOZ

1. MEJORAS EN LA CONSULTA DE CUENTAS EXPEDIENTE MEJORAS EN LA ELABORACIÓN DE MANDAMIENTOS DE PAGO... 6

Definición de Capacidad. Planeación Estratégica de la Capacidad. Capacidad. Horizonte de Planeación. Mediciones de Capacidad

TEMA 4. PROCESO UNIFICADO

La Máquina de Acceso Aleatorio (Random Access Machine)

CRECE AMB INTERNET. Aprende a utilizar el ordenador ( 4 )

LA PROGRAMACIÓN POR PROCESOS

NIVELES DE AUTORIZACIÓN

RAID CLASES O TIPOS. RAID 0 unión de discos físicos en paralelo.

Grafos. Amalia Duch Brown Octubre de 2007

WMS. La Solución SGI WAREHOUSE permite el control de las operaciones del día a día tanto a nivel de Picking, como de Envíos e Inventario.

El conocimiento donde debe estar. Procesamiento de Formularios

PROCEDIMIENTO DE ADMINISTRACIÓN DEL SISTEMA ACCIONES CORRECTIVAS Y PREVENTIVAS

Fundamentos de Bases de Datos Distribuidas

INFORMATICAFACIL BIOS AMI. configuración. ekocop H T T P : / / I N F O R M A T I C A F A C I L. W O R D P R E S S. C O M

PLAN DE MANTENIMIENTO PREVENTIVO Y CORRECTIVO DE LA INFRAESTRUCTURA FÍSICA Y EQUIPO

Transcripción:

CAPITULO 6 Control de Concurrencia y Recuperación 6.1 Protocolos de Bloqueo Un protocolo de bloqueo nace de la necesidad creada cuando una transacción solicita un bloqueo de un modo particular sobre un elemento de datos y ninguna otra transacción posee un bloqueo sobre el mismo elemento de datos en un modo conflictivo, se puede conceder el bloqueo. Sin embargo, hay que tener cuidado para evitar la siguiente situación: suponemos que la transacción T2 posee un bloqueo en modo compartido sobre un elemento de datos y que la transacción T1 solicita un bloqueo en modo exclusivo sobre dicho elemento de datos. Obviamente T1 debe esperar a que T2 libere el bloqueo en modo compartido. Mientras tanto, la transacción T3 puede solicitar un bloqueo en modo compartido sobre el mismo elemento de datos. La petición de bloqueo es compatible con el bloqueo que se ha concedido a T2, por tanto se puede conceder a T3 el bloqueo en modo compartido. En este punto T2 puede liberar el bloqueo, pero T1 debe seguir esperando hasta que T3 termine. Pero de nuevo puede haber una nueva transacción T4 que solicite un bloqueo en modo compartido sobre el mismo elemento de datos y a la cual se conceda el bloqueo antes de que T3 lo libere. De hecho es posible que haya una secuencia de transacciones que soliciten un bloqueo en modo compartido sobre el elemento de datos, y que cada una de ellas libere el bloqueo un poco después de que sea concedido, de forma que T1 nunca obtenga el bloqueo en modo exclusivo sobre el elemento de datos. La transacción T1 nunca progresa y se dice que tiene inanición. Se puede evitar la inanición de las transacciones al conceder los bloqueos de la siguiente manera: cuando una transacción Ti solicita un bloqueo sobre un elemento de datos Q en un modo particular M, el gestor de control de concurrencia concede el bloqueo siempre que: 1

No exista otra transacción que posea un bloqueo sobre Q en un modo que esté en conflicto con M. No exista otra transacción que esté esperando un bloqueo sobre Q y que lo haya solicitado antes que Ti. De este modo, una petición de bloqueo nunca se quedará bloqueada por otra petición de bloqueo solicitada más tarde. Existen diferentes protocolos de bloqueo que se pueden utilizar en entornos distribuidos, entre los que se encuentran el protocolo de bloqueo de dos fases, protocolos basados en grafos, entre otros. La única modificación que hay que incorporar es el modo en que el gestor de bloqueos trata los datos replicados. Se presentan varios esquemas posibles que son aplicables a entornos en que los datos puedan replicarse en varios sitios. Esta situación se presenta en los modos de bloqueo compartido y exclusivo. En el enfoque de gestor único de bloqueos el sistema mantiene un único gestor de bloqueos que reside en un sitio único escogido. Todas las solicitudes de bloqueo y de desbloqueo se realizan en el sitio. Cuando una transacción necesita bloquear un elemento de datos envía una solicitud de bloqueo al sitio. El gestor de bloqueos determina si se puede conceder el bloqueo de manera inmediata. Si se puede conceder el bloqueo, el gestor de bloqueos envía un mensaje con ese objeto al sitio en el que se inició la solicitud de bloqueo. En caso contrario, la solicitud se retrasa hasta que puede concederse, en cuyo momento se envía un mensaje al sitio en el que se inició la solicitud de bloqueo. La transacción puede leer el elemento de datos de cualquiera de los sitios en los que residen las réplicas del elemento de datos. En caso de una operación de escritura deben implicarse en la 2

escritura todos los sitios en los que residen réplicas del elemento de datos. El esquema tiene las siguientes ventajas: Implementación sencilla. Este esquema necesita dos mensajes para tratar sólo uno para las de desbloqueo. las solicitudes de bloqueo y Tratamiento sencillo de los interbloqueos. Dado que todas las solicitudes de bloqueo y de desbloqueo se realizan en un solo sitio, se pueden aplicar directamente a este entorno algoritmos de tratamiento de los interbloqueos. Los inconvenientes del esquema son: Cuello de botella. El sitio se transforma en un cuello de botella, dado que procesarse allí. todas las solicitudes deben Vulnerabilidad. Si el sitio falla se pierde el controlador de la concurrencia. Se debe detener el procesamiento o utilizar un esquema de recuperación de modo que pueda asumir la administración de los bloqueos un sitio de respaldo. 6.2 Marcas Temporales Otro método para determinar el orden de secuencialidad en la ejecución de bloqueo de datos es seleccionar previamente un orden entre las transacciones en el método más común para hacer esto es utilizar un esquema de ordenación por marcas temporales 3

El protocolo de ordenación por marcas temporales asegura que todas las operaciones leer y escribir conflictivas se ejecutan en el orden de las marcas temporales. El protocolo de ordenación por marcas temporales asegura la secuencialidad en cuanto a conflictos. Esta afirmación se deduce del hecho de que las operaciones conflictivas se procesan durante la ordenación de las marcas temporales. El protocolo asegura la ausencia de interbloqueos, ya que ninguna transacción tiene que esperar. El protocolo puede generar planificaciones no recuperables; sin embargo se puede extender para producir planificaciones sin cascada. Otro esquema utilizado es el mecanismo de marcas de tiempo, este supone que existe una única versión de los datos; por lo que sólo una transacción puede acceder a los mismos. Se puede relajar esta restricción permitiendo que varias transacciones lean y escriban diferentes versiones del mismo dato siempre que cada transacción vea un conjunto consistente de versiones de todos los datos a los que accede. El problema con las técnicas de bloqueo es que puede producirse un interbloqueo (llamado deadlock), que es una situación que se da cuando dos o más transacciones están esperando cada una de ellas que otra libere algún objeto antes de seguir. Este problema, que ha sido estudiado en profundidad en los sistemas operativos, puede tener dos soluciones: Prevenir el interbloqueo, obligando a que las transacciones bloqueen todos adelantado. los elementos que necesitan por Detectar el interbloqueo, controlando de forma periódica si se ha producido, para lo que suele construirse un grafo de espera. Si existe un ciclo en el grafo se tiene un interbloqueo. Cada SGBD tiene su propia política para escoger las transacciones bloqueadas, aunque suelen ser las transacciones más recientes. 6.3 Tratamiento de los Interbloqueos 4

Un sistema está en estado de interbloqueo si existe un conjunto de transacciones tal que toda transacción del conjunto está esperando a otra transacción del conjunto. En tal situación ninguna de las transacciones puede progresar. El único remedio a esta situación no deseada es que el sistema invoque alguna acción drástica, como retroceder alguna de las transacciones involucradas en el interbloqueo. El retroceso de una transacción puede ser parcial: esto es, se puede retroceder una transacción hasta el punto donde obtuvo un bloqueo cuya liberación resuelve el interbloqueo. Existen dos métodos principales para tratar el problema de los interbloqueos. Se puede utilizar un protocolo de prevención de interbloqueos para asegurar que el sistema nunca llega a un estado de interbloqueo. De forma alternativa se puede permitir que el sistema llegue a un estado de interbloqueo, y tratar de recuperarse después a través de un esquema de detección y recuperación de interbloqueos. Estos algoritmos de prevención y de detección de interbloqueos pueden utilizarse en los sistemas distribuidos, siempre que se realicen modificaciones. Por ejemplo, se puede utilizar el enfoque de ordenación por marcas temporales puede aplicarse de manera directa en entornos distribuidos. La prevención de interbloqueos puede dar lugar a esperas y retrocesos innecesarios. Además, puede que algunas técnicas de prevención de interbloqueos necesiten que se impliquen en la ejecución de una transacción más sitios que los que serían necesarios de otro modo. 6.4 Disponibilidad Para garantizar que una aplicación distribuida sea altamente disponible (es decir, que pueda estar en servicio de manera continua) se deben instanciar múltiples réplicas de esta en distintos equipos de cómputo. Según el tipo de fallo que se quiera soportar (cortes de energía eléctrica, averías, desconexiones) se debe conseguir que cada uno de las computadoras que mantenga una réplica de la BDD sea independiente del resto ante 5

la ocurrencia de tales fallos. Así, por ejemplo, si queremos proteger a la aplicación ante cortes de alimentación, cada equipo de computo donde se ejecute una réplica debería disponer de su propio sistema de protección, por ejemplo una UPS de alto rendimiento. El hecho de disponer de múltiples replicas permitirá que la capacidad de servicio de la aplicación también mejore. Así, aquellas peticiones de los usuarios del sistema que sólo impliquen una consulta de datos, podrán ser atendidas por diferentes replicas simultáneamente. Con ello, el tiempo de respuesta percibido por los usuarios disminuirá. Por tanto, con la replicación se pueden llegar a obtener dos mejoras importantes: Por un lado, se garantiza que el servicio ofrecido por la aplicación, no se vea interrumpido en caso de que se dé un fallo en alguna de las réplicas. Observemos que tal fallo habría dejado inutilizable a la aplicación en caso de no haber empleado replicación. Además, el tiempo necesario para restablecer el servicio en la aplicación podría llegar a ser grande en algunos tipos de fallo. Por ejemplo, si se llegara a estropear el disco duro en el que se mantienen parte de los datos de la aplicación: habría que parar la máquina, sustituir el disco, restaurar su contenido a partir de alguna copia de seguridad, re arrancar la máquina y reiniciar la aplicación. Además, todas las peticiones en curso en el momento de fallo se habrían perdido. Afortunadamente, un RAID evitaría esta situación. Por otra parte, la capacidad de servicio se ve incrementada cuando las peticiones efectuadas por los clientes únicamente implican consultas. 6.5 Replica con Grado de Consistencia Bajo En general, el sistema de réplica de la BDD hace que las consultas sean más eficientes, pero complica las 6

actualizaciones debido al problema de la redundancia de datos y el mantenimiento de la consistencia de los datos. Normalmente, se elige una de las réplicas como copia principal para simplificar la administración, esta situación garantiza que no exista el problema de que exista la réplica con un grado de consistencia bajo, que sería una réplica que se generó con pérdida de información. Si queremos garantizar una consistencia fuerte entre las réplicas habría que solicitar una entrega en orden total. Es decir, todos los mensajes deben entregarse en idéntico orden en todos los procesos del grupo. No obstante, ciertos tipos de aplicación sólo requieren el uso de orden causal (esto es, bastarla con ordenar aquellos mensajes con relación causa-efecto entre ellos) que permite una entrega más rápida. 7