Categorías: Todo - disponibilidad - transparencia - heterogéneas - fallos

por Jhon Ramirez hace 7 años

640

Bases de datos distribuidas

Las bases de datos distribuidas pueden ser homogéneas o heterogéneas, dependiendo de si utilizan el mismo software de gestión de base de datos o diferentes. En los sistemas homogéneos, se facilita el intercambio de información entre transacciones en varios sitios, mientras que los sistemas heterogéneos presentan desafíos en el procesamiento de consultas y transacciones.

Bases de datos distribuidas

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