Está en la página 1de 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)

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

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

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

NOMBRE
LUIS YANEZ
ERIKA QUIROZ

NOTA
8
8

ESCUELA
CIME
CIME

NOMBRE
DANIEL MURILLO
MARIA JOSE MENDEZ
ADONIS PABON

NOTA
9
10
9

ESCUELA
EISIC
EISIC
EISIC

J1 Escuela = CIME
Jno
J1
J2

J2 Escuela = EISIC
Jno
J3
J4
J5

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

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

1
3
2
2
1
3

NIVEL

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

11

ESCUELA
CIME
CIME
EISIC
EISIC
EISIC

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

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

12

NOTA
8
8
9
10
9

ESCUELA
CIME
CIME
EISIC
EISIC
EISIC

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.

[www.07]9

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

NOMBRE
LUIS YANEZ
ERIKA QUIROZ

NOTA
8
8

ESCUELA
CIME
CIME

NOMBRE
DANIEL MURILLO
MARIA JOSE MENDEZ
ADONIS PABON

NOTA
9
10
9

ESCUELA
EISIC
EISIC
EISIC

J1 Escuela = CIME
Jno
J1
J2

J2 Escuela = EISIC
Jno
J3
J4
J5

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

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

También podría gustarte