Bases de Datos Distribuidas BDD

Tipos

Heterogeneos (Semantico)

Restricciones de política y transacción

Entendimiento, significado e interpretación subjetiva de los datos

Representación y nombres

El universo de discurso desde el que se representan los datos

Homogeneos

Los datos son distribuidos entre todos los nodos.

Cada localidad utiliza el mismo DBMS

Todos los datos están disponibles para todas las localidades

La BD tiene un único esquema, el cual es global y utilizado por todas las
localidades.

Todos los usuarios tienen acceso a ese esquema global

Diferencias

Diferencias en modelos de datos

Diferencia en restricciones

Diferencias en los lenguajes de consulta

Caracterisiticas

Transparencia

Independencia de datos

La independencia lógica

Transparencia de red

La transparencia de ubicación

La transparencia de nombre

Transparencia de replicación

Transparencia de fragmentación

Diseño

Fragmentacion

subrelaciones

Formas de fragmentacion

Division horizontal

Division vertical

Híbrido

Reglas

Completitud

Reconstructibilidad

Disociabilidad

Alocacion de datos

Optimización

Mínimo costo

Performance

Replicacion

Aumentar el paralelismo en las consultas, dado que la misma información
residirá en más de una localidad de la red

Mejorar la disponibilidad de los datos ante eventuales caídas de nodos de
la red.

Procesamiento de consultas

Análisis léxico

Un análisis sintáctico

Revisa la sintaxis de la consulta para determinar si está formulada de acuerdo con las reglas sintácticas del lenguaje de consulta

Validación

Comprobar que todos los nombres de atributos y de relaciones sean válidos y tengan sentido
desde el punto de vista semántico en el esquema de BD que se está utilizando.

Identifica los símbolos del lenguaje en el texto de la consulta

Seguridad

Administración de vistas, control de la seguridad y control de la integridad

La información de autenticación de usuarios es replicada en cada nodo.
Los programas locales, iniciados en cada sitio remoto, debe, también
indicar el nombre de usuario y su password.

Todos los sitios del sistema distribuido se identifican y autentican a sí
mismo de la misma forma que lo hacen los usuarios

Transacciones distribuidas

Las transacciones locales

Son las que tienen acceso y actualizan datos sólo
en una BD local, residente en un nodo o localidad

Transacciones globales

Tienen acceso y actualizan datos en varios nodos o localidades de la red

Arquitectura

Subsistemas

Gestor de transacciones

Coordinador de transacciones

Iniciar la ejecución de la transacción

Dividir las transacciones en subtransacciones y distribuir estas
subtransacciones para su ejecución en los nodos adecuados

Coordinar la terminación de transacciones.

Control de concurrencia

Protocolos

Basado en bloqueo

Gestor único de bloqueo

Varios coordinadores

Protocolo de mayoría

Protocolo sesgado

Copia principal

Basado en hora de entrada

El esquema centralizado

El esquema distribuido

Tratamiento de Deadlock

El tratamiento del interbloqueo

Grados de espera locales a fin de determinar si el sistema distribuido tiene deadlock

Enfoque completamente distribuido

Enfoque centralizado

Evaluación de problemas

Problemas tecnicos

Diseño de BDD

Procesamiento de consultas distribuido

Administración del esquema global distribuido

Subtopic

Control de concurrencia distribuido

Control de deadlock distribuido

Soporte de SO

Tipos de BDD

Definiciones

Viabilidad

Se aprovecha más la potencia de la estación de trabajo para resolver tareas
complejas

Cada elemento de procesamiento autónomo se puede gestionar
independientemente y puede desarrollar mejor sus aplicaciones.

Una BDD es una única base de datos lógica que está físicamente separada
en varias computadoras que se encuentran conectadas por una red de
comunicaciones

Una BDD es una colección de múltiples BD, lógicamente interrelacionadas,
diseminadas sobre una red de computadoras

Integridad de datos en entornos distribuidos

Fallos en entornos distribuidos

Configuracion de division de red

Costo de comunicaciones

Disponibilidad

Costo de comunicaciones

Acciones

Si el nodo “caído” actuara como servidor central de algún tipo de operación,
se deberá seleccionar un nuevo servidor alternativo

Si estaban activas transacciones generadas en esa localidad hay que
abortarlas

Si se han guardado datos replicados en el nodo que no responde

División de la red.

Fallo en el enlace de comunicaciones

Pérdida de mensajes

Fallo de una estación de trabajo o nodo

Protocolos de compromiso bloqueantes

Performance asociado con ACP (protocolos atómicos de compromiso)

Eficiencia durante el procesamiento normal de las transacciones

Elasticidad en cuanto a fallos

Independencia de recuperación

Protocolo de cometido de dos fases

Tratamiento de fallos

Bitácora y control de concurrencia

Protocolo de cometido con presunción de
cometer

PC el coordinador asume que la información faltante corresponde a una transacción que efectivamente pudo cometer

Protocolo de cometido con presunción de
abortar

Trata todas las transacciones de la misma forma

Optimización de Protocolos de Compromiso

Protocolo Optimista

Acentúa la performance general del sistema reduciendo el bloqueo proveniente de aquellas transacciones que está preparadas para terminar pero que aún no lo hicieron

Protocolos de compromiso no bloqueantes

Protocolo de compromiso de tres fases

Condiciones

No pueden producirse divisiones de la red

Como máximo K nodos participantes en T pueden fallar mientras se
ejecute el protocolo de 3PC, siendo K el parámetro que indica el nivel de
tolerancia del protocolo

En cualquier momento deben funcionar al menos K+1 nodos (o sea que
pueden fallar como máximo la mitad menos uno de los nodos para que el
protocolo funcione)

Tratamiento de fallos

Fallo de un nodo participante

Fallo del coordinador o fallo producido por la división de la red

Protocolo de fallo del coordinador

Pasos

Los nodos que permanecen activos seleccionan un coordinador que
reemplace a Lc (en el apartado siguiente se describe variantes para la
elección del coordinador sustituto).

El nuevo coordinador, Lnuevo, envía un mesaje a cada nodo Lj participante
para preguntar por el estado de T.

Cada localidad, incluyendo Lnuevo, determina el estado local de T,
dependiendo de la información que contiene en su bitácora. El mensaje de
respuesta a Lnuevo puede ser: abortar, cometer, preparada, precomenter
o nada (en el caso de no haber recibido otro tipo de información del coordinador)

En función de las respuestas obtenidas Lnuevo decide que hacer con T

Selección del coordinador

Si el coordinador falla porque el nodo donde reside falla, el sistema sólo
puede continuar la ejecución reiniciando un nuevo coordinador en otro nodo. Para esto hay variantes de elección

Coordinador copia de seguridad

Un algoritmo de elección (luchador)