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)