Interconectados por una rede de computadores que cooperan para desarrollar tareas
Sinónimos
Funciones distribuídas
Procesamiento distribuído de datos
Multiprocesadores
Procesamiento satélite
Sistemas de tiempo compartido
Sistemas funcionalmente modulares
¿Qué se distribuye?
Procesamiento lógico
Funciones
Datos
Control
¿Qué es un sistema de bases de datos distribuída?
Bases de Datos
lógicamente interrelacionadas
Red de computadores
D-DBMS
Maneja las BDD de forma que sea transparente para el usuario
Ejemplos
Centralizada
Base de datos centralizada
Distribuída
Base de datos distribuída
Aplicaciones
Manufacura (múltiples compañías)
Comandos militares y de control
Sistemas de información gerencial
Aerolíneas
Cadenas de hoteles
Cualquier organización descentralizada
Características
Transparencia
Diagrama
Diagrama
Consulta
Query
Lo que ve el usuario
Base distribuída
La realidad
Base distribuída
Paralelismo
Replicación completa
Cuando se requieren muchos datos en el sitio de ejecución
Actualización
Requiere
Protocolos de concurrencia
Protocolos de confirmación (commit)
Expansión
Depende de la tecnología usada
Procesadores
Estaciones de trabajo
Ejemplos
De memoria compartida
Ej 1
De disco compartido
Ej 2
Nada compartido
Ej 3
Diseño
el problema
datos
programas
Objetivos
Procesamiento local
Distribucion de carga de trabajo
Costo de almacenamiento y disponibilidad
Enfoques al problema
Estrategias
TOP-DOWN
aplicaciones nuevas
descripcion
Subtopic 1
BOTTOM-UP
bases de datos existentes
Preguntas basicas
por que hacer una fragmentacion de datos?
distribuir la informacion en diferentes sitios de la red
Como realizar la fragmentacion?
cual es la unidad razonable de distribucion?
relacion completa
considerado adecuado por el concepto de vista deusuario (conjunto de relaciones)
ineficiente en el procesamiento de consultas
sub-relaciones
mayor eficiencia en la ejecucion de transacciones concurrentes a porciones diferentes de una relacion
las vistas de usuario no se pueden definir sobre un solo fragmento
mayor demanda de procesamiento para localizar todos los fragmentos de una vista
mayor complejidad semantica
Como probar la validez de una fragmentacion?
Correctitud de una fragmentacion
Condicion de completitud
todos los elementos de la relacion se encuentran en algun fragmento
Condicion de reconstruccion
Existe un operador relacional que aplicado al conjunto de fragmentos, da como resultado la relacion original
Condicion de fragmentos disjuntos
si un dato se encuentra en un fragmento, no se encontrara en ningun otro
Como realizar el asignamiento de fragmentos?
tipo de fragmentacion
horizontales
tuplas de una relación global en subconjuntos, cada subconjunto puede contener datos que tienen propiedades comunes y se puede definir expresando cada fragmento como una operación de selección sobre la relación global.
Topic
verticales
La fragmentación vertical es la subdivisión de atributos en grupos. Los fragmentos se obtienen proyectando la relación global sobre cada grupo. La fragmentación es correcta si cada atributo se mapea en al menos un atributo del fragmento.
Topic
mixtas
consiste en aplicar la fragmentación vertical seguida de la fragmentación horizontal o viceversa
Como Considerar los requermientos de la informacion?
significado de los datos
aplicaciones que lo usan
red de comunicaciones
sistemas de computo
¿Problemas de concurrencia?
Teoría de la seriabilidad
Algoritmos de control de concurrencia
Bloqueantes
Centralizado
Copia primaria
De voto
Timestamp
Básico
Conservador
Multiversión
Optimistas
Conclusiones
Ventajas
Manejo de datos con diferentes niveles de transparencia
Incremento en la disponibilidad y confiabilidad
Fácil expansión
Refleja la estructura organizacional
La base se fragmenta de acuerdo a los departamentos con los que se relaciona
Autonomía local
Protección de datos valiosos
En caso de catástofe los datos se encuantran almacenados en diferentes ubicaciones
Mejoras en el desempeño
Los datos se localizan en sitios cercanos de acuerdo a la demanda
Como son paralelas entre sí la caraga se distribuye de forma balanceada entre servidores
Un módulo con alta carga en una DB no afecta a los otros módulos
Económicas
Es más barato crear una red de pequeños computadores con el mismo poder de un supercomputador
Modularidad
Los sistemas pueden ser modificados, agregados, y removidos sin afectar otros módulos o sistemas
Seguridad en las transacciones
Debido a la replicación de la base de datos.
Independencia
Hardware
Sistema operativo
Red
Fragmentación
SMBD
Replicación
Ubicación
Operación continua
No dependiente de un sitio central
Procesamiento distribuído de consultas
Manejo de transacciones dritribuídas
Desventajas
Complejidad
Trabajo extra para los DBAs
Asegurarse de que la naturaleza de distribución del sistema sea transparente
Trabajo extra en el diseño de la base de datos
Permisos
Roles
Económicas
Incremento en la complejidad
Infraestructura más costosa
Mayor y más horas laborales
Seguridad
Cada uno de los fragmentos debe ser igual de seguro
Seguridad de los enlaces
Dificultad al mantener la integridad
Requiere más recursos de red para reforzar la factibilidad
Falta de experiencia
Es un campo reciente y no es muy fácil aún trabajar en este
Falta de estándares
No hay recursos o metodologías para convertir de
Bases de datos centralizadas
Bases de datos distribuídas
Diseño de la base de datos
Aparte de las dificultades normales hay que considerar
Fragmentación de los datos
localización de los fragmentos en lugares específicos
Replicación de los datos
Software adicional
Sistema operativo
Debe soportar entornos distribuidos
Control de la concurrencia
Es el mayor problema, se resuelve con
Bloqueos
Marcas de tiempo
Deadlocks distribuídos
Commit distribuído
Commit de 2da fase
Bibliografía
Principles of Distributed Database Systems, Second Edition
M. Tamer Özsu - Patrick Valduriez