Categorías: Todo - concurrencia - arquitectura - nodos - seguridad

por GABRIEL REYNALDO PUCHO CRUZ hace 3 años

199

Bases de Datos Distribuidas BDD

Una base de datos distribuida consiste en una colección de bases de datos interconectadas a través de una red, funcionando como una única entidad lógica. Las transacciones en este tipo de sistemas pueden ser locales, afectando solo a una base de datos en un nodo específico, o globales, distribuyéndose a través de múltiples nodos.

Bases de Datos Distribuidas BDD

Bases de Datos Distribuidas BDD

Integridad de datos en entornos distribuidos

Protocolos de compromiso no bloqueantes
Protocolo de compromiso de tres fases

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

Un algoritmo de elección (luchador)

Coordinador copia de seguridad

Protocolo de fallo del coordinador

Pasos

En función de las respuestas obtenidas Lnuevo decide que hacer con 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)

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

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).

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

Fallo de un nodo participante

Condiciones

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)

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

No pueden producirse divisiones de la red

Protocolos de compromiso bloqueantes
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

Protocolo de cometido con presunción de abortar

Trata todas las transacciones de la misma forma

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 de dos fases

Bitácora y control de concurrencia

Tratamiento de fallos

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

Independencia de recuperación

Elasticidad en cuanto a fallos

Eficiencia durante el procesamiento normal de las transacciones

Fallos en entornos distribuidos
Fallo de una estación de trabajo o nodo
Pérdida de mensajes
Fallo en el enlace de comunicaciones
División de la red.
Acciones

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

Si estaban activas transacciones generadas en esa localidad hay que abortarlas

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

Configuracion de division de red

Disponibilidad

Costo de comunicaciones

Definiciones

Viabilidad
Cada elemento de procesamiento autónomo se puede gestionar independientemente y puede desarrollar mejor sus aplicaciones.
Se aprovecha más la potencia de la estación de trabajo para resolver tareas complejas

Evaluación de problemas

Problemas tecnicos
Tipos de BDD
Soporte de SO
Control de deadlock distribuido
Control de concurrencia distribuido
Subtopic
Administración del esquema global distribuido
Procesamiento de consultas distribuido
Diseño de BDD

Control de concurrencia

Tratamiento de Deadlock
El tratamiento del interbloqueo

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

Enfoque centralizado

Enfoque completamente distribuido

Protocolos
Basado en hora de entrada

El esquema distribuido

El esquema centralizado

Basado en bloqueo

Copia principal

Protocolo sesgado

Protocolo de mayoría

Varios coordinadores

Gestor único de bloqueo

Transacciones distribuidas

Arquitectura
Subsistemas

Coordinador de transacciones

Coordinar la terminación de transacciones.

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

Iniciar la ejecución de la transacción

Gestor de transacciones

Transacciones globales
Tienen acceso y actualizan datos en varios nodos o localidades de la red
Las transacciones locales
Son las que tienen acceso y actualizan datos sólo en una BD local, residente en un nodo o localidad

Seguridad

Administración de vistas, control de la seguridad y control de la integridad
Todos los sitios del sistema distribuido se identifican y autentican a sí mismo de la misma forma que lo hacen los usuarios
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.

Procesamiento de consultas

Análisis léxico
Identifica los símbolos del lenguaje en el texto de la consulta
Un análisis sintáctico

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.

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

Diseño

Replicacion
Mejorar la disponibilidad de los datos ante eventuales caídas de nodos de la red.
Aumentar el paralelismo en las consultas, dado que la misma información residirá en más de una localidad de la red
Alocacion de datos
Optimización

Performance

Mínimo costo

Fragmentacion
Reglas

Disociabilidad

Reconstructibilidad

Completitud

Formas de fragmentacion

Híbrido

Division vertical

Division horizontal

subrelaciones

Caracterisiticas

Transparencia
Transparencia de fragmentación
Transparencia de replicación
Transparencia de red

La transparencia de nombre

La transparencia de ubicación

Independencia de datos

La independencia lógica

Tipos

Diferencias
Diferencias en los lenguajes de consulta
Diferencia en restricciones
Diferencias en modelos de datos
Homogeneos
Todos los usuarios tienen acceso a ese esquema global
La BD tiene un único esquema, el cual es global y utilizado por todas las localidades.
Todos los datos están disponibles para todas las localidades
Cada localidad utiliza el mismo DBMS
Los datos son distribuidos entre todos los nodos.
Heterogeneos (Semantico)
El universo de discurso desde el que se representan los datos
Representación y nombres
Entendimiento, significado e interpretación subjetiva de los datos
Restricciones de política y transacción