Está en la página 1de 35

Ing.

Fabián Ruano
 Definición
 Diferencias con BD Centralizadas
 Almacenamiento cercano
 Procesamiento paralelo
 Expansión rápida
 Tolerancia a fallos
 Autonomía de nodos
 Control y manejo de datos
 Seguridad
 Complejidad en mantener integridad
 Control de concurrencia mas complejo
 Diseño de la base de datos distribuida:
distribución de información entre nodos
 Procesamiento de consultas: costo de
procesamiento y transmisión de datos
 Control de concurrencia: coordinación de
acceso a la base de datos
 Confiabilidad: manejo de transacciones
• Independencia de datos: aplicaciones
inmunes a cambios en definición y
organización de datos y viceversa
• Lógica: inmunidad a cambios en estructura lógica
de la base de datos
• Física: ocultamiento de detalles sobre estructuras
de almacenamiento a las aplicaciones de usuario
• Transparencia de replicación: replicas
controladas por el sistema, no por el usuario.
 Transparencia a nivel de red
◦ Localización de datos: comando usado es
independiente de la ubicación de los datos y lugar
donde la operación se realice
◦ Esquema de nombramiento: proporcionando
nombre único a cada objeto de sistema distribuido.
 Transparencia de fragmentación: sistema
maneja conversión de consultas definidas
sobre relaciones globales a consultas
definidas sobre fragmentos
 Mayoría basadas en sistema ANSI-SPARC con
tres niveles: interno, conceptual y externo.
◦ Externa: vista por usuario
◦ Conceptual: vista lógica global
◦ Interno: nivel de descripción mas bajo de los datos
en una base de datos
Dimensiones
• Distribución
• Heterogeneidad
• Autonomía
• Diseño: decisión sobre cuestiones de diseño
• Comunicación: decisión sobre cuestiones de
comunicación
• Ejecución: decisión sobre cuestiones de ejecución
de operaciones de manera local
Algoritmos de control de concurrencia:
• Candado de dos fases
• Ordenamiento por estampas de tiempo
• Ordenamiento por estampas de tiempo
múltiple
• Control de concurrencia optimista
 Nivel de distribución
◦ Ninguno
◦ Solo datos (sist. Homogéneo)
◦ Datos mas programas (sist. Heteregéneo)
 Comportamiento de patrones de acceso
◦ Estático
◦ Dinámico
 Nivel de conocimiento sobre comportamiento de
patrones
◦ Sin información / parcial
◦ Información total
 Análisis de requerimientos que define el
ambiente del sistema. Determina necesidades
de los datos y del proceso.
DBMS debe ser definido por: desempeño,
confiabilidad, disponibilidad, economía y
flexibilidad.
 Diseño visual: definir las GUI
 Diseño conceptual: examina la empresa para
generar diagrama E-R
 Como resultado de los diseños conceptual y
visual debe darse un esquema conceptual
global y recopilación de los patrones de
acceso.
 Diseño de distribución: diseñar esquema
conceptual local para cada sitio del SD.
Fragmentación y asignación.
 Diseño físico: mapear esquemas conceptuales
locales con los dispositivos de
almacenamiento físicos disponibles en cada
sitio.
 Conveniente cuando BD ya existen y tareas de
proceso involucran integración.
 Punto de inicio son esquemas conceptuales
individuales, se integran para obtener
esquema conceptual global y posiblemente
generar GUI.
 Encontrar unidad de relación apropiada.
Diferentes aplicaciones ingresan a diferentes
sub-conjuntos de datos.
 Replicaciones mas convenientes, solamente
de sub-relaciones.
 Ejecuciones concurrentes de procesos sobre
sub-conjuntos aislados.
 Unión de fragmentos para consultas
◦ Costoso en proceso
◦ Costoso en transferencia de datos
 Control de semántica de datos y revisión de
integridad
 Fragmentación vertical

 Fragmentación horizontal

 Fragmentación híbrida
 Afecta desempeño de la ejecución de los
Query.
 Dependerá de las necesidades de nuestra
aplicación.
 Condición de completitud. La descomposición de una
relación R en los fragmentos R1, R2, ..., Rn es
completa si y solamente si cada elemento de datos
en R se encuentra en algún de los Ri.
 Condición de Reconstrucción. Si la relación R se
descompone en los fragmentos R1, R2, ..., Rn,
entonces debe existir algún operador relacional Ñ ,
tal que,R = Ñ 1£ i£ n Ri
 Condición de Fragmentos Disjuntos. Si la
relación R se descompone en los fragmentos R1, R2,
..., Rn, y el dato di está en Rj, entonces, no debe estar
en ningún otro fragmento Rk (k¹ j).
 Forma para asignación de fragmentos de las
relaciones en cada uno de los sitios teniendo
ya bien realizada nuestra fragmentación.
◦ Costos mínimos: costos de actualización entre
sitios y costos de comunicación de datos
◦ Desempeño: minimizar el tiempo de respuesta y
maximizar la salida de información a cada sitio.
 Mejora Querys de sólo lectura
 Confiabilidad
 Empeora Query de actualización
 Estrategias:
◦ No soportar replicación. Cada fragmento reside en un
solo sitio.
◦ Soportar replicación completa. Cada fragmento en cada
uno de los sitios.
◦ Soportar replicación parcial. Cada fragmento en algunos
de los sitios.
En diseño de distribución influyen factores
como:
 Información sobre el significado de los datos
 Información sobre las aplicaciones que los usan

 Información acerca de la red de comunicaciones


 Información acerca de los sistemas de cómputo
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

Considere la relación global: SUPPLIER( SNUM, NAME,


CITY )
entonces, la fragmentación horizontal puede ser
definida como:
SUPPLIER1 = SLcity == "SF"SUPPLIER
SUPPLIER1 = SLcity == "LA"SUPPLIER
 Esta fragmentación satisface la condición de
completes si "SF" y "LA" son solamente los únicos
valores posibles del atributo CITY.
 La condición de reconstrucción se logra con:
SUPPLIER = SUPPLIER1 union SUPPLIER2
 La condición de disjuntos se cumple claramente en
este ejemplo.
La fragmentación derivada horizontal se define
partiendo de una fragmentación horizontal.
En esta operación se requiere de Semi-junta
(Semi-Join) el cual nos sirve para derivar las
tuplas o registros de dos relaciones.
Las siguientes relaciones definen una
fragmentación horizontal derivada de la relación
SUPPLY.
SUPPLY1 = SUPPLYSJsnum ==
snumSUPPLIER1
SUPPLY2 = SUPPLYSJsnum ==
snumSUPPLIER2
 Enfoques
◦ Agrupamiento (Clustering): Inicia asignando cada
atributo a un fragmento, y en cada paso, algunos
de los fragmentos satisfaciendo algún criterio se
unen para formar un solo fragmento.
◦ Division: Inicia con una sola relación realizar un
particionamiento basado en el comportamiento de
acceso de las consultas sobre los atributos.
Formula general: min( Costo Total )
Dadas:
- Restricciones tiempo de rta
- Restricciones capacidad de almacenamiento
- Restricciones en tiempo de procesamiento
Costo total = procesamiento de consultas +
almacenamiento
Procesamiento de consultas = sumatoria del costo de
procesamiento de todas las consultas
Almacenamiento = sumatoria de costos de almacenar
todos los fragmentos en los correspondientes nodos
Costo de almacenamiento por nodo = costo
almacenamiento unitario en el nodo * tamaño
del fragmento
Costo del procesamiento por consulta = costo
de procesamiento + costo de transmision
Costo de procesamiento = costo de acceso +
costo de mantenimiento de integridad +
costo debido a control de concurrencia
Costo de acceso = sumatoria(numero total de
actualizaciones y lecturas realizadas por
consulta en el fragmento i * costo unitario de
procesamiento local en el fragmento i)
i = cada fragmento involucrado en la consulta
Costos de mantenimiento de integridad y costo
de control de concurrencia se calculan similar
al costo del control de acceso.
Costo de transmisión
- Procesamiento de actualizaciones = costo de
envió de mensajes de actualización a los N
nodos involucrados + costo de envió de
mensaje de confirmación
- Procesamiento de consultas = costo de
transmitir consulta a N nodos involucrados +
costo de transmisión de respuestas de los N
nodos a las N consultas
 Tiempo de respuesta
Para cada Qi el tiempo de respuesta <= máximo
tiempo de respuesta esperado.
• Almacenamiento
Costo de almacenamiento en Nodoi <=
capacidad de almacenamiento de dicho nodo
• Tiempo procesamiento
Carga de procesamiento Nodoi <= capacidad de
procesamiento de dicho nodo
 http://tododistribuido.files.wordpress.com/2
008/10/disdabe_design.pdf
 http://cursos.aiu.edu/Base%20de%20Datos%2
0Distribuidas/pdf/Tema%202.pdf
 http://geocities.ws/immonroy7/Cap_3.html
 http://lihectortorres.files.wordpress.com/201
0/09/base_de_datos_distribuidas.pdf

También podría gustarte