diseÑo de base de datos
DESCRIPTION
diseño de base de datos distribuidosTRANSCRIPT
Introducción
El diseño de base de datos distribuidas es el
encargado de tomar decisiones en la
ubicación de programas que accederán a
la base de datos y sobre los datos que la
constituyen, en torno a los diferentes nodos
que conforman la red.
El diseño de la distribución de datos se la
puede analizar desde 3 niveles.
Nivel de compartición
Inexistente (Cada máquina
independiente en aplicaciones y datos)
Compartición de datos (Aplicaciones
propias solo se comparte datos)
Compartición de datos y programas (Se
comparten aplicaciones y datos)
Características de acceso a
los datos
Estático (Modelo de acceso a datos no
varía con el tiempo)
Dinámico (Modelo de acceso a datos
varía con el tiempo)
Nivel de conocimiento de las
características de acceso
Sin información (Los diseñadores no
tienen información de cómo acceden los
usuarios a los datos)
Con información parcial (Los diseñadores
no poseen toda la información de cómo
acceden los usuarios a los datos)
Con información total (Los diseñadores
poseen la información completa de
cómo los usuarios acceden a los datos)
Estrategias de diseño
Estas estrategias son las utilizadas al diseñar
una base de datos relacional, pero
añadiendo un paso de diseño de la
distribución.
A la hora de abordar el diseño de una base
de datos distribuida podremos optar
principalmente por dos tipos de estrategias:
la estrategia ascendente y la estrategia
descendente:
Estrategia Ascendente
botton-up
Se parte de los esquemas conceptuales
locales y se trabaja para llegar a conseguir
el esquema conceptual global. Después se
pasaría al diseño de distribución. Esta
estrategia suele ser utilizada para integrar
varias bases de datos centralizadas
existentes.
Estrategia Descendente
top-down
Se parte de cero y se avanza en el desarrollo del trabajo. Los pasos a realizar mediante esta estrategia son los siguientes:
Análisis de Requisitos
Diseño de vistas
Diseño conceptual
Diseño de la distribución
Diseño físico
Monitoreo y ajustes
Fragmentación
La fragmentación es el proceso encargado
de dividir una relación en otras
subrelaciones de menor tamaño, y su
objetivo es encontrar la unidad apropiada
de distribución. Existe una serie de razones
por las que llevar a cabo la fragmentación
de las cuales se menciona:
Utilización: En general, las aplicaciones funcionan
con vistas que normalmente son subconjuntos de
relaciones. Por tanto, es lógico considerar como unidad de distribución a esos subconjuntos de
relaciones.
Eficiencia: Los datos se almacenan cerca del
lugar en el que son utilizados con mayor
frecuencia. Además, los datos que las aplicaciones locales no necesitan no se
almacenan en ese nodo.
Paralelismo: La descomposición de una relación
en fragmentos permite que una transacción
pueda ser dividida en subconsultas. Cada subconsulta operará sobre el fragmento
adecuado. En definitiva, se aumenta el grado de
concurrencia.
Seguridad: Los datos no requeridos por las
aplicaciones locales no se almacenan en ese nodo, por lo que no están disponibles para los
usuarios no autorizados.
Tipos de Fragmentación
Fragmentación horizontal. Consiste en el
particionamiento en tuplas de una relación
global en subconjuntos, donde cada
subconjunto puede contener datos que
cumplen una condición y se puede definir
expresando cada fragmento como una
operación de selección sobre la relación
global.
Tipos de Fragmentación
Fragmentación vertical. En este tipo de
fragmentación se dividen el conjunto 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.