Sei sulla pagina 1di 17

UNIVERSIDAD REGIONAL AUTNOMA DE

LOS ANDES
- UNIANDES

FACULTAD DE SISTEMAS MERCANTILES


ESCUELA DE SISTEMAS
TEMA

: FRAGMENTACIN Y TIPOS DE FRAGMENTACIN

AUTOR

: DANIEL YANEZ,
PATRICIA SALDARRIAGA

TUTOR

: ING. JAVIER ULLOA

SEXTO SEMESTRE
SANTO DOMINGO

ECUADOR

2012

1. INTRODUCCIN
La fragmentacin es un fenmeno que se produce con el uso
habitual de los dispositivos de almacenamiento, ya sea
memoria principal (RAM) o dispositivos de almacenamiento
secundario
Los

discos

como

Discos

duros

organizan

Duros
la

memoria

memorias
en

flash.

bloques

de

informacin que almacenan de forma continua para facilitar su


recuperacin o modificacin, a las cabezas de lectura y
escritura. Las modificaciones creadas por el usuario, como el
almacenamiento y borrado de informacin, hacen que esta
organizacin tenga que variar puesto que el disco duro utiliza
siempre el primer espacio en blanco de que dispone para
guardar la informacin, por lo que en ocasiones los archivos son
"partidos" y almacenados en diversos bloques de memoria que
pueden estar bastante alejados entre s. Esta fragmentacin
provoca que las cabezas lectoras deban recorrer mucha ms
distancia para leer la informacin completa de un archivo o
programa aumentando considerablemente el tiempo necesario
para la ejecucin (en caso de los programas) o visualizacin (en
caso de archivos). La solucin a este fenmeno es el uso ms o
menos

regular

de

herramientas

de desfragmentacin

Aunque esta definicin toma como base los discos duros, la


fragmentacin en el resto de dispositivos es un fenmeno
similar.

Pgina 2

2.

OBJETIVOS:

GENERAL:
Investigar todo lo relacionado al funcionamiento y
conceptos de la fragmentacin y tipos de
fragmentacin en Datos Distribuidos.

ESPECFICOS

Buscar en las diferentes fuentes de consulta existentes ya


sea por intermedio de la web o algn otro medio
relacionado

a los conceptos de la fragmentacin y sus

tipos.

Tener claro el funcionamiento respecto a la fragmentacin


y tipos de fragmentacin.

Pgina 3

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

Pgina 4

Si la tabla est replicada en todos o algunos de los sitios donde


residen cada una de las aplicaciones entonces la generacin de
trfico innecesario es producida por la necesidad de la
actualizacin de las copias.

VENTAJAS
Al descomponer
distribucin) :

una

relacin

en

fragmentos

(unidades

de

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.

TIPOS DE FRAGMENTACIN DE DATOS


Existen tres tipos de fragmentacin:

Fragmentacin horizontal

Fragmentacin vertical

Fragmentacin hbrida

Dado que una relacin se corresponde esencialmente con una tabla y


la cuestin consiste en dividirla en fragmentos menores,
inmediatamente surgen dos alternativas lgicas para llevar a cabo el
proceso: la divisin horizontal y la divisin vertical.
Pgina 5

La divisin o fragmentacin horizontal trabaja sobre las tuplas,


dividiendo la relacin en subrelaciones que contienen un subconjunto
de las tuplas que alberga la primera. La fragmentacin vertical, en
cambio, se basa en los atributos de la relacin para efectuar la
divisin. Estos dos tipos de particin podran considerarse los
fundamentales y bsicos. Sin embargo, existen otras alternativas.
Fundamentalmente, se habla de fragmentacin mixta o hbrida
cuando el proceso de particin hace uso de los dos tipos anteriores.
La fragmentacin mixta puede llevarse a cabo de tres formas
diferentes: desarrollando primero la fragmentacin vertical y,
posteriormente, aplicando la particin 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.
Otro enfoque distinto y relativamente nuevo, consiste en aplicar sobre
una relacin, de forma simultnea y no secuencial, la fragmentacin
horizontal y la fragmentacin vertical; en este caso, se generara una
rejilla y los fragmentos formaran las celdas de esa rejilla, cada celda
ser exactamente un fragmento vertical y un fragmento horizontal
(ntese que en este caso el grado de fragmentacin alcanzado es
mximo, y no por ello la descomposicin resultar ms eficiente).
Volviendo a la figura, puede observarse como los casos C y D se
basan en la mencionada generacin de la rejilla, con la diferencia que
en el primero de ellos se produce una fusin, una desfragmentacin
de las celdas, agrupndolas de la manera ms adecuada para obtener
mayor rendimiento, ya que los fragmentos generados son muy
pequeos. En el segundo caso se asignan las celdas a los sitios y
luego se realiza una rigurosa optimizacin de cada sitio. El caso E
sera aquel en el que se utiliza la fragmentacin VH o la
fragmentacin HV.

Pgina 6

Grado de fragmentacin. Cuando se va a fragmentar una base de


datos deberamos sopesar qu grado de fragmentacin va a alcanzar,
ya que ste ser un factor que influir notablemente en el desarrollo
de la ejecucin de las consultas. El grado de fragmentacin puede
variar desde una ausencia de la divisin, considerando a las
relaciones unidades de fragmentacin; o bien, fragmentar a un grado
en el cada tupla o atributo forme un fragmento. Ante estos dos casos
extremos, evidentemente se ha de buscar un compromiso intermedio,
el cual debera establecerse sobre las caractersticas de las
aplicaciones que hacen uso de la base de datos. Dichas
caractersticas se podrn formalizar en una serie de parmetros. De
acuerdo con sus valores, se podr establecer el grado de
fragmentacin del banco de datos.

GRADO DE FRAGMENTACIN.
Pgina 7

Cuando se va a fragmentar una base de datos deberamos sopesar


qu grado de fragmentacin va a alcanzar, ya que ste ser un factor
que influir notablemente en el desarrollo de la ejecucin de las
consultas. El grado de fragmentacin puede variar desde una
ausencia de la divisin, considerando a las relaciones unidades de
fragmentacin; o bien, fragmentar a un grado en el cada tupla o
atributo forme un fragmento. Ante estos dos casos extremos,
evidentemente se ha de buscar un compromiso intermedio, el cual
debera establecerse sobre las caractersticas de las aplicaciones que
hacen uso de la base de datos. Dichas caractersticas se podrn
formalizar en una serie de parmetros. De acuerdo con sus valores,
se podr establecer el grado de fragmentacin del banco de datos.

REGLAS DE CORRECCIN DE LA FRAGMENTACIN.


A continuacin se enuncian las tres reglas que se han de cumplir
durante el proceso de fragmentacin, las cuales asegurarn la
ausencia de cambios semnticos en la base de datos durante el
proceso.
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. Esta propiedad extremadamente importante
asegura que los datos de la relacin global se proyectan sobre
los fragmentos sin prdida alguna. Tenga en cuenta que en el
caso horizontal el elemento de datos, normalmente, es una
tupla, mientras que en el caso vertical es un atributo.
2. Reconstruccin. Si una relacin R se descompone en una serie
de fragmentos R1, R2, ..., Rn, puede definirse una operador
relacional

tal que

3. Disyuncin. Si una relacin R 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.

Pgina 8

ALTERNATIVAS DE ASIGNACIN.
Partiendo del supuesto que el banco de datos se haya fragmentado
correctamente, habr que decidir sobre la manera de asignar los
fragmentos a los distintos sitios de la red. Cuando una serie de datos
se asignan, stos pueden replicarse para mantener una copia. Las
razones para la rplica giran en torno a la seguridad y a la eficiencia
de las consultas de lectura. Si existen muchas reproducciones de un
elemento de datos, 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. Por otra parte, la ejecucin de
consultas de actualizacin, de escritura, implicara la actualizacin de
todas las copias que existan en la red, cuyo proceso puede resultar
problemtico y complicado. Por tanto, un buen parmetro para
afrontar el grado de rplica consistira en sopesar la cantidad de
consultas de lectura que se efectuarn, as como el nmero de
consultas de escritura que se llevarn a cabo. En una red donde las
consultas que se procesen sean mayoritariamente 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. Los fragmentos se alojan en sitios donde nicamente existe
una copia de cada uno de ellos a lo largo de toda la red. En caso de
rplica, podemos considerar una base de datos totalmente replicada,
donde existe una copia de todo el banco de datos en cada sitio, o
considerar una base de datos parcialmente replicada donde existan
copias de los fragmentos ubicados en diferentes sitios. El nmero de
copias de un fragmento ser una de las posibles entradas a los
algoritmos de asignacin, o una variable de decisin cuyo valor lo
determine el algoritmo. La tabla compara las tres alternativas de
rplica con respecto a distintas funciones de un sistema de base de
datos distribuido.

Procesamiento
consultas
Gestin
directorio
Control
concurrencia
Seguridad

de

Rplica total

Rplica
parcial

Particin

fcil

dificultad

similar

dificultad

similar

moderado

difcil

fcil

muy alta

alta

baja

del fcil
inexistente
de

Pgina 9

Realidad

posible
aplicacin

realista

posible
aplicacin

Comparacin de las alternativas de rplica

INFORMACIN NECESARIA.
Un aspecto importante en el diseo de la distribucin es la cantidad
de factores que contribuyen a un diseo ptimo. La organizacin
lgica de la base de datos, la localizacin de las aplicaciones, las
caractersticas de acceso de las aplicaciones a la base de datos y las
caractersticas del sistema en cada sitio, tienen una decisiva
influencia sobre la distribucin. La informacin necesaria para el
diseo de la distribucin puede dividirse en cuatro categoras: la
informacin del banco de datos, la informacin de la aplicacin, la
informacin sobre la red de ordenadores y la informacin sobre los
ordenadores en s. Las dos ltimas son de carcter cuantitativo y
servirn, principalmente, para desarrollar el proceso de asignacin.
Se entrar en detalle sobre la informacin empleada cuando se
aborden los distintos algoritmos de fragmentacin y asignacin.

FRAGMENTACIN HORIZONTAL
La fragmentacin horizontal primaria de una relacin se obtiene
usando predicados que estn definidos en esa relacin. La
fragmentacin horizontal derivada, por otra parte, es el
particionamiento de una relacin como resultado de predicados que
se definen en otra relacin.
Para poder construir una fragmentacin, es necesario proporcionar
informacin acerca de la base de datos y acerca de las aplicaciones
que las utilizan. En primer trmino, es necesario proporcionar la
informacin acerca del esquema conceptual global. En este sentido es
importante dar informacin acerca de las relaciones que componen a
la base de datos, la cordinalidad de cada relacin y las dependencias
entre relaciones.
En segundo lugar se debe proporcionar informacin acerca de la
aplicacin que utiliza la base de datos. Este tipo de informacin es
cuantitativa y consiste de los predicados usados en las consultas de
usuario.

FRAGMENTACIN VERTICAL

Pgina 10

Una fragmentacin vertical de una relacin R produce fragmentos R1,


R2, , Rr, cada uno de los cuales contiene un subconjunto de los
atributos de R as como la llave primaria de R. El objetivo de la
fragmentacin vertical es particionar una relacin en un conjunto de
relaciones ms pequeas de manera que varias de las aplicaciones de
usuario se ejecutarn sobre un fragmento. En este contexto, una
fragmentacin ptima es aquella que produce un esquema de
fragmentacin que minimiza el tiempo de ejecucin de las consultas
de usuario.
La fragmentacin vertical ha sido estudiada principalmente dentro del
contexto de los sistemas de manejo de bases de datos centralizados
como una herramienta de diseo, la cual permite que las consultas de
usuario traten con relaciones ms pequeas haciendo, por tanto, un
nmero menor de accesos a pginas.
La fragmentacin vertical es inherentemente ms complicada que
particionamiento horizontal ya que existe un gran nmero de
alternativas para realizarla. Por lo tanto, se utilizan heursticas para
hacer el particionamiento. Los dos enfoques bsicos son:
Agrupamiento. Inicia asignando cada atributo a un fragmento, y en
cada paso, algunos de los fragmentos satisfaciendo algn criterio se
unen para formar un solo fragmento.
Divisin. Inicia con una sola relacin realizar un particionamiento
basado en el comportamiento de acceso de las consultas sobre los
atributos.
La fragmentacin vertical se realiza mediante el operador
algebraico de proyeccin y su notacin es la siguiente:
Ri = PJ 1..i( R ) donde i = 1..n y Ri es el conjunto de fragmentos en
que se divide la relacin original R.
Veamos un ejemplo de este tipo de fragmentacin. Supongamos que
tenemos una base de datos centralizada de unos grandes almacenes
y que una de las relaciones es:
EMPLEADOS (Apellido,
localizacin, extensin)

nombre, direccin,

telfono,

funcin,

Se requieren distribuir los datos de EMPLEADOS teniendo en cuenta


que se tiene dos sedes o nodos enlazados por una red de rea local y
que en el NODO1 se encuentra el departamento de contabilidad y
Pgina 11

desde aqu se manejan los datos personales del empleado (nombre,


apellidos, direccin, telfono y funcin), mientras que en el NODO2 se
encuentra centralita y en este nodo se consultan los datos
correspondientes a la localizacin del empleado (localizacin y
extensin).
Fragmentamos verticalmente la tabla EMPLEADOS creando dos
nuevas relaciones:
EMPLEADO_CONTABILIDAD = PJapellidos, nombre, direccin, telfono,
funcin (EMPLEADOS)
EMPLEADO_CENTRALITA = PJapellidos, nombre, localizacin, extensin
(EMPLEADOS)
La combinacin (JOIN) de ambas relaciones proporcionar la relacin
original:
EMPLEADOS = EMPLEADO_CONTABILIDAD JOIN apellidos, nombre
EMPLEADO_CENTRALITA

FRAGMENTACIN HIBRIDA
En muchos casos la fragmentacin vertical u horizontal del esquema
de la base de datos no ser suficiente para satisfacer los requisitos de
las aplicaciones. Como ya se cit al comienzo de este documento
podemos combinar ambas, utilizando por ello la denominada
fragmentacin mixta. Cuando al proceso de fragmentacin vertical le
sigue una horizontal, es decir, se fragmentan horizontalmente los
fragmentos verticales resultantes, se habla de la fragmentacin mixta
HV. En el caso contrario, estaremos ante una fragmentacin VH. Una
caracterstica comn a ambas es la generacin de rboles que
representan la estructura de fragmentacin.
Considere, por ejemplo, la relacin PROVINC. Recordar que se le
aplic una fragmentacin horizontal de acuerdo al valor del atributo
CCODZONA resultando cuatro fragmentos horizontales. Podramos
pensar en aplicarle una nueva fragmentacin de carcter vertical.
Entonces resultaran cuatro fragmentos horizontales divididos, por
ejemplo, en dos fragmentos verticales. En este caso el nmero total
de fragmentos ascendera, lgicamente, a ocho.
No se desea entrar en excesivos detalles sobre las reglas y
condiciones para efectuar la fragmentacin mixta. Entre otras razones
porque, tanto a la fragmentacin HV como la fragmentacin VH, se le
Pgina 12

pueden aplicar los mismos criterios y reglas que a la fragmentacin


horizontal y vertical. Es decir, volviendo al ejemplo anterior, al cual le
practicamos la fragmentacin HV, al realizar la fragmentacin
horizontal tal como se ha expuesto, lo que se obtienen no son ms
que subrelaciones, la unin de las cuales da lugar a la relacin
PROVINC. Por tanto, para fragmentar cada subrelacin sera
perfectamente viable aplicarle el mtodo de fragmentacin vertical
que se ha desarrollado. Como, en este caso, se han querido generar
dos fragmentos verticales por cada uno horizontal, simplemente
deberamos confeccionar la matriz de grupos afines (a travs del
algoritmo BEA) para cada fragmento horizontal y aplicarle,
posteriormente, el algoritmo de fragmentacin binaria PARTICIN.
Tambin debe tenerse en cuenta el nmero de niveles arbreos que
se generen, es decir, nadie impide que tras realizar una
fragmentacin VH, podamos aplicar a los fragmentos resultantes una
nueva fragmentacin vertical, y a estos ltima una nueva
fragmentacin horizontal, etc. Dicho nmero puede ser grande, pero
tambin ser ciertamente finito. En el caso horizontal, el nivel
mximo de profundidad se alcanzar cuando cada fragmento
albergue una nica tupla, mientras que en el caso vertical el final
llegar cuando cada fragmento contenga un nico atributo. Sin
embargo, aunque no deba tomarse como dogma, el nmero de
niveles no debera superar el par (VH y HV). El porqu de esta
afirmacin es bien sencillo, piense, por ejemplo, en el coste que
supondra realizar la unin o el yunto de una relacin con
fragmentacin nivel 7. Evidentemente, el coste sera muy elevado y
ese aumento de rendimiento que se persigue al aplicar estas
tcnicas, quizs, no se produzca.
Antes de pasar a estudiar el problema de la asignacin se desea
comentar la tcnica de fragmentacin mixta basada en celdas. Esta
tcnica se basa en la generacin de celdas de rejilla. Qu es una
celda de rejilla, podramos definirla como un fragmento horizontal y
vertical simultneo. La tcnica aplica un algoritmo de fragmentacin
vertical y otro horizontal de manera concurrente sobre la relacin. Los
algoritmos realizan una fragmentacin mxima, es decir, se persigue
que en cada celda nicamente haya un atributo y una tupla. Quiz el
lector pueda encontrar el mtodo contradictorio con lo citado
anteriormente respecto a la eficiencia, dada la gran cantidad de
fragmentos generados, el nmero es, efectivamente, el mximo. Sin
embargo, este slo es el primer paso del proceso. Una vez generadas
las celdas se aplica un mtodo para optimizar la rejilla mediante
fusin o desfragmentacin, de acuerdo, fundamentalmente, a las
Pgina 13

aplicaciones que acten sobre esos fragmentos. El mtodo, por tanto,


persigue una fragmentacin la ms especfica posible acorde con las
aplicaciones y los sitios existentes en la red.

4.

CONCLUSIONES

Esencialmente las instancias de relacin son tablas y una de


las situaciones es encontrar un mtodo o forma de convertir
la tabla completa en sub-tablas ms pequeas. Tenemos dos
alternativas para esto, dividirlas en forma horizontal o en
forma vertical.

La fragmentacin horizontal se da sobre las tuplas y la


fragmentacin vertical se da sobre los atributos.

Si se usa ms de una fragmentacin estas deben estar


anidadas y si se utilizan fragmentaciones anidadas de
diferentes tipos la fragmentacin se convierte en una
fragmentacin hibrida.

Pgina 14

FRAGMENTACI
N
HORIZONTAL

El
objetivo
de
la
El
objetivo
de
la
fragmentacin
es
encontrar un nivel de
particionamiento
particionamiento
adecuado
en el
rango
adecuado en
el rango
que va desde tuplas o
atributos
hasta
relaciones
relaciones completas.
completas.

FRAGMENTACI
N

FRAGMENTACI
N VERTICAL

FRAGMENTACI
N HIBRIDA

Pgina 15

Consiste del particionamiento en tuplas de


una relacin global en subconjuntos, donde
cada subconjunto puede contener datos
que tienen propiedades comunes y se
puede definir expresando cada fragmento
como una operacin de seleccin sobre la
relacin global.
Ejemplo Las siguientes relaciones definen
una fragmentacin horizontal derivada de
la relacin.
Almacen(cod_almacen, direccin, telfono,
rea)
Se desea distribuir los datos en dos sedes
ubicadas en el rea norte y sur
Almacensur= select * from almacen where
area= sur
Almacensur= select * from almacen where
area= Norte
La
fragmentacin
vertical
es
inherentemente ms complicada que
particionamiento horizontal ya que existe
un gran nmero de alternativas para
realizarla. Por lo tanto, se utilizan
heursticas para hacer el particionamiento.
Los dos enfoques bsicos son:
Agrupamiento. Inicia asignando cada
atributo a un fragmento, y en cada paso,
algunos de los fragmentos satisfaciendo
algn criterio se unen para formar un solo
fragmento.
Divisin. Inicia con una sola relacin
realizar un particionamiento basado en el
comportamiento
de acceso de las
consultas sobre los atributos.
La fragmentacin vertical es la subdivisin
de atributos en grupos. Los fragmentos se
obtienen proyectando la relacin global
sobre cada grupo.
Una fragmentacin vertical de esta
relacin puede ser definida como:
EMP1 = select cedula, nombre, direccin,
telfono From EMP
EMP2
=
select
cedula,
funcin,
localizacin, extensin , cod_almacen From
EMP
Se desea distribuir los datos de EMP1 en
la sede norte, los dems datos de EMP2
se llevan a las dos localidades de la sede
norte y sur.
se habla de fragmentacin mixta o hbrida
cuando el proceso de particin hace uso
de
los
dos
tipos
anteriores.
La
fragmentacin mixta puede llevarse a
cabo
de
tres
formas
diferentes:
desarrollando primero la fragmentacin
vertical y, posteriormente, aplicando la
particin 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.

5. BIBLIOGRAFA

http://www.monografias.com/trabajos82/base-datos-

distribuidas/base-datos-distribuidas2.shtml#fragmentaa
http://ccp.ucr.ac.cr/bvp/pdf/desarrollohumano/bd_distribuida

s-rca.pdf
http://html.rincondelvago.com/bases-de-datos-

distribuidas_1.html
http://luisantoniosr.webcindario.com/BDD/bdd_unidad2.html

Pgina 16

Pgina 17

Potrebbero piacerti anche