Desarrollo De Sistemas - Universidad Nacional Del Sur

Transcription

Dpto. Ciencias e Ingeniería de la ComputaciónUniversidad Nacional del SurELEMENTOS DE BASESDE DATOSSegundo Cuatrimestre 2015Clase 21:Sistemas de Manejo de Basesde Datos DistribuidosMg. María Mercedes Vitturini[mvitturi@uns.edu.ar]

DBMS DistribuidosEn un sistema de manejo de base de datos distribuido(SMBDD o DDBMS) la base de datos se almacena en diversascomputadoras, denominados sitios o nodos, comunicadosentre si.Características Los nodos están en equipos que no comparten memoria nidisco y se conectan por la red. Los nodos generalmente se ubican geográficamente separados. Las computadoras pueden variar en tamaño y función. Las transacciones pueden acceder a datos que está físicamenteen sitios distintos.EBD2015 21 - Mg. Mercedes Vitturini

DBMS DistribuidosNodosEBD2015 21 - Mg. Mercedes Vitturini

Bases de Datos Distribuidas Bases de datos distribuidas homogéneas:– El mismo software/esquema en todos los sitios, los datosson particionados/replicados entre los sitios.– Objetivo: proveer la vista de una sola base de datosocultando detalles de distribución. Bases de datos distribuidas heterogéneas:– Diferentes software/esquema en los sitios.– Objetivo: integrar distintas bases de datos para proveer unafunción útil.EBD2015 21 - Mg. Mercedes Vitturini

DDBMS: SMBD DistribuidosHomogéneos El modelo de datos: modelo homogéneo,replicación, fragmentación y replicación fragmentación. Transparencia:– De nombrado y ubicación, implementaciones– Dato Físico y Dato Lógico– Gestión de bloqueos en DDBMSEBD2015 21 - Mg. Mercedes Vitturini

Sistemas DistribuidosHomogéneosCaracterísticas– Cada sitio conoce la existencia de los otros.– Tanto el software de base de datos es compartidocomo el modelo de datos es igual para todos los sitios.– Cada sitio provee un entorno para ejecutar tantotransacciones locales como globales.TRANSACCIONES LOCALES Y TRANSACCIONES GLOBALES– Una transacción local accede a datos de un único sitiodonde se inició la transacción.– Una transacción global accede tanto a datos del sitio dondese originó como a datos de varios sitios diferentes.EBD2015 21 - Mg. Mercedes Vitturini

Modelo de TransaccionesDistribuidoCada sitio cuenta con dos subsistemas: El gestor de transacciones: gestiona la ejecución de aquellastransacciones (o subtransacciones) que acceden a los datosalmacenados en el sitio local.– Mantener la bitácora.– Participar en el esquema de control de concurrencia del sitio local. El coordinador de transacciones: encargado de la ejecución delas transacciones (locales y globales) iniciadas en el sitio local.– Iniciar las transacciones.– Dividir las transacciones en subtransacciones.– Coordinar la ejecución de subtransacciones en los distintos sitios.EBD2015 21 - Mg. Mercedes Vitturini

Modelo Transaccional DistribuidoHomogéneoCoordinador deCoordinador deTransaccionesTransaccionesGestor de. . .TransaccionesGestor deTransaccionesComputadora 1Computadora NEBD2015 21 - Mg. Mercedes Vitturini

¿Qué vamos a estudiar? Vamos a analizar los siguientes tópicos en relación aSistemas de Manejo de Bases Datos DistribuidosHomogéneos:– Cómo almacenan la información y acceden a la información.– Cuestiones de transparencia de red y denominación de losítems de datos.– Procesamiento y concurrencia de transacciones distribuidas.– Tratamiento de fallos y deadlocks.EBD2015 21 - Mg. Mercedes Vitturini

Almacenamiento de DatosDistribuidosReplicación – el sistema mantiene varias copias (réplicas)idénticas de una relación r. Cada réplica se almacena en unsitio diferente. Mejoras– Tiempo de respuesta y tolerancia a fallos.Fragmentación – una relación r se particiona en variosfragmentos almacenados en sitios diferentes.Replicación y Fragmentación – una relación r es particionadaen varios fragmentos y el sistema mantiene varias copiasidénticas de los fragmentos.EBD2015 21 - Mg. Mercedes Vitturini

Replicación de Datos Se dice que una relación o fragmento de una relación estáreplicado si se almacena replicado en dos o más nodos unsistema de bases de datos distribuida:– Replicación total de una relación en el caso en que larelación se copia en todos los sitios.– Replicación total de la base de datos cuando todos lossitios tienen una copia completa de toda la base.– En otros casos se habla de replicación parcial.EBD2015 21 - Mg. Mercedes Vitturini

Replicación de Datos – Ventajas Disponibilidad: si uno de los sitios que contiene a larelación r falla, entonces se la puede buscar en otro sitio. Incremento del paralelismo: en casos de mayoría deaccesos de lectura, los sitios procesando consultas sobre rse ejecutan en simultáneo. Reduce el tiempo de transferencia: la relación r estálocalmente disponible en cada sitio que contiene una copiade r.EBD2015 21 - Mg. Mercedes Vitturini

Replicación de Datos – Desventajas– Incremento del overhead en actualizaciones: el sistemadebe asegurar que TODAS las réplicas de la relación r seanconsistentes. Cada actualización sobre la relación r debe serpropagada a los sitios conteniendo las respectivas réplicas.– Incremento en la complejidad del control de concurrencia:la actualización concurrente de copias distintas puedellevar a datos inconsistentes. Se deben implementar unmecanismo de control de concurrencia distribuidos.EBD2015 21 - Mg. Mercedes Vitturini

Fragmentación de los datosFragmentación – Divide una relación r en fragmentos fr1, fr2, ,frn. Los fragmentos contienen información suficiente comopara reconstruir la relación original r.Tipos de fragmentación:–Fragmentación Horizontal (por filas): separa a una relación rdividiendo las tuplas en subconjuntos.–Fragmentación Vertical (por columnas): separa a una relación ra través de descomposiciones en subesquemas.–Combinada: separa a una relación r horizontal y verticalmente.EBD2015 21 - Mg. Mercedes Vitturini

Fragmentación résRegistro52256522314246748995DomicilioCasanova 654Alem 1233Alem 1233San Juan 20Córdoba 456Salta 10212 de Octubre 980Paraguay dericoFedericoErnestoDomicilioCórdoba 456Salta 10212 de Octubre 980Paraguay 356892568956661r r1 r2rDomicilioCasanova 654Alem 1233Alem 1233San Juan 20Código-Carrera1285012850EBD2015 21 - Mg. Mercedes Vitturinir2Código-Carrera1285012850

Fragmentación icilioCasanova 654Alem 1233Alem 1233San Juan 20Córdoba 456Salta 10212 de Octubre 980Paraguay 20Código-Carrera12850128501285012850r r1 345678DomicilioCasanova 654Alem 1233Alem 1233San Juan 20Córdoba 456Salta 10212 de Octubre 980Paraguay 20r1Código-Carrera12850128501285012850r2EBD2015 21 - Mg. Mercedes Vitturini

Fragmentación – VentajasFragmentación horizontal: Permite procesamiento paralelo sobre fragmentos de unarelación. Permite que una relación se distribuya de forma que cadatupla se ubique donde más frecuentemente se utiliza.Fragmentación vertical: Permite que una relación se distribuya de forma que cadaparte de la tupla se ubique donde más frecuentemente seutiliza. Permite procesamiento paralelo sobre una relación.EBD2015 21 - Mg. Mercedes Vitturini

TransparenciaTransparencia – se refiere a cuánto un usuario del sistemapuede abstraerse de detalles sobre cómo y dónde sealmacena un ítem de datos en un sistema distribuido. Transparencia en relación a:– Transparencia de fragmentación.– Transparencia de replicación.– Transparencia de ubicación.EBD2015 21 - Mg. Mercedes Vitturini

Nombrado de Ítems de datosPrincipios1. Todo ítem de dato debe tener un nombre único en elsistema distribuido.2. Debería ser posible encontrar la ubicación de un ítemde dato en forma eficiente.3. Debería ser posible cambiar la ubicación de un ítem dedato en forma transparente.4. Cada nodo debería ser capaz de crear nuevos ítems dedato en forma autónoma.EBD2015 21 - Mg. Mercedes Vitturini

#1 - Servidor de NombresServidor de nombres – Esquema centralizado– Genera todos los nombres.– Los sitios consultan al servidor de nombres por laubicación de los datos no locales. Ventaja: Cumple con los principios1-3. Desventajas:– El servidor de nombres es el cuello de botella (y afecta ala performance).– Si se cae el servidor de nombres, ningún otro sitio puedecontinuar.– No cumple con el principio 4.EBD2015 21 - Mg. Mercedes Vitturini

#2 Esquema para nombrado dedatosAlternativa al esquema centralizado: Cada sitio agrega como prefijo a los nombres que crea sunombre de su sitio. Ejemplo: nodo1.cuentas Desventaja:– Falla al principio de transparencia. Solución: crear nombres alternativos o alias y almacenar elmapeo entre alias y nombre real en todos los sitios.– Los usuarios denominan a los datos por su alias y el sistemalos traduce a los nombres completos.– El usuario no necesita conocer la ubicación física de losdatos.EBD2015 21 - Mg. Mercedes Vitturini

Nombrado de fragmentos yréplicas Similarmente se pueden usar técnicas similares paranombrar fragmentos y réplicas y sus alias.– Ejemplo: nodo1.cuentas.f3.r2 para referirse a la segundaréplica del tercer fragmento de la relación cuentas que sealoja en el nodo 1. (-) No es deseable que el usuario pueda referirse a un/unafragmento/réplica particular. El sistema es el que debe determinar qué copia referenciaren caso de un read y actualizar todas las réplicas en caso deun write.EBD2015 21 - Mg. Mercedes Vitturini

Transparencia y actualizaciones Proveer transparencia con actualización es complejo. Hayque asegurar que todas las réplicas y fragmentos de unítem de dato se actualicen.– Si se actualiza un ítem de datos fragmentado, debedeterminarse que fragmento/s debe/n modificarse,dependiendo si se utiliza fragmentación horizontal,vertical o combinada.– Si se actualiza un ítem de datos replicado, debeactualizarse cada una de las réplicas.EBD2015 21 - Mg. Mercedes Vitturini

Datos Lógicos y Datos Físicos En SMBDD existen dos niveles de datos:DATO LÓGICO Y DATOS FÍSICOS Si para un dato A existe una única copia, el dato lógico y eldato físico son iguales. Si un dato A (dato lógico) tiene n copias A1, ,An(datosfísicos), entonces las transacciones solicitando un ítem Adeben enviar mensajes de requerimientos de bloqueo a lossitios donde reside la copia. El gestor de bloqueos de cada sitio puede conceder o negarel bloqueo, enviando el mensaje respectivo. El criterio de compatibilidad entre bloqueos es igual que ensistemas centralizados.EBD2015 21 - Mg. Mercedes Vitturini

Datos Lógicos y Datos Físicos En DDBMS ó SMBDD se identifican los conceptos “dato”DATO LÓGICONodo N1DDBMS1DATO FÍSICOYNodo N2DDBMS2A1Nodo Nn DDBMSnA2A es el dato lógicoAnAi es el dato físico Si de un dato existe una única copia dato lógico dato físico. En entornos distribuidos homogéneos con replicación la gestión debloqueos debe realizarse a nivel de dato lógico. El criterio de compatibilidad entre bloqueos es la misma.EBD2015 21 - Mg. Mercedes Vitturini

Gestor de Bloqueos Distribuido Entre los cambios a incorporar en el SMDBD está cómodebe operar el Gestor de Bloqueos del SMDBD y siexisten múltiples copias de los datos, de forma tal que:– Múltiples transacciones puedan obtener un lock compartidosobre A, pero una única transacción por vez puede obtenerun lock exclusivo sobre A.– Además, en caso de actualización, asegurar hay que todaslas copias de un ítem de datos se pueden actualizar y asípermanecer iguales.EBD2015 21 - Mg. Mercedes Vitturini

Gestión de Bloques en DDBMS Algunas alternativas para implementar la traducción entre“lock de dato lógico” en “locks de datos físicos ” enentornos distribuidos con réplicas:– Usar un esquema de gestión de bloqueos centralizado. Nodo Central– Usar un esquema de gestión de bloqueos distribuida ROWA Mayoría K de n– Otras propuestas híbridas Sitio primario (o copia primaria) Token primarioEBD2015 21 - Mg. Mercedes Vitturini

Gestión de Bloques en DDBMS La comunicación entre los sitios o nodos se realiza pormedio de mensajes. La cantidad de mensajes a transmitir “condiciona” laperformance general del sistema. Se distinguen:– Mensajes de Control: que indican requerimientos oconcesión de bloqueos, estados de cometido o de aborto,estados de deadlock, etc.– Mensajes de Datos: que contienen datos puros, leídos de o aser escritos en la base de datos. Bajo ciertas condiciones los mensajes de control cuestan lomismo que los de datos, pero en general los mensajes dedatos son más caros.EBD2015 21 - Mg. Mercedes Vitturini

Gestor de Bloqueos Centralizado:Nodo Central El DDBMS define como gestor de bloqueos a un sitio S. Si una transacción en un sitio Si necesita bloquear un ítem dedato Q, envía el requerimiento a S, que determina si se puedeconceder:– Si es compatible, S envía el mensaje al sitio Si que lo solicitó.– Sino, el Si quedará demorado hasta que se le pueda asignar elbloqueo.Ventajas :– Implementación simple y control de deadlock distribuidosimple.Desventajas :– S es el “lock manager” se transforma en cuello de botella y elDDBMS es vulnerable al fallo del sitio S.EBD2015 21 - Mg. Mercedes Vitturini

Mensajes con Nodo CentralPara obtener un read-lock: Si envia un mensaje requiriendo un read-lock al nodocentral S. Si el bloqueo no es concedido, Si se queda esperando. Si el bloqueo es concedido, el nodo central S envía unmensaje a un sitio Sk que tiene una copia del ítem de dato. Luego, el sitio Sk envía un mensaje con el valor del dato alsitio que hizo el requerimiento.EBD2015 21 - Mg. Mercedes Vitturini

Lock-S con Nodo CentralMensajes de ControlNodoCentralMensaje de control DatoConcedidoSolicitud deRead-LockSitioSolicitanteDatoEBD2015 21 - Mg. Mercedes VitturiniSitio condato pedido

Método de Nodo CentralPara obtener un write-lock: El sitio Si que necesita actualizar un dato envía un mensajerequiriendo un write-lock al nodo central. Si el bloqueo no es concedido, el sitio Si se quedaesperando. Si el bloqueo es concedido, el nodo central le contesta conun mensaje notificando el/los sitio/s que tiene/n copia delítem de dato. Luego, el/los sitio/s con la copia del ítem dedato reciben el nuevo valor a escribir. Si envia un mensaje adicional liberando el bloqueo deescritura una vez que el dato fue actualizado.EBD2015 21 - Mg. Mercedes Vitturini

Lock-X con Nodo CentralNodoCentralConcedidoUbicaciónUnlock oDowngradeSolicitud deWrite-LockSitioSolicitanteMensajes de ControlMensaje de DatoDatoEBD2015 21 - Mg. Mercedes VitturiniSitio/s conSitio/s condato pedidodato pedido

Método de Nodo CentralAnálisis del método Nodo Central Se requieren de mensajes de control extra: al nodocentral y al nodo donde reside la copia del dato. El nodo central es el cuello de botella de laperformance de la red, la mayoría de los mensajes vienende él o van hacia él. La falla del sitio que opera de nodo central tornainoperativo al sistema. Es sencillo de implementar y de detectar y manejarsituaciones de deadlock.EBD2015 21 - Mg. Mercedes Vitturini

Gestión de Bloqueos Híbrida:Sitio primario Define un sitio primario o “nodo copia primaria” para cada ítemde dato. Así, la responsabilidad en la administración de los bloqueos paraun ítem lógico A se deja a cargo de un sitio particular, sin importarcuántas copias del mismo dato existan.–Ejemplo: sea una base de datos de un banco y los nodos de la redsucursales del banco, es natural considerar el sitio primario del ítemcuenta a la sucursal que creó y tiene esa cuenta. Si el sitio primario S del ítem A no es el nodo Si donde se ejecutala transacción, entonces Si envía un requerimiento de bloqueo algestor de S y se espera por su respuesta.EBD2015 21 - Mg. Mercedes Vitturini

Sitio primarioVarios sitios comparten la responsabilidad de administrarbloqueos: La gestión de bloqueos distribuida se implementacolaborando entre varios gestores de bloqueos ubicadosen distintos nodos. Cada gestor de bloqueos controla el acceso a datos de losque tiene una copia local. Se define un protocolos para actualizar todas las copias. Ventajas:– Distribuye el trabajo,– El sistema es más robusto ante fallos.EBD2015 21 - Mg. Mercedes Vitturini

Lock-S con Sitio PrimarioSitioPrimario deASolicitud deRead-LockSitioMensajes de ControlSolicitanteMensaje de control DatoEBD2015 21 - Mg. Mercedes Vitturini

Gestión de Bloques en DDBMS Algunas alternativas para implementar la traducción entre “lockde dato lógico” en “locks de datos físicos ” en entornosdistribuidos con réplicas:– Utilizar un Gestor de Bloqueos Centralizado. Nodo Central – Utilizar Gestión de Bloqueos Distribuida. ROWA Mayoría K de n– Otras propuestas híbridas Sitio primario (o copia primaria) Token primarioEBD2015 21 - Mg. Mercedes Vitturini

Gestión de bloqueos distribuida:Read-Locks-One / Write-Locks-All Para obtener un read-lock (lock-s) sobre un ítem de datoA, la transacción debe obtener un lock-S sobre una de lascopias de A (dato físico). Para obtener un write-lock (lock-x) sobre un ítem de datoA, la transacción debe obtener el lock sobre todas lascopias de A (dato físico).Las reglas para conceder bloqueos son:– Un read-lock se consigue sobre una copia si ninguna otratransacción tiene un write-lock sobre la copia.– Un write-lock es concedido sobre una copia si ninguna otratransacción tiene un read-lock o un write-lock sobre la copia.EBD2015 21 - Mg. Mercedes Vitturini

ROWA - AnálisisSi existen n copias de un dato A. Para obtener read-lock sobre A, se necesita conocer unsitio donde exista una copia de A para enviarle elrequerimiento de bloqueo. Si se concede el bloqueo: 1mensaje de control y 1 mensaje de datos. La concesióndel bloqueo viene con el dato. Para obtener write-lock sobre A, se necesitan enviar 2nmensajes de control (n para requerir el bloqueo y n deconcesión del mismo) y n mensajes de datos.EBD2015 21 - Mg. Mercedes Vitturini

ROWA: lock-XMensaje de Control (Pedido)Mensaje de Control (Si/No)S1Mensaje de DatoS2S0S3.SnMensajes para escriturasEBD2015 21 - Mg. Mercedes Vitturini

ROWA: lock-sMensaje de Control (Pedido)Mensaje de Control (Si) DatoS0S1S2S3.Mensajes de LecturaEBD2015 21 - Mg. Mercedes VitturiniSn

ROWA ROWA se comporta apropiadamente en entornos dondepredominan las lecturas.–Ejemplo: una guía telefónica on-line, donde los datos seactualizan en períodos fijos y las lecturas son en todomomento las operaciones predominantes. Si se solicita más de un pedido de escritura (lock-X)simultáneamente y el mismo no puede ser otorgado, si sedecide esperar se puede entrar en deadlock. Cuando se solicita un pedido de lectura y el mismo nopuede ser otorgado, en general se espera (lo más probablees que otro sitio esté escribiendo el dato).EBD2015 21 - Mg. Mercedes Vitturini

Deadlocks en escrituras en ROWAMensaje de Control (Pedido)Mensaje de Control (Si)S1S2SiS3SjS4Si esperarespuesta positivade S4 y S5.S5EBD2015 21 - Mg. Mercedes VitturiniSj esperarespuesta positivade S1 S2 y S3.

Majority Locking Para obtener un read-lock sobre A, una transaccióndebe obtener un read-lock sobre la mayoría de lascopias de A. Para obtener un write-lock sobre A, una transaccióndebe obtener un write-lock sobre la mayoría de lascopias de A.Las reglas para conceder bloqueos son iguales al protocoloanterior. Si se asume que el número (n) de copias la mayoríaes el techo de (n 1)/2.Ejemplo: la mayoría para n 5 es 3, y la mayoría para n 6 es 4.EBD2015 21 - Mg. Mercedes Vitturini

Majority Locking - AnálisisSi existen n copias de un dato A. Para realizar un write-lock A, se envian n 1 mensajes decontrol ((n 1)/2 para requerir el bloqueo y (n 1)/2 deconcesión del mismo) y n mensajes de datos (se escribentodas las copias). El número de mensajes de control es similar si se realiza unread-lock pero se atiende sólo 1 mensaje de datos. Si la transacción corre en el sitio de una de las copias, sepueden omitir algunos mensajes (no se transfieren por lared).EBD2015 21 - Mg. Mercedes Vitturini

Majority Locking: lock-xMensaje de Control (Pedido)Mensaje de Control (Si/No)S1Mensaje de DatoS2S0S3S4Mensajes para EscriturasEBD2015 21 - Mg. Mercedes VitturiniS5

Majority Locking: lock-sMensaje de Control (Pedido)Mensaje de ControlS1Mensaje de Control DatoS2S0S3Mensajes para lecturasS4En este caso, todos los sitioscontactados envían el dato pero seprocesa el que llega primero.S5EBD2015 21 - Mg. Mercedes Vitturini

Majority Locking Este protocolo se comporta de manera apropiada sipredominan las escrituras.–Ejemplo: un sistema de reserva de pasajes, donde losdatos se modifican constantemente. Cuando se solicitan simultáneamente pedidos, sólo un sitiopuede obtener la mayoría por lo que existe menor riesgo dedeadlock. Si se solicita un dato y fracasa el pedido, se puede esperarque se liberen copias para obtener la mayoría, o bien seaborta la transacción. En caso de espera, debe garantizarse que un sitio no entreen estado de inanición (en espera continua).EBD2015 21 - Mg. Mercedes Vitturini

Menor riesgo de deadlocks en escriturasMensaje de Control (Pedido)Mensaje de Control (Si)S1Liberar PedidoComo Sj no obtienemayoría, libera losbloqueos obtenidos.S2SiS3S4S5EBD2015 21 - Mg. Mercedes VitturiniSj

Estrategia k-de-nSi existen n copias del dato. Sea k un valor tal que n/2 k n. Para obtener un write-lock A, una transacción debeobtener un write-lock sobre k copias de A. Para obtener un read-lock A, una transacción debeobtener un read-lock sobre un total de n-k 1 copias deA. No es posible que existan read-locks y write-lockssimultáneamente (se necesitarían n 1 copias de A). Tampoco pueden existir dos write-locks simultáneamente (k n/2).EBD2015 21 - Mg. Mercedes Vitturini

Estrategia k-de-n La estrategia n-de-n deriva en Write-Locks-All. La estrategia (n 1)/2-de-n deriva en Majority Locking. A medida que k se incrementa, el protocolo se desempeñamejor en situaciones en donde se realizan lecturas másfrecuentemente. A medida que k se decrementa, el protocolo se desempeñamejor en situaciones donde predominan las escrituras.EBD2015 21 - Mg. Mercedes Vitturini

Estrategia 4-de-5: lock-xMensaje de Control (Pedido)Mensaje de Control (Si/No)Mensaje de DatoS0S1S2S3S4EscriturasS5EBD2015 21 - Mg. Mercedes Vitturini

Estrategia 4-de-5: lock-sMensaje de Control (Pedido)Mensaje de ControlS1Mensaje de Control DatoS2S0S3S4LecturasEn este caso, todos los sitioscontactados envían el dato pero seprocesa el que llega primero.EBD2015 21 - Mg. Mercedes VitturiniS5

Gestión de Bloqueos en DDBMS Algunas alternativas para implementar la traducción entre “lockde dato lógico” en “locks de datos físicos ” en entornosdistribuidos con réplicas:– Utilizar un Gestor de Bloqueos Centralizado. Nodo Central– Utilizar Gestión de Bloqueos Distribuida. ROWA Mayoría K de n– Otras propuestas híbridas Sitio primario (o copia primaria) Token primarioEBD2015 21 - Mg. Mercedes Vitturini

Tokens de Copia Primaria Este método asume la existencia de read-tokens ywrite-tokens, o privilegios que los nodos de la redpueden obtener, en beneficio de sus transacciones ycon el fin de acceder a los ítems. Para un ítem A, puede existir sólo un write-token. Si noexiste un write-token, puede existir cualquier númerode read-tokens.– Si un sitio tiene un write-token para A, entonces puedeconceder un read-lock o un write-lock para A.– Si un sitio tiene un read-token para A, entonces solamentepuede conceder un read-lock para A.EBD2015 21 - Mg. Mercedes Vitturini

Tokens de Copia Primaria Si una transacción en un sitio N desea un write-lock paraA, debe obtenerlo para el sitio.– Si el write-token está en ese sitio entonces nohace nada.– Si el write-token no está en ese sitio entoncesContinua .EBD2015 21 - Mg. Mercedes Vitturini

El write-token no está en el sitio entonces . N envía un mensaje a todos los sitios requiriendo el write-token. Cada sitio M que recibe el requerimiento y contesta:(a) M no tiene un read/write-token para A o está por liberarlo demodo que N puede obtener el write-token.(b) M tiene un read/write-token para A y no lo liberará (otratransacción lo está usando o ha sido reservado a otro sitio). Si todos los sitios contestan (a), N puede obtener el write-tokeny envía un mensaje a cada sitio diciendo que aceptó el writetoken y que deberían destruir el que ellos tienen. Si algunos contestan (b), N no puede obtener el write-token ydebe enviar un mensaje a los sitios que contestaron (a) para quecancelen la reserva sobre A.EBD2015 21 - Mg. Mercedes Vitturini

Token de Copia PrimariaPedido de Write-TokenConcesión del PedidoDenegación del PedidoM1Acepto el TokenListoTodos concedenM2N. Se obtiene elWrite-TokenMmEBD2015 21 - Mg. Mercedes Vitturini

Token de Copia PrimariaPedido de Write-TokenConcesión del PedidoDenegación del PedidoM1Cancelar reservaAl menosuno denegaM2N. No se obtieneel Write-TokenMmEBD2015 21 - Mg. Mercedes Vitturini

Comparación de métodosMÉTODOMENSAJES DEMENSAJESCONTROL ENESCRITURADE CONTROLEN LECTURAS2n1 n 1 nNodo Central32Simple y vulnerable afallosSitio primario21Eficiente y vulnerable afallosToken primario0-4m0-4mROWAMayorían: número de copias del datoOBSERVACIONESBueno en ambientesdonde predominanlecturaCompensa mensajes enlecturas y escriturasSe adapta a cambiostemporariosm: número de nodos en la redEBD2015 21 - Mg. Mercedes Vitturini

Temas de la clase de hoy Sistemas Distribuidos– Protocolos de bloqueo con replicacion Bibliografía– “Database Systems Concepts” – A. Silberschatz.Capítulo 19 (ed. 2010)– “DataBase System – The Complete Book” – H. Molina,J. Ullman. Capítulo 20.– “Principles of Database and Knowledge-Base Systems”– J. Ullman. Capítulo 10.EBD2015 21 - Mg. Mercedes Vitturini

En un sistema de manejo de base de datos distribuido (SMBDD o DDBMS) la base de datos se almacena en diversas computadoras, denominados sitios o nodos, comunicados entre si. Características Los nodos están en equipos que no comparten memoria ni disco y se conectan por la red. Los nodos generalmente se ubican geográficamente separados. Las computadoras pueden variar en tamaño y .