Contiene
Contiene
Contiene
Contiene
Contiene
Contiene
Contiene
Contiene
Es Robusto?
Es
El coordinador de transacciones
Contiene
Algunos de los protocolos de compromiso más sencillos y más utilizados
Algunos de los protocolos de compromiso más sencillos y más utilizados
Se utiliza
ventajas
ventajas
ventajas
ventajas
Contiene
Contiene
Contiene
Contiene
El sistema utiliza protocolos de control de las transmisiones, como TCP/IP, para tratar esos errores
los sistemas distribuidos pueden sufrir los mismos tipos de fallos que los sistemas centralizados como:
El coordinador es responsable de:
El coordinador es responsable de:
coordina la ejecución de las diferentes transacciones
administra la ejecución de las transacciones (o subtransacciones)
un modelo abstracto de sistema de transacciones contiene:
un modelo abstracto de sistema de transacciones contiene:
Cada sitio tiene su propio gestor local de transacciones
cada subsistema puede consistir en un solo nodo
Contiene
Contiene
Se clasifica en
Se clasifica en
que es
y
Para superar este problema
Los elementos de datos deben tener nombres únicos
Transparencia de la fragmentación
Transparencia de la réplica
Transparencia de la ubicación
No se debe exigir a los usuarios de los sistemas distribuidos de bases de datos
que hace
implica la definición de varios subconjuntos de atributos
Se pueden aplicar los dos tipos de fragmentación a un solo esquema
la relación se divide en varios subconjuntos
Contiene el esquema
Contiene el esquema
mejorando el rendimiento de las operaciones
y debe asegurarse todas las réplicas de la relación sean consistentes
Cuantas más réplicas de una relación haya
se combinan
Fragmentación de los datos
Sobrecarga incrementada durante la actualización
Paralelismo incrementado
Disponibilidad
que hace
Debe haber
Contiene dos enfoques de almacenamiento
La diferencia entre software
La diferencia entre esquemas
que utilizan
Un mismo software
que utilizan
Contiene
Contiene
Contiene
Contiene
Contiene
Contiene
Se clasifican
Se clasifican
se combinan
Que detecta?

Bases de datos distribuidas

Homogéneas

un mismo software de gestión de base de datos y tienen en cuenta la existencia de los demás sitios.

Genera un intercambios de información entre transacciones en varios sitios

Heterogéneas

esquemas diferentes y diferente software de gestión de base de datos en sitios diferentes.

Problemas en el procesamiento de consultas

Problemas en el procesamiento de transacciones

Almacenamiento Distribuido

Réplica

Conserva copias idénticas de las relaciones y las guarda en su sitio diferente

La relaciones pueden dividirse en varios fragmentos y pude haber varias replicas de cada fragmento

Si alguno de los sitios que contiene la relación falla, la relación puede hallarse en otro sitio distinto.

Varios sitios pueden procesar en paralelo las lecturas que impliquen una relación

Mayor será la posibilidad de que los datos necesarios se encuentren en el sitio donde se ejecuta la transacción

Se encarga de propagar la actualización de la relación a todos los sitios que contienen réplicas.

en caso contrario pueden producirse cómputos erróneos

De lectura y aumenta la disponibilidad de
datos para las transacciones sólo de lectura

Dividir la relación en varios fragmentos, estos fragmentos contienen suficiente información como para permitir la reconstrucción de la relación original.

Fragmentación horizontal

Cada tupla de la relación debe pertenecer como mínimo a uno de los fragmentos de modo que se pueda reconstruir la relación original

Por ejemplo, los fragmentos obtenidos
de la fragmentación horizontal de una relación
pueden dividirse nuevamente de manera vertical.

Fragmentación vertical

La fragmentación debe hacerse de modo que se pueda reconstruir la relación a partir de los fragmentos tomando la reunión natural

Fragmentación

Divide la relación en varios fragmentos y guarda cada fragmento en un sitio diferente

Transparencia

Que conozcan la ubicación física
de los datos ni el modo en que se puede tener acceso

hay que tener cuidado para asegurarse de que dos sitios no utilicen el mismo nombre para elementos de datos diferentes

el sistema de bases de
datos puede crear un conjunto de nombres alternativos
o alias para los elementos de datos

No se exige a los usuarios que conozcan la ubicación física de los datos

Los usuarios ven cada objeto de datos como lógicamente único

Los usuarios no deben preocuparse por los objetos que se hayan replicado
ni por la ubicación de esas réplicas

No se exige a los usuarios que conozcan el modo en que se ha fragmentado la relación.

Transacciones Distribuidas

El acceso a los diferentes elementos de datos en los sistemas distribuidos

Las transacciones locales

Son las que tienen acceso a los datos y los actualizan sólo en una base de datos local

las transacciones globales

Son las que tienen acceso a datos y los actualizan en varias bases de datos locales

Estructura del sistema

cuya función es asegurar las propiedades ACID de las transacciones que se ejecuten en ese sitio

gestor de transacciones

las transacciones se ejecuta sólo en un sitio o se ejecuta en varios sitios.

coordinador de transacciones

Globales como locales, son responsables de la coordinación
de la ejecución de todas las transacciones iniciadas en ese sitio

Inicio de la ejecución de la transacción

División de la transacción en varias subtransacciones y distribución de esas subtransacciones a los sitios correspondientes para su ejecución

Coordinación de la terminación de la transacción, que puede hacer que la transacción se comprometa en todos los sitios o que se aborte

Modos de fallo del sistema

• Fallo de un sitio
• Pérdida de mensajes
• Fallo de un enlace de comunicaciones
• División de la red

Si falla un enlace de comunicaciones los mensajes que se deberían haber transmitido por el enlace deben reencaminarse

Un sistema está dividido si se ha dividido en dos (o más) subsistemas, denominados particiones, que carecen de conexión entre ellas

Control de la concurrencia en las bases de datos distribuidas

Protocolos de bloqueo

Enfoque de gestor único de bloqueos

Implementación sencilla

Tratamiento sencillo de los interbloqueos

Cuello de botella

Vulnerabilidad

Gestor distribuido de bloqueos

Copia principal

Protocolo de mayoría

Implementación

Tratamiento de los interbloqueos

Protocolo sesgado

Bloqueos compartidos

Bloqueos exclusivos

Protocolo de consenso de quórum

Marcas temporales

Réplica con grado de consistencia bajo

Tratamiento de los interbloqueos

Protocolos de compromiso

Para asegurar la atomicidad en el coordinador de transacciones

protocolo de compromiso de dos fases (C2F)

El protocolo de compromiso

Fase 1

añade el registro a la transaccion

Fase 2

Recuperación y control
de la concurrencia

Tratamiento de los fallos

protocolo de compromiso de tres fases (C3F)

Modelos alternativos del procesamiento de transacciones

Protocolo de sitio receptor

Protocolo de sitio enviante

Disponibilidad

En concreto, dado que los fallos son más probables en los sistemas distribuidos de gran tamaño, una base de datos distribuida debe seguir funcionando aunque haya varios tipos de fallos.

detectar los fallos, reconfigurar el sistema de modo que el cálculo pueda continuar y recuperarse cuando se repare el procesador o el enlace.

Procesamiento Distribuido de Consultas

Transformación de consultas

Procesamiento de reuniones sencillas

Estrategia de semirreunión

Estrategias de reunión que aprovechan el paralelismo

Bases de datos distribuidas heterogéneas

Vista unificada de los datos

Procesamiento de las consultas

Sistemas de directorio

Protocolos de acceso a directorios

El protocolo de acceso ligero
a directorios LDAP (Lightweight
Directory Access Protocol)

El modelo de datos LDAP

Tratamiento de los datos

Árboles distribuidos de directorio

que se ha producido un fallo, pero puede que no logre identificar el tipo de fallo.

Topic flotante