Professional Documents
Culture Documents
FRAGMENTACIN DE TABLAS
Contenido: Fragmentacin de tablas 2.1. Introduccin 2.1.1. Definicin. 2.2. Tipos de Fragmentacin 2.2.1. Fragmentacin Horizontal 2.2.2. Fragmentacin Vertical 2.2.3. Fragmentacin Mixta 2.2.4. Grados de Fragmentacin
CAPITULO II
1. FRAGMENTACIN DE TABLAS
1.1. INTRODUCCIN
Es preciso tomar decisiones respecto a 1os sitios en 1os que se almacenarn las porciones de la base de datos, debemos determinar las unidades lgicas de la base de datos que van a ser distribuidas, las unidades lgicas se llamarn: fragmentos. El mayor reto es identificar la fragmentacin ideal para los datos, adems de resolver los grados de fragmentacin. Los datos pueden almacenarse en localidades donde son utilizados con mayor frecuencia, de tal manera que la mayor parte de las operaciones sean slo locales lo cual reducir el trfico en la red.
1.1.1. DEFINICIN
FRAGMENTACIN Es una relacin que corresponde a una tabla, consiste en dividirla en fragmentos menores, cada fragmento se guarda en sitio diferente, tiene como objetivo buscar alternativas para dividir una las tablas o instancias en otras ms pequeas. Para ello hay las siguientes alternativas lgicas, como son: La fragmentacin se 2
puede realizar por tuplas individuales (fragmentacin horizontal), por atributos individuales fragmentacin vertical) o una
combinacin de ambas (fragmentacin hbrida). Fragmentos: Cada relacin global puede ser dividida en porciones 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 RAZONES PARA FRAGMENTAR Encontrar unidad de distribucin ms adecuada. Disminuir cantidad de accesos remotos. Incrementar el nivel de concurrencia.
VENTAJAS DE LA FRAGMENTACIN DE TABLAS Mejorar el rendimiento de las aplicaciones al trabajar con subconjuntos de relaciones Da una respuesta eficiente a aplicaciones que trabajan con los mismos datos en diferentes nodos Los fragmentos permiten aumentar el nmero de ejecuciones concurrentes.
DESVENTAJAS DE LA FRAGMENTACIN DE TABLAS Disminuye la eficiencia en las aplicaciones que trabajan con varios fragmentos La comprobacin de las restricciones de integridad puede ser ms costosa. CONDICIONES PARA DEFINIR FRAGMENTOS Se deben cumplir tres reglas durante el proceso de
fragmentacin. Los cuales se explicara ms detalladamente en los grados de fragmentacin. Completitud Reconstruccin Disyuncin 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 algn fragmento.
[www.03] 1
Reconstruccin: Si la relacin R se descompone en los fragmentos R1, R2, ..., Rn, entonces debe existir algn operador que permita reconstruir la Relacin Original R. [www.03]4
Disyuncin: 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.
[www.03]4
Repeticin y Fragmentacin Las tcnicas de rplica y fragmentacin se pueden aplicar sucesivamente a la misma relacin de partida. Un fragmento se puede replicar y a su vez esa rplica ser fragmentada, para luego replicar alguno de esos fragmentos.
localizadas en diversos servidores. Dado que una relacin que corresponde esencialmente con una tabla esta se la puede dividir en fragmentos menores, inmediatamente surgen alternativas lgicas para llevar a cabo el proceso: Existen tres tipos de fragmentacin: 1. Fragmentacin horizontal 2. Fragmentacin vertical 3. Fragmentacin hbrida 5
1.
Se realiza sobre las tuplas de la relacin, es decir que cada fragmento ser un subconjunto de las tuplas de la relacin. Una tabla T se divide en subconjuntos, T1, T2, ...Tn. Los fragmentos se definen mediante una operacin de seleccin. Su reconstruccin se realizar mediante la unin de los fragmentos componentes.
[www.04] 3
Existen dos tipos de fragmentacin como es: fragmentacin horizontal primaria y la fragmentacin horizontal derivada. La fragmentacin horizontal primaria. Consiste en particionar las tuplas (columnas) de una relacin global en subconjuntos, donde cada subconjunto tenga propiedades comunes, se puede definir expresando cada fragmento como una operacin de seleccin sobre la relacin global.
2 3
http://cablemodem.fibertel.com.ar/bucanero/facultad/Lab4_TP6.doc http://www.oei.eui.upm.es/Asignaturas/BD/DYOBD/DISTRIBUIDAS.pdf
Jno J1 J2 J3 J4 J5
NOMBRE LUIS YANEZ ERIKA QUIROZ DANIEL MURILLO MARIA JOSE MENDEZ ADONIS PABON
NOTA 8 8 9 10 9
J1 Escuela = CIME
Jno J1 J2 NOMBRE LUIS YANEZ ERIKA QUIROZ NOTA 8 8 ESCUELA CIME CIME
J2 Escuela = EISIC
Jno J3 J4 J5 NOMBRE DANIEL MURILLO MARIA JOSE MENDEZ ADONIS PABON NOTA 9 10 9 ESCUELA EISIC EISIC EISIC
La fragmentacin horizontal derivada Consiste en dividir una relacin partiendo de los predicados definidos sobre alguna otra, debido a que la relacin R depende de la relacin Q, sobre cuyos atributos est definido el predicado de la fragmentacin Las tres entradas necesarias para desarrollar la fragmentacin horizontal derivada son las siguientes: el conjunto de particiones de la relacin propietaria, la relacin miembro y el conjunto de predicados resultados de aplicar el semiyunto entre la propietaria y la miembro.
Es decir La fragmentacin de la tabla primaria, se aplica a tablas secundarias, o bien se debe partir de una fragmentacin
horizontal primaria. Nota: La relacin al final de la conexin es llamada propietario de la conexin y la relacin que est en la cabeza de la conexin es llamada miembro. Ejemplo: Considere las Relaciones
ID 1 2 3 4 5 6 MATERIA Anlisis Matemtico Sistemas Operativos Programacin II Tecnologa Elctrica Tcnicas de Aprendizaje Dibujo Mecnico ESCUELA EISIC EISIC CIME EISIC CIME CIME CRDITOS 4 6 6 4 4 6 NIVEL
1 3 2 2 1 3
Jno J1 J2 J3 J4 J5
NOMBRE LUIS YANEZ ERIKA QUIROZ DANIEL MURILLO MARIA JOSE MENDEZ ADONIS PABON
MATERIA Sistemas Operativos Dibujo Mecnico Tcnicas de Aprendizaje Anlisis Matemtico Programacin II
NOTA 8 8 9 10 9
Esta relacin puede ser fragmentada horizontalmente basada en la escuela en la cual el estudiante est matriculado. La escuela sin embargo no es un atributo del estudiante. Escuela = CIME (Fragmentacin Horizontal primaria)
ID 1 2 4 MATERIA Anlisis Matemtico Sistemas Operativos Tecnologa Elctrica ESCUELA EISIC EISIC EISIC CRDITOS 4 6 4 1 3 2 NIVEL
2.
El objetivo de la fragmentacin vertical 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.
http://cablemodem.fibertel.com.ar/bucanero/facultad/Lab4_TP6.doc
La fragmentacin vertical se basa en los atributos de la relacin para realizar la divisin, es decir: la subdivisin de atributos en grupos. La fragmentacin es correcta si cada atributo se mapea en al menos un atributo del fragmento. La particin vertical resulta ms complicada que la horizontal. Esto se debe al aumento del nmero total de alternativas que tenemos disponibles. Existen dos enfoques heursticos para la fragmentacin vertical de relaciones:
Agrupacin:
Comienza
asignando
cada
atributo
un
fragmento, y en cada paso, junta algunos de los fragmentos hasta que satisface un determinado criterio. La agrupacin sugiri en principio para bases de datos centralizadas y se us posteriormente para las bases de datos distribuidas.
Escisin: A partir de la relacin se deciden que fragmentos resultan mejores, basndose en las caractersticas de acceso de las aplicaciones a los atributos. Esta tcnica se present, tambin, para bases de datos centralizadas. Posteriormente, se extendi al entorno distribuido. 10
La escisin genera fragmentos no solapados mientras que la agrupacin normalmente produce fragmentos solapados. Dentro del contexto de los sistemas de bases de datos distribuidos, son preferibles los fragmentos no solapados por obvias razones. Los fragmentos no solapados se refieren nicamente a atributos clave no primarios. Ejemplo: Considere la Relacin J
Jno J1 J2 J3 J4 J5 NOMBRE LUIS YANEZ ERIKA QUIROZ DANIEL MURILLO MARIA JOSE MENDEZ ADONIS PABON NOTA 8 8 9 10 9 ESCUELA CIME CIME EISIC EISIC EISIC
J1 Informacin de Notas
Jno J1 J2 J3 J4 J5 NOTA 8 8 9 10 9
11
3.
La fragmentacin mixta puede llevarse a cabo de tres formas diferentes: desarrollando primero la fragmentacin vertical y, posteriormente, aplicando la fragmentacin horizontal sobre los fragmentos verticales (denominada particin VH), o aplicando primero una divisin horizontal para luego, sobre los fragmentos generados, desarrollar una fragmentacin vertical (llamada
particin HV), o bien, de forma directa considerando la semntica de las transacciones. Ejemplo: Considere la Relacin J
Jno J1 J2 J3 J4 J5
NOMBRE LUIS YANEZ ERIKA QUIROZ DANIEL MURILLO MARIA JOSE MENDEZ ADONIS PABON
NOTA 8 8 9 10 9
http://cablemodem.fibertel.com.ar/bucanero/facultad/Lab4_TP6.doc
12
Escuela = EISIC
Jno J3 J4 J5
NOTA 9 10 9
Jno J3 J4 J5
NOTA 9 10 9
tupla o atributo forme un fragmento, o una ausencia de la divisin, considerando a las relaciones como unidades de fragmentacin Se debe buscar un compromiso intermedio, en el que se debera establecerse sobre las caractersticas de las aplicaciones que hacen uso de la base de datos, sobre estas una serie de parmetros, se podr establecer el grado de fragmentacin del banco de datos de acuerdo con sus valores. 13
REGLAS DE CORRECCIN DE LA FRAGMENTACIN. Asegurarn la ausencia de cambios semnticos en la base de datos, estas son las tres reglas que se debe cumplir en el proceso de fragmentacin. 1. Complecin. Si una relacin R se descompone en una serie de fragmentos R1, R2, ..., Rn, cada elemento de datos que pueda encontrarse en R deber poder encontrarse en uno o varios fragmentos Ri. 1<= i <= n (No hay prdida de informacin) Asegura que los datos de la relacin global se proyectan sobre los fragmentos sin prdida alguna. En el caso de fragmentacin horizontal el elemento de datos, normalmente, es una tupla, mientras que en el caso de fragmentacin vertical es un atributo.
[www.05] 6
2. Reconstruccin. Si una relacin R se descompone en una serie de fragmentos R1, R2, ..., Rn, puede definirse un operador relacional tal que el operador ser diferente
http://html.rincondelvago.com/bases-de-datos-distribuidas_1.html
14
La reconstruccin de la relacin a partir de sus fragmentos asegura la preservacin de las restricciones definidas sobre los datos en forma de dependencias. 3. Disyuncin. Si una relacin
[www.06]9
se
descompone
horizontalmente en una serie de fragmentos R1, R2, ..., Rn, y un elemento de datos di se encuentra en algn fragmento Rj, entonces no se encuentra en otro fragmento Rk (k j). Esta regla asegura que los fragmentos horizontales sean
disjuntos. Si una relacin R se descompone verticalmente, sus atributos primarios, clave normalmente, se repiten en todos sus fragmentos. Ejemplo: Considere la Relacin J
[www.07]9
Jno J1 J2 J3 J4 J5
NOMBRE LUIS YANEZ ERIKA QUIROZ DANIEL MURILLO MARIA JOSE MENDEZ ADONIS PABON
NOTA 8 8 9 10 9
J1 Escuela = CIME
Jno J1 J2 NOMBRE LUIS YANEZ ERIKA QUIROZ NOTA 8 8 ESCUELA CIME CIME
J2 Escuela = EISIC
Jno J3 J4 J5 NOMBRE DANIEL MURILLO MARIA JOSE MENDEZ ADONIS PABON NOTA 9 10 9 ESCUELA EISIC EISIC EISIC
15
Complecin: No hay prdida de datos ya que todas las tuplas se encuentran fragmentadas en J1 y J2 Reconstruccin: Se puede reconstruir mediante la unin de todos los fragmentos, es decir J1 U J2 Disyuncin: En la fragmentacin J1 Escuela = CIME no se va a encontrar EISIC, y en J2 Escuela = EISIC no se va a encontrar CIME, entonces Jk (k j). ALTERNATIVAS DE ASIGNACIN. Una vez que se ha realizado la fragmentacin correctamente se debe decidir donde sern asignados cada uno de los fragmentos. Los datos pueden replicarse para mantener una copia al momento que son asignados. La seguridad y a la eficiencia de las consultas de lectura son una de las razones para la rplica. En caso de fallo en el sistema se podra acceder a esos datos ubicados en sitios distintos, adems las consultas que acceden a los mismos datos pueden ejecutarse en paralelo, ya que habr copias en diferentes sitios. La ejecucin de actualizaciones, de escritura, implicar la
actualizacin de todas las copias que existan, este proceso puede ser complicado y problemtico, esto se puede resolver calculando la cantidad de consultas de lectura y el nmero de consultas de 16
escritura que se llevarn a cabo. Donde las consultas que se llevan a cabo sean la mayor parte de lectura, se podra alcanzar un alto grado de rplica, no as en el caso contrario. Una base de datos fragmentada es aquella donde no existe rplica alguna. A lo largo de la red los fragmentos se alojan en sitios donde nicamente existe una copia de cada uno de ellos. Una base de datos se puede considerarla totalmente replicada, cuando existe una copia de todo el banco de datos en cada sitio, o parcialmente replicada cuando existen copias de los fragmentos ubicados en diferentes sitios. INFORMACIN NECESARIA PARA LA FRAGMENTACIN En el diseo de distribucin, un aspecto importante es la cantidad de factores, como es: las caractersticas de acceso de las aplicaciones a la base de datos, las caractersticas del sistema en cada sitio, la organizacin lgica de la base de datos, la localizacin de las aplicaciones, stas tienen una influencia sobre la
distribucin. Se divide en las siguientes categoras la informacin necesaria para el diseo de la distribucin. La informacin del banco de datos. La informacin de la aplicacin. 17
La informacin sobre la red de ordenadores La informacin sobre los ordenadores en s. La informacin sobre la red de ordenadores y la informacin sobre los ordenadores en s, son de carcter cuantitativo y servirn, principalmente, para desarrollar el proceso de asignacin. INFORMACIN NECESARIA PARA LA FRAGMENTACIN HORIZONTAL Informacin sobre la base de datos. Es importante saber cmo estn conectadas las relaciones de la base de datos una con otra, es decir se refiere a la informacin del esquema conceptual de la base de datos. La relacin al final de la conexin (relacin de origen) es llamada propietario de la conexin y la relacin que est en la cabeza de la conexin (relaciones destino) es llamada miembro. Informacin sobre la aplicacin. Es Necesario informacin cualitativa y cuantitativa. La informacin cualitativa guiar la fragmentacin, mientras que la cuantitativa es requerida en los modelos de asignacin. Referente a la informacin cuantitativa, se necesita definir dos conjuntos de datos que son: 18
Selectividad mintrmino. Es el nmero de tuplas de una relacin a las que accede una consulta de acuerdo a un predicado mintrmino dado. Frecuencia de acceso. Es la frecuencia con la que un usuario accede a los datos. INFORMACIN NECESARIA PARA LA FRAGMENTACIN VERTICAL La principal informacin para la fragmentacin vertical, es la relacionada a las aplicaciones. Debido a que en el particionamiento vertical coloca en un fragmento aquellos atributos los cuales son accesados juntos. Los principales datos requeridos relacionados a las aplicaciones son sus frecuencias de acceso. INFORMACIN NECESARIA PARA LA FRAGMENTACIN MIXTA En la etapa de asignacin necesitamos los datos cuantitativos acerca de la base de datos, las comunicaciones de la red, las aplicaciones que funcionan sobre ella, el lmitantes de
almacenamiento para cada sitio en la red y las capacidades de procesamiento. Informacin de la base de datos. Para llevar a cabo una fragmentacin horizontal definimos la seleccin de mintrminos, ahora necesitamos extender la 19
definicin de fragmentos, y definir la seleccin de un fragmento Fj con respecto a una consulta query qi. Este es el nmero de tuplas de Fj que se necesitan ser accesadas para procesar qi. Informacin de la aplicacin. Durante la actividad de la fragmentacin, la mayora de la informacin relacionada a la aplicacin ya ha sido compilada, pero en algunos de los casos es requerido por el modelo de asignacin Informacin del sitio. Necesitamos conocer la capacidad de almacenamiento y
procesamiento de cada sitio, estos valores pueden calcularse por medio de funciones o por estimaciones. Informacin de la red. En nuestro modelo asumimos la existencia de una simple red donde el costo de comunicacin es definido en trminos de un marco de datos.
20