Anda di halaman 1dari 20

2

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

FRAGMENTACIN DE TABLAS EN BASES DE DATOS DISTRIBUIDAS

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

FRAGMENTACIN DE TABLAS EN BASES DE DATOS DISTRIBUIDAS

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.

FRAGMENTACIN DE TABLAS EN BASES DE DATOS DISTRIBUIDAS

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

http://www.google.com.ec/url?sa=t&source=web&cd=3&ved=0CBwQFjAC&url=http%3A%2F%2Fwww.pascualbravo.e du.co%2Fbuzon%2FTRABAJO%2520DE%2520BASES%2520DE%2520DATOS.ppt&rct=j&q=Completitud+%2B+regla s+de+fragmentacion+de+tablas&ei=d-4jTK_KF4KB8gbwv62_BQ&usg=AFQjCNFZylYOaCw_MezqcebMaKRYG3QWQ

FRAGMENTACIN DE TABLAS EN BASES DE DATOS DISTRIBUIDAS

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.

1.2. TIPOS DE FRAGMENTACIN.


La forma en cmo se pueden extraer los datos al ser consultados en un ambiente distribuido, se puede hacer una fragmentacin de distintas tablas pertenecientes a diversas Bases de Datos

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

FRAGMENTACIN DE TABLAS EN BASES DE DATOS DISTRIBUIDAS

1.2.1. FRAGMENTACIN HORIZONTAL.

1.

Fragmentacin Horizontal [IMAG.01] 2

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

FRAGMENTACIN DE TABLAS EN BASES DE DATOS DISTRIBUIDAS

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

FRAGMENTACIN DE TABLAS EN BASES DE DATOS DISTRIBUIDAS

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

Fragmentacin Horizontal derivada


Jno J1 J4 NOMBRE LUIS YANEZ MARIA JOSE MENDEZ MATERIA Sistemas Operativos Anlisis Matemtico NOTA 8 10

FRAGMENTACIN DE TABLAS EN BASES DE DATOS DISTRIBUIDAS

Escuela = EISIC (Fragmentacin Horizontal primaria)


ID 3 5 6 MATERIA Programacin II Tcnicas de Aprendizaje Dibujo Mecnico ESCUELA CIME CIME CIME CRDITOS 6 4 6 2 1 3 NIVEL

Fragmentacin Horizontal derivada


Jno J2 J3 J5 NOMBRE ERIKA QUIROZ DANIEL MURILLO ADONIS PABON MATERIA Dibujo Mecnico Tcnicas de Aprendizaje Programacin II NOTA 8 9 9

1.2.2. FRAGMENTACIN VERTICAL

2.

Fragmentacin Vertical [IMAG.02] 4

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

FRAGMENTACIN DE TABLAS EN BASES DE DATOS DISTRIBUIDAS

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

FRAGMENTACIN DE TABLAS EN BASES DE DATOS DISTRIBUIDAS

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

J2 Informacin de Nombres y Escuelas


Jno J1 J2 J3 J4 J5 NOMBRE LUIS YANEZ ERIKA QUIROZ DANIEL MURILLO MARIA JOSE MENDEZ ADONIS PABON ESCUELA CIME CIME EISIC EISIC EISIC

11

FRAGMENTACIN DE TABLAS EN BASES DE DATOS DISTRIBUIDAS

1.2.3. FRAGMENTACIN MIXTA

3.

Fragmentacin Mixta [IMAG.03] 5

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

ESCUELA CIME CIME EISIC EISIC EISIC

http://cablemodem.fibertel.com.ar/bucanero/facultad/Lab4_TP6.doc

12

FRAGMENTACIN DE TABLAS EN BASES DE DATOS DISTRIBUIDAS

Fragmentacin Horizontal Previa

Escuela = EISIC

Jno J3 J4 J5

NOMBRE DANIEL MURILLO MARIA JOSE MENDEZ ADONIS PABON

NOTA 9 10 9

ESCUELA EISIC EISIC EISIC

Informacin de Notas (Fragmentacin Vertical)

Jno J3 J4 J5

NOTA 9 10 9

1.2.4. GRADOS DE FRAGMENTACIN


El grado de fragmentacin puede considerarse en el que cada

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

FRAGMENTACIN DE TABLAS EN BASES DE DATOS DISTRIBUIDAS

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

dependiendo de las diferentes formas de fragmentacin. R = Ri Ri FR


6

http://html.rincondelvago.com/bases-de-datos-distribuidas_1.html

14

FRAGMENTACIN DE TABLAS EN BASES DE DATOS DISTRIBUIDAS

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

ESCUELA CIME CIME EISIC EISIC EISIC

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

FRAGMENTACIN DE TABLAS EN BASES DE DATOS DISTRIBUIDAS

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

FRAGMENTACIN DE TABLAS EN BASES DE DATOS DISTRIBUIDAS

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

FRAGMENTACIN DE TABLAS EN BASES DE DATOS DISTRIBUIDAS

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

FRAGMENTACIN DE TABLAS EN BASES DE DATOS DISTRIBUIDAS

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

FRAGMENTACIN DE TABLAS EN BASES DE DATOS DISTRIBUIDAS

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

Anda mungkin juga menyukai