You are on page 1of 8

Chinchilla Arley, Ricardo

Fragmentacin de datos en bases de datos distribuidas.


Tecnologa en Marcha. Vol. 16 N 4.

Fragmentacin de datos
en bases de datos distribuidas
Ricardo Chinchilla Arley 1

Al estudiar el tema
de bases de datos
distribuidas (BDD) Palabras clave informacin distribuidos sobre redes de
se deben tratar dos computadoras. Una base de datos es una
elementos Bases de datos, almacenamiento distribuido
coleccin lgicamente coherente de datos
fundamentales: de datos, diseo de baes de datos.
interrelacionados con un significado
las bases de datos inherente y creada con un propsito
y los sistemas de particular. Por su parte, un sistema
Resumen
tecnologa de distribuido interconecta los lugares que
informacin La investigacin se inicia con una tienen diferentes elementos de tecnologa
distribuidos definicin de base de datos distribuida, de informacion para capturar y almacenar
sobre redes de su estructura y los factores por tomar en datos, procesarlos y enviarlos a otros
computadoras. cuenta para su diseo. Despus se sistemas. Ahora bien, una BDD podra
centra en la distribucin de los datos, la definirse como una coleccin de mltiples
descripcin de los tipos de bases de datos lgicamente interrelacionadas
fragmentacin (horizontal, vertical y (denominadas localidades) y distribuidas
mixta) y sus respectivas operaciones sobre una red de computadoras. Se podra
algebraicas. Finalmente, se describe decir que es la unin de un sistema de base
brevemente cmo se realiza la de datos y un sistema de redes de
localizacin de los datos dentro de la computadoras, lo cual es posible gracias al
base de datos. desarrollo de las telecomunicaciones.
Descriptores: Bases de datos, bases de Su funcionamiento bsico consiste en el
datos distribuidas, redes de computadoras. almacenamiento de datos en varios
computadores, los cuales se comunican
a travs de diversos medios, tales como
Introduccin
cables telefnicos, coaxiales o fibra
Al estudiar el tema de bases de datos ptica. Cada localidad mantiene una
distribuidas (BDD) se deben tratar dos base de datos local y puede procesar
elementos fundamentales: las bases de tanto transacciones locales (acceden a
datos y los sistemas de tecnologa de datos locales), como globales (acceden

1 Ricardo Chinchilla Arley, Master en Computacin ITCR, funcionario Centro Centroamericano de


Poblacin, Director Biblioteca Sede del Atlntico, Universidad de Costa Rica. (richar@ccp.ucr.ac.cr).

60 Vol. 16 N 4
a datos de varias localidades) (Figura centralizada. De esta manera, cuando
1). Para manipular la informacin realiza una consulta que implica datos
almacenada, se utiliza un Sistema de varias localidades, la consulta se
Administrador de Base de Datos divide en subconsultas que se ejecutan
Distribuida (SABDD), el cual en paralelo.
constituye el software que permite la
administracin de la base, de tal forma
que su manejo sea transparente al
Fragmentacin
Para acceder a una porcin de datos en
un SABDD, un programa busca y
recupera el dato que necesita. Dicho
dato no se mueve por todo el sistema,
sino que reside en una localidad. Los
procesos que se ejecutan utilizan
operaciones algebraicas para determinar
su ubicacin y recuperarlo.
Una base de datos relacional presenta la
informacin esencialmente en forma de
tablas. Este tipo de base de datos se baja
en un esquema relacional, el cual se
define como un conjunto de atributos
r={a2, ..., an} donde cada atributo ai es el
nombre de un rol de un dominio y donde
dominio Di=dom(ai).

Figura 1
Una relacin o instancia de relacin r de
Medio ambiente de una bdd un esquema de relacin r(a1, a2, ..., an)
es un conjunto de tuples {t1, ..., tn}. Cada
tuple, por su parte, es una lista ordenada
de valores
El principal objetivo usuario, como si se tratara de una
de un SABDD base local. t= <v1, ..., vn>
es compartir y acceder y i {1, .., n} : vi dom (ai) o vi =
Las localidades de un SABDD pueden
a la informacin
estar dispersas en forma fsica dentro de null
de una manera
confiable y eficaz.
una red, ya sea de rea local (LAN) o Existen dos alternativas para dividir cada
extendida (WAN). tabla en tablas ms pequeas: la divisin
El principal objetivo de un SABDD es horizontal (tuplas) o la divisin vertical
compartir y acceder a la informacin de (atributos). Existe tambin lo que se
una manera confiable y eficaz. Si varias conoce como fragmentacin hbrida o
localidades diferentes estn conectadas mixta. As, sea una relacin r, esta se
entre s, un usuario de una localidad fragmentar en r1, r2, ..., rn. Los
puede acceder a los datos de otra. fragmentos contienen informacin
Adems, si se produce un fallo en una suficiente para construir la relacin r
localidad, es posible que las otras original. Esta reconstruccin puede
localidades continen trabajando sin llevarse a cabo utilizando la operacin de
contratiempos. Para el usuario, la unin o un tipo especial de unin sobre
distribucin es totalmente trasparente y los diversos fragmentos denominado join
maneja la base datos como si estuviese . Al reconstruir la informacin se debe

Vol. 16 N 4 61
evitar producir tuples espurios derivados Fragmentacin horizontal
de un planteo incorrecto de la operacin.
Tomando la misma relacin r, la cual se
El grado de fragmentacin puede ir de divide en dos subconjuntos r1, r2, ..., rn,
0% a 100%, tanto vertical (atributos cada tupla de r debe pertenecer a alguno
individuales), como horizontal (tuples de los fragmentos y cada ai es un
individuales). El nivel debe ser definido atributo definido sobre un dominio Di.
de acuerdo con la aplicacin que se As mismo, un fragmento puede
desarrollar. definirse como una seleccin de r y para
Ozsu (1991) establece tres reglas para construir el fragmento utilizamos un
una fragmentacin exitosa: predicado pi ya sea simple o compuesto

Completitud. Si una relacin r es ai= pi(r)


descompuesta en los fragmentos r1, r2, donde el predicado simple es definido de
..., rn cada dato que se encuentra en r la forma
tambin debe ser encontrado un uno o
pi: ai valor
ms fragmentos ri.
donde {=, <, >, , , } y valor es
Reconstruccin. Si una relacin r es
seleccionado del dominio de ai valor.
fragmentada en r1, r2, ..., rn, es posible
Un predicado compuesto es definido por
definir un operador relacional tal que
la conjuncin de predicados simples.
r= ri, ri Fr
Para la reconstruccin de la relacin
Disjointness. Si una relacin r es original, simplemente se unen todos los
descompuesta horizontalmente en fragmentos
fragmentos r1, r2, ..., rn, y el dato di est
r=r1 r2 ... rn
en rj, este dato no va a estar en ningn
otro fragmento rk(k J). Si la relacin r Tomando el ejemplo propuesto y
es descompuesta verticalmente, su teniendo tres sucursales (San Pedro,
atribuyo llave primaria es repetido en Cartago, Santa Ana).
todos los fragmentos. Esto quiere decir depsito1 = nom_suc = San Pedro
que la fragmentacin se produce en los (depsito)
atributos que no contienen la llave
primaria de la relacin. depsito2 = nom_suc = Cartago
(depsito)
La finalidad de la fragmentacin ha de
ser siempre la bsqueda de un mejor depsito3 = nom_suc = Santa Ana
rendimiento. (depsito)
Tomemos el siguiente esquema de De esta manera, el fragmento depsito1
relacin a manera de ejemplo: se almacena en la localidad San Pedro,
el fragmento depsito2 en la localidad
depsito (nom_cliente, num_cta, nom_suc, saldo) Cartago y el fragmento3 en la localidad
Santa Ana.
nom_cliente num_cta nom_suc saldo Para realizar la fragmentacin horizontal,
debemos tomar en cuenta dos factores
Luis Chvez 7465 San Pedro 30000 importantes:
Silvia Daz 4582 San Pedro 70000
Jos Mora 3256 Cartago 20000 La selectividad del trmino del
Julia Meza 2145 Cartago 50000 predicado, esto es, el nmero de
Juan Vargas 9521 Santa Ana 10000 tuplas de una relacin que pueden
Xinia Vquez 3469 Santa Ana 40000 ser accesadas por una consulta de

62 Vol. 16 N 4
depsito 1
llave primaria de la relacin, con el fin de
comprobar la integridad. Otra alternativa
nom_cliente num_cta nom_suc saldo
consiste en agregar un atributo adicional,
denominado id_tupla, el cual ser la
Luis Chvez 7465 San Pedro 30000 direccin fsica lgica de una tupla, lo cual
Silvia Daz 4582 San Pedro 70000 lo convierte en una llave del esquema. De
esta manera, si descomponemos
verticalmente el ejemplo en
depsito_vert1=(nom_cliente, nom_suc,
depsito 2 id_tupla)

nom_cliente num_cta nom_suc saldo depsito_vert2=(num_cta, saldo,


id_tupla)
Jos Mora 3256 Cartago 20000 y utilizando la siguiente operacin para
Julia Meza 2145 Cartago 50000 la fragmentacin
depsito4=depsito_vert1 (depsito)
depsito5=depsito_vert2 (depsito)
depsito 3
tendremos lo siguiente
nom_cliente num_cta nom_suc saldo

Juan Vargas 9521 Santa Ana 10000 depsito 4


Xinia Vquez 3469 Santa Ana 40000
nom_cliente nom_suc id_tupla

Luis Chvez San Pedro 1


usuario y que satisfacen el trmino Silvia Daz San Pedro 2
del predicado utilizado. Jos Mora Cartago 3
Julia Meza Cartago 4
La frecuencia de acceso a los datos.
Juan Vargas Santa Ana 5
Xinia Vquez Santa Ana 6
Fragmentacin vertical
Para realizar la fragmentacin vertical
de r(R) se debe involucrar la definicin
depsito 5
de varios subconjuntos R1, R2, ..., Rn
tales que:
nom_cliente saldo id_tupla
R= R1 R2 ... Rn
Luis Chvez 30000 1
Cada fragmento ri de r se define por:
Silvia Daz 70000 2
ri= Ri (r) Jos Mora 20000 3
La relacin r puede reconstruirse a Julia Meza 50000 4
partir de los fragmentos realizando la Juan Vargas 10000 5
operacin de join, en la cual se combina Xinia Vquez 40000 6
una seleccin de un producto cartesiano
r= r1 r2 ... rn Para la reconstruccin basta con realizar
la operacin
Para realizar la fragmentacin vertical
es necesario agregar a cada fragmento la depsito (depsito 4 depsito 5)

Vol. 16 N 4 63
Fragmentacin hbrida o mixta depsito 4a
En algunos casos, la fragmentacin
horizontal y vertical no es suficiente nom_cliente nom_suc id_tupla
para satisfacer los requerimientos de los
usuarios de la aplicacin. Es posible Luis Chvez San Pedro 1
aplicar fragmentacin horizontal a un Silvia Daz San Pedro 2
fragmento obtenido con fragmentacin
vertical o viceversa (figura 2).

depsito 4b

nom_cliente nom_suc id_tupla

Jos Mora Cartago 3


Julia Meza Cartago 4

En algunos casos,
depsito 4c
la fragmentacin
horizontal y vertical Figura 2
nom_cliente nom_suc id_tupla
no es suficiente Fragmentacin hbrida o mixta
para satisfacer los
Juan Vargas Santa Ana 5
requerimientos
Xinia Vquez Santa Ana 6
de los usuarios Por ejemplo, al tener una relacin r
de la aplicacin. dividida en los fragmentos r1, r2, ..., rn,
obtenidos al aplicar la fragmentacin
horizontal o vertical, es posible aplicar depsito 5
una fragmentacin a uno de los
fragmentos ya obtenidos con antelacin. nom_cliente saldo id_tupla
As, si se desea fragmentar
horizontalmente depsito4 obtenido Luis Chvez 30000 1
anteriormente con fragmentacin vertical, Silvia Daz 70000 2
tendremos Jos Mora 20000 3
Julia Meza 50000 4
Depsito4a = nom_suc=San Pedro
Juan Vargas 10000 5
(depsito4)
Xinia Vquez 40000 6
Depsito4b = nom_suc=Cartago
(depsito4)
Depsito4c = nom_suc=Santa Ana
(depsito4) la fragmentacin vertical y la horizontal
(figura 3).
Con lo que la relacin r se divide en 4
fragmentos: depsito4a, depsito4b,
depsito4c y depsito5. Localizacin de los datos
Cada uno de estos fragmentos se Todas las consultas realizadas por un
almacena en localidades diferentes. Para usuario del sistema se ejecutan en forma
la reconstruccin, se debe realizar un atmica, es decir, se ejecutan todas las
join entre los fragmentos generados por instrucciones de la consulta o no se

64 Vol. 16 N 4
esperados, y debe ir en concordancia de
la minimizacin de costos por el
consumo de recursos.
Como el direccionamiento de la consulta
tiene dos requerimientos, esta debe
concentrarse en dos pasos secuenciales:
localizacin de los datos y optimizacin
global. Estos pasos son precedidos por
su descomposicin y reescritura en
lgebra relacional. La localizacin de
los datos transforma una consulta
algebraica en su consulta fragmentada
equivalente (expresada en fragmentos de
Figura 3 la base almacenada en diferentes
Reconstruccin de la fragmentacin
localidades). La optimizacin global
hbrida o mixta
genera un ptimo plan de ejecucin para
la consulta fragmentada, creando
decisiones relativas a la operacin de
Todas las consultas ejecuta ninguna. Para un sistema ordenamiento, movimiento de los datos
realizadas por un distribuido es bastante complicado entre las localidades, y la seleccin de
usuario del sistema garantizar la atomicidad de las consultas los algoritmos distribuidos y locales
se ejecutan en forma puesto que es posible que participen para la operacin de los datos.
atmica, es decir, varias localidades en su ejecucin. El
se ejecutan todas fallo de una de esta localidades o de la
las instrucciones lnea de comunicacin puede dar como Discusin
de la consulta o resultado clculos errneos. Para Las bases de datos distribuidas han
no se ejecuta ninguna. enfrentar este problema, cada localidad permitido que los sistemas de base de
cuenta con un administrador de datos puedan crecer considerablemente
transacciones el cual se encarga de en la cantidad de informacin que
gestionar la ejecucin de aquellas manejan, al permitir la integracin de
transacciones que accedan a datos mltiples computadoras, distribuidas en
almacenados en esa localidad. Los distintas partes de un rea geogrfica
administradores de las diferentes determinada y cada una tener los
localidades cooperan para ejecutar las recursos suficientes para contener y
transacciones globales. manejar por s sola grandes cantidades
Como se ha visto hasta este momento, de informacin. Se comportan de la
cualquier entidad fragmentada puede ser misma forma que las bases de datos
reconstruida nuevamente. El proceso de relacionales, incluyendo la arquitectura
reconstruccin o fragmentacin reversiva de tres niveles, afectando solamente
se denomina programa de localizacin. al nivel fsico la manera de almacenar
sus datos.
Al realizar una consulta, la cual es
formulada en un lenguaje de consulta de El ejemplo de sistemas distribuidos
alto nivel, es automticamente traducida permite dividir las consultas para ser
en un plan de ejecucin de bajo nivel. Esta realizadas a una mayor velocidad por
transformacin tiene dos requerimientos: distintas mquinas o procesadores,
la consulta se debe haber formulado incrementando enormemente el
correctamente, para que el plan de rendimiento del sistema de base de
ejecucin produzca los resutados datos. Ofrece tambin la ventaja de una

Vol. 16 N 4 65
mayor confiabilidad, debido a la Otro aspecto de gran importancia es el de
redundancia. Por otro lado, el desarrollo mecanismos de recuperacin despus de
del Internet facilita an ms la fallas, tales como la posibilidad de que,
aplicacin de este esquema, pero debido a problemas en la comunicacin,
tambin aumenta sus riesgos y obliga a el sistema quede dividido en dos o ms
invertir ms en seguridad. sub-redes fragmentadas.
Se debe considerar para el diseo de la Aunque las teoras de sistemas
distribucin de los datos, los factores distribuidos tienen un camino largo en el
que contribuyen a un diseo ptimo. La mbito de la investigacin, al parecer
organizacin lgica de la base de datos, hasta hace poco se han aplicado estos
la localizacin de las aplicaciones, las sistemas al mbito comercial, donde
caractersticas de acceso de las existe un nicho muy grande de
aplicaciones a la base de datos y las aplicacin. Dicho nicho tiende a crecer
La mayor ventaja caractersticas del sistema en cada sitio, en la medida en que se adentra cada vez
que presenta esta tienen una decisiva influencia sobre la ms en un mundo globalizado, donde la
tecnologa radica distribucin. La informacin necesaria informacin es utilizada y creada de
en el desarrollo y para el diseo de la distribucin puede manera global.
crecimiento modular, dividirse en cuatro categoras: la
donde distintas informacin de la base de datos, la
Bibliografa
localidades podrn informacin de la aplicacin, la
ser incluidas informacin sobre la red y la Bases de datos distribuidas. s.l.: Escuela
Universitaria de Informtica, s.f.
conforme va informacin sobre las mquinas
http://www-oei.eui.upm.es/Asignaturas/BD/
creciento en sistema. conectadas a esta. Las dos ltimas son Distribuidas.htm
de carcter cuantitativo y servirn,
Bases de datos distribuidas: doce normas para
principalmente, para desarrollar el su manejo. Mundo de la computacin
proceso de asignacin. 4(22):19:21, 1990.
La mayor ventaja que presenta esta Bouguettaya, Athman; Papazoglou, Mike;
tecnologa radica en el desarrollo y King, Roger. On building a hyperdistributed
crecimiento modular, donde distintas database. Information systems. 20(7):557-
577, 1995.
localidades podrn ser incluidas
conforme va creciento en sistema, Cahn, Robert. Wide area network desing:
lo cual definitivamente influye de concepts and tools form optimization. San
Francisco: Morgan Kaufmann Publishers,
manera muy positiva en el costo final 1998.
del proyecto.
Gonzlez Alvarado, Carlos. Sistemas de bases
Al iniciar el estudio de un desarrollo sobre de datos. Cartago: Editorial Tecnolgica de
esta tecnologa, se deben tener presentes Costa Rica, 1996.
algunos aspectos que han de ser Gonzlez Martn, Oscar. Arquitecturas de
manejados adecuadamente. Es preciso sistemas de bases de datos. Castilla La
tomar las decisiones sobre la distribucin Mancha, Espaa: Universidad de Castilla La
Mancha, 2000. http://alarcos.inf-
fsica de la informacin y de qu manera
cr.uclm.es/doc/bda/doc/trab/T9900_OGonz
ser fragmentada. Se debe determinar y alez.pdf
distribuir las copias de los fragmentos en
Hua, Kien; Lee, Chiang; Young, Honestly.
distintas localidades, la forma en que se Data partitioning for multicomputer
va a manejar la posibilidad de database systems: a cell-based approach.
modificaciones concurrentes de la misma Informacin system. 18(5):329-342, 1993.
informacin y el control de las Korth, Henry; Silberschatz, Abraham.
actualizaciones de la informacin Fundamentos de bases de datos. Madrid:
duplicada para mantener la consistencia. McGraw-Hill, 1993.

66 Vol. 16 N 4
Nitzberg, Bill; Lo, Virginia. Distributed shared Ozsu, Tammer; Valduriez, Patrick. Principles
memory: a survey of issues and algorithms. of distributed database systems. New Jersey:
Computer. 24(8):52-60, 1991. Prentice-Hall, 1991.
Rodrguez Santos, Jorge. [helmantika@terra.es] Tanenbaum, Andrew. Redes de computadoras.
Diseo de bases de datos distribuidas. 3 ed. Mxico: Prentice-Hall, 1997.
[http://usurios.lycos.es/ jrodr35/]
Vargas, Carlos. Base de datos. Cartago: ITCR,
1995.

Vol. 16 N 4 67