sábado, 1 de octubre de 2011

Fragmentación, Replicación y Reparto de datos para el diseño

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. Inmediatamente aparece la siguiente pregunta: ¿cuál es la unidad razonable de distribución?. Se puede considerar que una  relación completa es lo adecuado ya que las vistas de usuario son subconjuntos de las relaciones. Sin embargo, el uso completo de relaciones no  favorece las cuestiones de eficiencia sobre todo aquellas relacionadas con el procesamiento de consultas.
La otra posibilidad es usar fragmentos de relaciones (sub-relaciones) lo cual favorece la ejecución concurrente de varias transacciones  que accesan porciones diferentes de una relación. Sin embargo, el uso de sub-relaciones también presenta inconvenientes. Por ejemplo,  las vistas de usuario que no se pueden definir sobre un solo fragmento necesitarán un procesamiento adicional a fin de localizar  todos los fragmentos de una vista. Aunado a esto, el control semántico de datos es mucho más complejo ya que, por ejemplo,  el manejo de llaves únicas requiere considerar todos los fragmentos en los que se distribuyen todos los registros de la relación.

En resumen, el objetivo de la fragmentación es encontrar un nivel de particionamiento adecuado en el rango que va desde tuplas o atributos hasta relaciones completas.
Existen dos tipos de fragmentación:
1. Fragmentación horizontal: La fragmentación horizontal consiste en particionar las tuplas de una relación global en subconjuntos; esto es claramente útil en BDDs, donde cada subconjunto contiene datos que tienen propiedades lógicas y, en general, geográficas comunes.

Se define cada fragmento con una operación de selección sobre la relación global.

Ejemplo: Supongamos la siguiente relación global:

PROV (nupro, nopro, nolocpro)
la fragmentación horizontal puede ser definida de la siguiente forma:
PROV1 = σnolocpro = “Madrid” (PROV)
PROV2 = σnolocpro = “Barcelona” (PROV)


2. Fragmentación vertical: La fragmentación vertical de una relación global es la subdivisión de sus atributos en grupos; los fragmentos son obtenidos proyectando la relación global en cada grupo. Esto puede ser útil en BDDs cuando cada grupo de atributos pueden contener datos que tienen propiedades geográficas comunes y con tratamientos diferenciados.

Ejemplo: Consideremos la siguiente relación:

EMP (nuemp, noemp, isalemp, itasaemp, nudep)

Una fragmentación vertical de esta relación puede definirse como:
EMP1 = Õ nuemp, noemp, nudep (EMP)
EMP2 = Õ nuemp, isalemp, itasaemp (EMP)
Esta fragmentación podría, por ejemplo, reflejar una organización en la que los salarios y tasas son gestionados separadamente.


REPLICACIÓN:

Resulta útil para mejorar la disponibilidad de datos. Esto puede mejorar la disponibilidad notablemente porque el sistema puede seguir operando mientras, por lo menos, uno de los sitios este activo. También mejorar el rendimiento de la obtención de datos en consultas globales porque el resultado de semejante consulta se puede obtener localmente en cualquier sitio. 

La desventaja es que puede reducir drásticamente la rapidez de operaciones de actualización debido a que una sola actualización lógica deberá ejecutar con todas y cada una de las copias de la base de datos a fin de mantener consistencia. 

REPARTO DE DATOS:

Cada fragmento o copia se debe asignar a un sitio determinado. La elección de sitios y el grado de replicación depende de los objetivos de rendimiento y disponibilidad para el sistema y de los tipos y frecuencias de transacciones introducidas en cada sitio.


BIBLIOGRAFIA:
http://html.rincondelvago.com/sistemas-de-bases-de-datos_1.html
http://sistemasmorela.blogspot.com/

No hay comentarios:

Publicar un comentario