Topic flotante
que se ha producido un fallo, pero puede que no logre identificar el tipo de fallo.
Bases de datos distribuidas
Sistemas de directorio
El protocolo de acceso ligero
a directorios LDAP (Lightweight
Directory Access Protocol)
Árboles distribuidos de directorio
Tratamiento de los datos
El modelo de datos LDAP
Protocolos de acceso a directorios
Bases de datos distribuidas heterogéneas
Procesamiento de las consultas
Vista unificada de los datos
Procesamiento Distribuido de Consultas
Estrategias de reunión que aprovechan el paralelismo
Estrategia de semirreunión
Procesamiento de reuniones sencillas
Transformación de consultas
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.
Protocolos de compromiso
Modelos alternativos del procesamiento de transacciones
Protocolo de sitio enviante
Protocolo de sitio receptor
protocolo de compromiso de tres fases (C3F)
protocolo de compromiso de dos fases (C2F)
Tratamiento de los fallos
Recuperación y control
de la concurrencia
El protocolo de compromiso
Fase 2
Fase 1
añade el registro a la transaccion
Para asegurar la atomicidad en el coordinador de transacciones
Control de la concurrencia en las bases de datos distribuidas
Réplica con grado de consistencia bajo
Marcas temporales
Protocolos de bloqueo
Protocolo de consenso de quórum
Protocolo sesgado
Bloqueos exclusivos
Bloqueos compartidos
Protocolo de mayoría
Tratamiento de los interbloqueos
Implementación
Copia principal
Gestor distribuido de bloqueos
Enfoque de gestor único de bloqueos
Vulnerabilidad
Cuello de botella
Tratamiento sencillo de los interbloqueos
Implementación sencilla
Transacciones Distribuidas
Un sistema está dividido si se ha dividido en dos (o más) subsistemas, denominados particiones, que carecen de conexión entre ellas
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
Estructura del sistema
cuya función es asegurar las propiedades ACID de las transacciones que se ejecuten en ese sitio
coordinador de transacciones
Globales como locales, son responsables de la coordinación
de la ejecución de todas las transacciones iniciadas en ese sitio
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
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
gestor de transacciones
las transacciones se ejecuta sólo en un sitio o se ejecuta en varios sitios.
las transacciones globales
Son las que tienen acceso a datos y los actualizan en varias bases de datos locales
Las transacciones locales
Son las que tienen acceso a los datos y los actualizan sólo en una base de datos local
El acceso a los diferentes elementos de datos en los sistemas distribuidos
Almacenamiento Distribuido
Transparencia
No se exige a los usuarios que conozcan el modo en que se ha fragmentado la relación.
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 la ubicación física de los datos
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
Fragmentación
Divide la relación en varios fragmentos y guarda cada fragmento en un sitio diferente
Réplica
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 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 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.
Se encarga de propagar la actualización de la relación a todos los sitios que contienen réplicas.
De lectura y aumenta la disponibilidad de
datos para las transacciones sólo de lectura
en caso contrario pueden producirse cómputos erróneos
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
Si alguno de los sitios que contiene la relación falla, la relación puede hallarse en otro sitio distinto.
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
Heterogéneas
esquemas diferentes y diferente software de gestión de base de datos en sitios diferentes.
Problemas en el procesamiento de transacciones
Problemas en el procesamiento de consultas
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