Monografias.com > Sin categoría
Descargar Imprimir Comentar Ver trabajos relacionados

Base de Datos Distribuidas (página 2)



Partes: 1, 2

4. Ambientes de
bases de datos distribuidas

Las BDD pueden ser:

  • Homogéneas: Todos los sitios tienen el mismo
    SGBD, son conscientes de la existencia de los demás
    sitios y cooperan en el procesamiento de las solicitudes. Los
    sitios locales mantienen un mismo esquema y SGBD.

  • Heterogéneas: Cada sitio puede tener un SGBD
    distinto así como esquemas diferentes. Puede que
    algunos sitios no conozcan a otros. Puede que solo ofrezcan
    facilidades limitadas para la cooperación en el
    procesamiento de transacciones.

5. Problemas
fundamentales a resolver en las bases de datos
distribuidas

  • Diseño de bases de datos
    distribuidas

  • Procesamiento y optimización de
    consultas

  • Manejo de transacciones y control de
    concurrencia

Etapas del
diseño

La etapa diferenciadora entre el diseño de una
base de datos centralizada y una base de datos distribuidas es el
"Diseño de la distribución" que consta de
dos actividades :

Fragmentación: Decidir
"como" dividimos la BD y en "que" partes .

Asignación: Decidir "donde"
ubicamos cada parte, así como si tendremos
replicación de datos.

Aspectos a considerar en el
diseño de una BD distribuida

  • Fragmentación: Una
    relación puede ser dividida en un número de
    sub-relaciones, denominadas fragmentos, los cuales son
    entonces distribuidas

  • Asignación: cada fragmento debe
    ser almacenado en un sitio en base a una distribución
    optima.

  • Replicación: El SGBDD puede
    mantener una copia de un fragmento en diferentes
    sitios

6.
Fragmentación

El problema de fragmentación se
refiere al particionamiento de la información para
distribuir cada parte a los diferentes sitios de la
red

Objetivos de la
fragmentación

El objetivo de la fragmentación consiste
en dividir la relación en un conjunto de relaciones
más pequeñas tal que algunas de las aplicaciones de
usuario sólo hagan uso de un fragmento.

Sobre este marco, una fragmentación óptima
es aquella que produce un esquema de división que minimiza
el tiempo de ejecución de las aplicaciones que emplean
esos fragmentos.

La unidad de fragmentación ideal no es la tabla
sino una subdivisión de ésta.

Esto es debido a:

  • Las aplicaciones usan vistas definidas sobre varias
    relaciones, es decir, se forman a partir de "trozos" de
    varias tablas. Si conseguimos que cada una de las vistas
    esté definida sobre subtablas locales (o en su defecto
    lo mas "cerca" posible) a cada aplicación, es de
    esperar un incremento en el rendimiento.

  • Si múltiples vistas de diferentes
    aplicaciones están definidas sobre una tabla no
    fragmentada, se tiene :

  • Si la tabla no está replicada entonces se
    produce generación de tráfico por accesos
    remotos.

  • Si la tabla está replicada en todos o algunos
    de los sitios donde residen cada una de las aplicaciones
    entonces la generación de trafico innecesario es
    producida por la necesidad de la actualización de las
    copias.

Ventajas

Al descomponer una relación en fragmentos
(unidades de distribución) :

  • Permitimos el procesamiento concurrente de
    transacciones ya que no se bloquean tablas enteras sino
    subtablas, por lo que dos consultas pueden acceder a la misma
    tabla a fragmentos distintos.

  • Permitimos la paralelización de consultas al
    poder descomponerlas en subconsultas, cada una de la cuales
    trabajará con un fragmento diferente
    incrementándose así el rendimiento.

Desventajas

  • Degradación del rendimiento en vistas
    definidas sobre varios fragmentos ubicados en sitios
    distintos (es necesario realizar operaciones con esos trozos
    lo cual es costoso)

  • El control semántico se dificulta y el
    rendimiento se degrada debido que la verificación de
    restricciones de integridad (claves ajenas, uniques, etc)
    implican buscar fragmentos en múltiples
    localizaciones.

Por lo tanto división y ubicación de los
fragmentos no es trivial.

Tipos de fragmentación de
datos

Existen tres tipos de fragmentación:

  • Fragmentación horizontal

  • Fragmentación vertical

  • Fragmentación híbrida

Para que una la fragmentación de una
relación sea correcta debe satisfacer las siguientes
condiciones:

  • 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 alguno de los fragmentos Ri.

  • Condición de
    Reconstrucción.

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 alguno de los fragmentos 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).

Fragmentación
horizontal

La fragmentación horizontal de una
relación R produce una serie de fragmentos
R1, R2, …, Rr, cada uno de los cuales contiene un
subconjunto de las tuplas de R que cumplen determinadas
propiedades (predicados)

Fragmentación horizontal primaria y
derivada

La Fragmentación Horizontal Primaria
(FHP)
de una relación se obtiene usando predicados
que están definidos en esa relación.

La Fragmentación Horizontal Derivada
(FHD
) por otra parte, es el particionamiento de una
relación como resultado de predicados que se definen en
otra relación.

Fragmentación vertical

La fragmentación vertical de una relación
R produce una serie de fragmentos R1, R2, …,
Rr
cada uno de los cuales contiene un subconjunto de los
atributos de R así como la clave primaria de
R.

Complejidad de la fragmentación
Vertical

La fragmentación vertical resulta más
complicada que la horizontal. En el caso vertical, si una
relación tiene m atributos clave no primarios, el
número de posibles fragmentos es igual a
B(m), es decir el m-ésimo número
de Bell [3]. Para valores grandes de m,
B(m)(mm; por ejemplo, para m
= 10, B(m) ( 115.000, para m = 15,
B(m) ( 109, para m = 30,
B(m) = 1023.

Estos valores indican que la obtención de una
solución óptima de la fragmentación vertical
resultará una tarea imposible, sino nos apoyamos en el uso
de heurísticas.

El problema de la asignación de
fragmentos

Asumamos que hay un conjunto de fragmentos F =
{ F1, F2, …, Fn } y una red que consiste de los sitios
S = { S1, S2, …, Sm } en los cuales un
conjunto Q = { q1, q2, …, qq } de consultas
se van a ejecutar.

El problema de asignación consiste en determinar
la distribución "óptima" de F en
S.

La optimalidad puede ser definida de acuerdo a dos
medidas:

  • Costo mínimo. Consiste del costo de
    comunicación de datos, del costo de almacenamiento, y
    del costo procesamiento (lecturas y actualizaciones a cada
    fragmento). El problema de la asignación, es encontrar
    un esquema de asignación o ubicación que
    minimiza la función de costo
    combinada.

  • Rendimiento: La estrategia de asignación
    se diseña para mantener una métrica de
    rendimiento. Las dos métricas más utilizadas
    son el tiempo de respuesta y el "throughput" (número
    de trabajos procesados por unidad de tiempo).

Asignación de
fragmentos

Asignación

Proceso mediante el cual se decide donde se ubicaran los
fragmentos de la etapa anterior y si se harán replicas de
los mismos.

Hacer replicas tiene sentido por :

  • Confiabilidad : Mayor seguridad ante perdida de
    datos

  • Disponibilidad : Mayor tolerancia a fallos ante
    caídas de los computadores

  • Aumento del paralelismo : Mayor eficiencia en las
    consultas de lectura al posibilitarse su
    descomposición en subconsultas y la
    paralelización de éstas.

Pero presenta el inconvenientes de las consultas de
escritura, que conllevan las actualización de todas las
copias de la red.

En la práctica : Sopesar lecturas vs
escrituras

  • Mas lecturas que escrituras : Replicación es
    buena idea

  • Mas escrituras que lecturas : No
    replicamos.

Según el grado de replicación,
distinguimos entre :

  • BD fragmentada : Fragmentos disjuntos, cada uno en
    un nodo (no hay replicas)

  • BD totalmente replicada : Se encuentra una copia de
    toda la BD en cada nodo

  • BD parcialmente replicada : Mezcla las anteriores.
    Algunos fragmentos están replicados.

Como se ve las técnicas de fragmentación y
replicación se combinan en la práctica.

Replicación de
fragmentos

El problema de la replicación de segmentos
asignación consiste en la determinación de que
fragmentos se replicarán en diferentes sitios a pesar de
los problemas que acarrea la
actualización.

7. Las 12 reglas
de un SGBDD

El principio fundamental de las Bases de Datos
Distribuidas o regla cero plantea que:

"Desde el punto de vista del usuario, un sistema
distribuido deberá ser idéntico a un sistema no
distribuido"

La regla cero conduce a las restantes 12
reglas.

Todas las reglas no son independientes entre sí,
ni tienen igual importancia pero son útiles para entender
la tecnología distribuida.

  • 1. Autonomía Local: Los sitios de un
    sistema distribuido deben ser autónomos.

La autonomía Local Implica:

  • Propietario local.

  • Administración local.

  • Responsabilidad local.

  • Integración local.

  • Representación local.

  • 2. No dependencia de un sitio
    central

No debe existir un único sitio, ya que
implicaría:

  • Cuello de botella.

  • Vulnerabilidad.

  • 3. Operación continua

  • Adición de elementos

  • Actualización de versiones

El usuario desconoce dónde están
físicamente los datos.

  • 5. Independencia de
    fragmentación.

Deseable porque simplifica los programas de los usuarios
y sus actividades en la terminal

  • 6. Independencia de réplica

La creación y destrucción de
réplicas debe hacerse transparente al usuario.

La réplica proporciona:

  • Ventajas:

  • Mayor Prestación: los datos son
    locales.

  • Mayor disponibilidad: los datos son accesibles
    siempre.

  • Desventajas

  • Hay que propagar las actualizaciones.

  • 7. Procesamiento distribuido de
    consultas

  • Los Sistemas relacionales brindan herramientas de
    consulta muy eficientes.

  • Varias maneras de trasladar los datos

  • 6. Manejo distribuido de
    transacciones

  • Transacción distribuida: varios agentes de la
    transacción en varios lugares.

  • Control de recuperación: una
    transacción atómica. Todos los agentes avanzan
    o retroceden juntos.

  • Control de concurrencia: Bloqueos mediante paso de
    mensajes.

  • 8. Independencia con respecto al
    equipo

  • El SGBD se ejecutará igual sea cual sea el
    equipo

  • 10. Independencia con respecto al Sistema
    Operativo

El SGBD debe ser multioperativo sin afectar al
usuario.

  • 11. Independencia con respecto a la
    Red

El SGBD debe soportar múltiples redes sin afectar
al usuario.

  • 12.  Independencia con respecto al
    SGBD

Se pueden manejar distintas copias de SGBD si manejan la
misma norma estándar de SQL: Oracle, Informix, Multibase,
etc.

8.
Conclusiones

Las bases de datos distribuidas son cada vez más
usadas por las empresas y suponen una ventaja competitiva frente
a los sistemas centralizados, siempre y cuando la empresa en
cuestión tenga necesidad de usar una base de datos de este
tipo. Lo más habitual es disponer de varias sedes y tener
que manejar información común, para lo cual las
bases de datos distribuidas son especialmente
útiles.

9.
BIBLIOGRAFÍA

Bray, O.H "Distributed Database
Management", Second Edition, 1982

M. Tamer Ozsus, Patric Valduriez Principles
of distributed database systems, Second Edition, 1999

Ceri, S., Pelagatti, G. Distributed Database, Principles
and Systems. McGraw-Hill, New York, 1984.

Ceri, S., Pernici, B., Wiederhold, G. Distributed
Database Design Methodologies. Proceedings of the IEEE, Vol. 75,
No. 5, May 1987.

Meghini, C., Thanos, C. The Complexity of Operation on a
Fragmented Relation. ACM Transaction on Database Systems, Vol.
16, No. 1, March 1991.

Sitio Web:
www.cs.valberta.ca/~database/distrib.html

 

 

Autor:

Vivian Romero Buchilla

Partes: 1, 2
 Página anterior Volver al principio del trabajoPágina siguiente 

Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

Categorias
Newsletter