You are on page 1of 7

Esquema de Fragmentacion & distribucion de BDD

2.4 Fragmentacin y distribucin de datos


El problema de fragmentacin se refiere al particionamiento de la informacin para
distribuir cada parte a los diferentes sitios de la red, como se observa en la Figura
3.2. Inmediatamente aparece la siguiente pregunta: cul es la unidad razonable
de distribucin? Se puede considerar que una relacin 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.
El diseo de una base de datos distribuida, cualquiera sea el enfoque que se siga,
debe responder satisfactoriamente las siguientes preguntas:
Por qu hacer una fragmentacin de datos?
Cmo realizar la fragmentacin?
Qu tanto se debe fragmentar?
Cmo probar la validez de una fragmentacin?
Cmo realizar el asignamiento de fragmentos?
Cmo considerar los requerimientos de la informacin?

La otra posibilidad es usar fragmentos de relaciones (sub-relaciones) lo cual


favorece la ejecucin concurrente de varias transacciones que accedan porciones
diferentes de una relacin. Sin embargo, el uso de sub-relaciones tambin
presenta inconvenientes. Por ejemplo, las vistas de usuario que no se pueden
definir sobre un solo fragmento necesitarn un procesamiento adicional a fin de
localizar todos los fragmentos de una vista.
Aunado a esto, el control semntico de datos es mucho ms 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 relacin. En resumen, el objetivo de
la fragmentacin es encontrar un nivel de particionamiento adecuado en el rango
que va desde tuplas o atributos hasta relaciones completas.

La relacin J se puede fragmentar horizontalmente produciendo los siguientes


fragmentos.
J1: proyectos con presupuesto menor que $200,000
JNO JNOMBRE PRESUPUESTO LUGAR
J1 Instrumentacin 150000 Monterrey
J2 Desarrollo de
bases de datos
135000 Mxico

J2: proyectos con presupuesto mayor que o igual a $200,000


JNO JNOMBRE PRESUPUESTO LUGAR
J3 CAD/CAM 250000 Puebla
J4 Mantenimiento 310000 Mxico
J5 CAD/CAM 500000 Guadalajara

- Fragmentos: cada relacin global puede ser dividida en porciones que no se solapen llamados fragmentos. El mapa resultante se
denomina esquema de fragmentacin. Una relacin global puede dividirse en n fragmentos y un fragmento slo puede pertenecer
a una relacin global. Los fragmentos se referencian por un nombre de relacin global y un subndice. Por ejemplo Ri indica el
fragmento i de la relacin R.
Los fragmentos son porciones lgicas de relaciones globales que pueden estar fsicamente ubicadas en uno o varios nodos de la
red. El esquema de ubicacin define en qu nodos un fragmento va a ser almacenado. El tipo de mapa definido en el esquema de
ubicacin determina si la BDD es redundante o no. Todos los fragmentos que corresponden a la misma relacin global R y estn
ubicados en el mismo nodo constituyen la imagen fsica de una relacin global R en el nodo. Las imgenes fsicas se pueden
referenciar por el nombre de la relacin global R y un superndice; por ejemplo, Rj indica la imagen fsica de la relacin global R en
el nodo j.
Por ltimo se denomina copia de fragmento a la informacin de un fragmento en un nodo determinado en un nodo dado, y se
denota usando el nombre de la relacin global, un subndice y un superndice. Por ejemplo, R3 2 indica copia del fragmento R2 que
est ubicado en el nodo 3. Dos imgenes fsicas pueden ser idnticas; se dice entonces que una imagen fsica es copia de otra
imagen fsica.

4. Ambientes de bases de datos distribuidas


Las BDD pueden ser:

Homogneas: Todos los sitios tienen el mismo SGBD, son conscientes de la existencia de los dems sitios y cooperan en el procesamiento de las
solicitudes. Los sitios locales mantienen un mismo esquema y SGBD.

Heterogneas: 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 cooperacin en el procesamiento de transacciones.

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

Diseo de bases de datos distribuidas

Procesamiento y optimizacin de consultas

Manejo de transacciones y control de concurrencia

Etapas del diseo

La etapa diferenciadora entre el diseo de una base de datos centralizada y una base de datos distribuidas es el "Diseo de la distribucin" que consta de dos
actividades :

Fragmentacin: Decidir "como" dividimos la BD y en "que" partes .

Asignacin: Decidir "donde" ubicamos cada parte, as como si tendremos replicacin de datos.

Aspectos a considerar en el diseo de una BD distribuida

Fragmentacin: Una relacin puede ser dividida en un nmero de sub-relaciones, denominadas fragmentos, los cuales son entonces distribuidas

Asignacin: cada fragmento debe ser almacenado en un sitio en base a una distribucin optima.

Replicacin: El SGBDD puede mantener una copia de un fragmento en diferentes sitios

6. Fragmentacin
El problema de fragmentacin se refiere al particionamiento de la informacin para distribuir cada parte a los diferentes sitios de la red

Objetivos de la fragmentacin

El objetivo de la fragmentacin consiste en dividir la relacin en un conjunto de relaciones ms pequeas tal que algunas de las aplicaciones de usuario slo hagan
uso de un fragmento.

Sobre este marco, una fragmentacin ptima es aquella que produce un esquema de divisin que minimiza el tiempo de ejecucin de las aplicaciones que emplean
esos fragmentos.

La unidad de fragmentacin ideal no es la tabla sino una subdivisin 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 aplicacin, es de esperar un incremento en el rendimiento.

Si mltiples vistas de diferentes aplicaciones estn definidas sobre una tabla no fragmentada, se tiene :

Si la tabla no est replicada entonces se produce generacin de trfico por accesos remotos.

Si la tabla est replicada en todos o algunos de los sitios donde residen cada una de las aplicaciones entonces la generacin de trafico innecesario es
producida por la necesidad de la actualizacin de las copias.

Ventajas

Al descomponer una relacin en fragmentos (unidades de distribucin) :

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 paralelizacin de consultas al poder descomponerlas en subconsultas, cada una de la cuales trabajar con un fragmento diferente
incrementndose as el rendimiento.

Desventajas

Degradacin 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 semntico se dificulta y el rendimiento se degrada debido que la verificacin de restricciones de integridad (claves ajenas, uniques, etc)
implican buscar fragmentos en mltiples localizaciones.

Por lo tanto divisin y ubicacin de los fragmentos no es trivial.

Tipos de fragmentacin de datos

Existen tres tipos de fragmentacin:

Fragmentacin horizontal

Fragmentacin vertical

Fragmentacin hbrida

Para que una la fragmentacin de una relacin sea correcta debe satisfacer las siguientes condiciones:

Condicin de completitud.

La descomposicin de una relacin 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.

Condicin de Reconstruccin.

La descomposicin de una relacin 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.

Condicin de Fragmentos Disjuntos.

Si la relacin R se descompone en los fragmentos R1, R2, ..., Rn, y el dato di est en Rj, entonces, no debe estar en ningn otro fragmento Rk (k?j).

Fragmentacin horizontal

La fragmentacin horizontal de una relacin 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)

Fragmentacin horizontal primaria y derivada

La Fragmentacin Horizontal Primaria (FHP) de una relacin se obtiene usando predicados que estn definidos en esa relacin.

La Fragmentacin Horizontal Derivada (FHD) por otra parte, es el particionamiento de una relacin como resultado de predicados que se definen en otra relacin.

Fragmentacin vertical

La fragmentacin vertical de una relacin 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 fragmentacin Vertical

La fragmentacin vertical resulta ms complicada que la horizontal. En el caso vertical, si una relacin tiene m atributos clave no primarios, el nmero de posibles
fragmentos es igual a B(m), es decir el m-simo nmero 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 obtencin de una solucin ptima de la fragmentacin vertical resultar una tarea imposible, sino nos apoyamos en el uso de heursticas.

El problema de la asignacin 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 asignacin consiste en determinar la distribucin "ptima" de F en S.

La optimalidad puede ser definida de acuerdo a dos medidas:

Costo mnimo. Consiste del costo de comunicacin de datos, del costo de almacenamiento, y del costo procesamiento (lecturas y actualizaciones a
cada fragmento). El problema de la asignacin, es encontrar un esquema de asignacin o ubicacin que minimiza la funcin de costo combinada.

Rendimiento: La estrategia de asignacin se disea para mantener una mtrica de rendimiento. Las dos mtricas ms utilizadas son el tiempo de
respuesta y el "throughput" (nmero de trabajos procesados por unidad de tiempo).

Asignacin de fragmentos

Asignacin

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

Hacer replicas tiene sentido por :

Confiabilidad : Mayor seguridad ante perdida de datos

Disponibilidad : Mayor tolerancia a fallos ante cadas de los computadores

Aumento del paralelismo : Mayor eficiencia en las consultas de lectura al posibilitarse su descomposicin en subconsultas y la paralelizacin de stas.

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

En la prctica : Sopesar lecturas vs escrituras

Mas lecturas que escrituras : Replicacin es buena idea

Mas escrituras que lecturas : No replicamos.

Segn el grado de replicacin, 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 estn replicados.

Como se ve las tcnicas de fragmentacin y replicacin se combinan en la prctica.

Replicacin de fragmentos

El problema de la replicacin de segmentos asignacin consiste en la determinacin de que fragmentos se replicarn en diferentes sitios a pesar de los problemas
que acarrea la actualizacin.

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 idntico 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 tecnologa distribuida.

1. Autonoma Local: Los sitios de un sistema distribuido deben ser autnomos.

La autonoma Local Implica:

Propietario local.

Administracin local.

Responsabilidad local.

Integracin local.

Representacin local.

2. No dependencia de un sitio central

No debe existir un nico sitio, ya que implicara:

Cuello de botella.

Vulnerabilidad.

3. Operacin continua

Adicin de elementos

Actualizacin de versiones

4. Independencia de Localizacin

El usuario desconoce dnde estn fsicamente los datos.

5. Independencia de fragmentacin.

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

6. Independencia de rplica

La creacin y destruccin de rplicas debe hacerse transparente al usuario.

La rplica proporciona:

Ventajas:

Mayor Prestacin: 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

Transaccin distribuida: varios agentes de la transaccin en varios lugares.

Control de recuperacin: una transaccin atmica. 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 mltiples redes sin afectar al usuario.

12. Independencia con respecto al SGBD

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

8. Conclusiones
Las bases de datos distribuidas son cada vez ms usadas por las empresas y suponen una ventaja competitiva frente a los sistemas centralizados, siempre y
cuando la empresa en cuestin tenga necesidad de usar una base de datos de este tipo. Lo ms habitual es disponer de varias sedes y tener que manejar
informacin comn, para lo cual las bases de datos distribuidas son especialmente tiles.

9. BIBLIOGRAFA
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

Leer ms: http://www.monografias.com/trabajos82/base-datos-distribuidas/base-datos-distribuidas2.shtml#ixzz3VMYD8W3U

You might also like