Está en la página 1de 8

Chinchilla Arley, Ricardo

Fragmentación de datos en bases de datos distribuidas.


Tecnología en Marcha. Vol. 16 N˚ 4.

Fragmentación de datos
en bases de datos distribuidas
Ricardo Chinchilla Arley 1

Al estudiar el tema
de bases de datos
distribuidas (BDD) Palabras clave información distribuidos sobre redes de
se deben tratar dos computadoras. Una base de datos es una
elementos Bases de datos, almacenamiento distribuido
colección lógicamente coherente de datos
fundamentales: de datos, diseño de baes de datos.
interrelacionados con un significado
las bases de datos inherente y creada con un propósito
y los sistemas de particular. Por su parte, un sistema
Resumen
tecnología de distribuido interconecta los lugares que
información La investigación se inicia con una tienen diferentes elementos de tecnología
distribuidos definición 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 diseño. Después se sistemas. Ahora bien, una BDD podría
centra en la distribución de los datos, la definirse como una colección de múltiples
descripción de los tipos de bases de datos lógicamente interrelacionadas
fragmentación (horizontal, vertical y (denominadas localidades) y distribuidas
mixta) y sus respectivas operaciones sobre una red de computadoras. Se podría
algebraicas. Finalmente, se describe decir que es la unión de un sistema de base
brevemente cómo se realiza la de datos y un sistema de redes de
localización 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 básico consiste en el
datos distribuidas, redes de computadoras. almacenamiento de datos en varios
computadores, los cuales se comunican
a través de diversos medios, tales como
Introducción
cables telefónicos, 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 tecnología de datos locales), como globales (acceden

1 Ricardo Chinchilla Arley, Master en Computación ITCR, funcionario Centro Centroamericano de


Población, Director Biblioteca Sede del Atlántico, 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 información 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
administración de la base, de tal forma
que su manejo sea transparente al
Fragmentación
Para acceder a una porción 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 ubicación y recuperarlo.
Una base de datos relacional presenta la
información 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 relación o instancia de relación r de
Medio ambiente de una bdd un esquema de relación 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 información
estar dispersas en forma física 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 más pequeñas: la división
El principal objetivo de un SABDD es horizontal (tuplas) o la división vertical
compartir y acceder a la información de (atributos). Existe también lo que se
una manera confiable y eficaz. Si varias conoce como fragmentación híbrida o
localidades diferentes están conectadas mixta. Así, sea una relación 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 información
Además, si se produce un fallo en una suficiente para construir la relación r
localidad, es posible que las otras original. Esta reconstrucción puede
localidades continúen trabajando sin llevarse a cabo utilizando la operación de
contratiempos. Para el usuario, la unión ∪ o un tipo especial de unión sobre
distribución es totalmente trasparente y los diversos fragmentos denominado join
maneja la base datos como si estuviese . Al reconstruir la información se debe

Vol. 16 Nº 4 61
evitar producir tuples espurios derivados Fragmentación horizontal
de un planteo incorrecto de la operación.
Tomando la misma relación r, la cual se
El grado de fragmentación 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 aplicación que se Así mismo, un fragmento puede
desarrollará. definirse como una selección de r y para
Ozsu (1991) establece tres reglas para construir el fragmento utilizamos un
una fragmentación exitosa: predicado pi ya sea simple o compuesto

Completitud. Si una relación 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
también debe ser encontrado un uno o
pi: ai θ valor
más fragmentos ri.
donde θ ∈ {=, <, >, ≤, ≥, ≠} y valor es
Reconstrucción. Si una relación 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 conjunción de predicados simples.
r= ∇ ri, ∀ ri ∈ Fr
Para la reconstrucción de la relación
Disjointness. Si una relación 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 ningún
otro fragmento rk(k ≠ J). Si la relación 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 depósito1 = σ nom_suc = “San Pedro”
que la fragmentación se produce en los (depósito)
atributos que no contienen la llave
primaria de la relación. depósito2 = σ nom_suc = “Cartago”
(depósito)
La finalidad de la fragmentación ha de
ser siempre la búsqueda de un mejor depósito3 = σ nom_suc = “Santa Ana”
rendimiento. (depósito)
Tomemos el siguiente esquema de De esta manera, el fragmento depósito1
relación a manera de ejemplo: se almacena en la localidad San Pedro,
el fragmento depósito2 en la localidad
depósito (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 fragmentación horizontal,
debemos tomar en cuenta dos factores
Luis Chávez 7465 San Pedro 30000 importantes:
Silvia Díaz 4582 San Pedro 70000
José Mora 3256 Cartago 20000 • La selectividad del término del
Julia Meza 2145 Cartago 50000 predicado, esto es, el número de
Juan Vargas 9521 Santa Ana 10000 tuplas de una relación que pueden
Xinia Víquez 3469 Santa Ana 40000 ser accesadas por una consulta de

62 Vol. 16 Nº 4
depósito 1
llave primaria de la relación, 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 Chávez 7465 San Pedro 30000 dirección física lógica de una tupla, lo cual
Silvia Díaz 4582 San Pedro 70000 lo convierte en una llave del esquema. De
esta manera, si descomponemos
verticalmente el ejemplo en
depósito_vert1=(nom_cliente, nom_suc,
depósito 2 id_tupla)

nom_cliente num_cta nom_suc saldo depósito_vert2=(num_cta, saldo,


id_tupla)
José Mora 3256 Cartago 20000 y utilizando la siguiente operación para
Julia Meza 2145 Cartago 50000 la fragmentación
depósito4=∏depósito_vert1 (depósito)
depósito5=∏depósito_vert2 (depósito)
depósito 3
tendremos lo siguiente
nom_cliente num_cta nom_suc saldo

Juan Vargas 9521 Santa Ana 10000 depósito 4


Xinia Víquez 3469 Santa Ana 40000
nom_cliente nom_suc id_tupla

Luis Chávez San Pedro 1


usuario y que satisfacen el término Silvia Díaz 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 Víquez Santa Ana 6
Fragmentación vertical
Para realizar la fragmentación vertical
de r(R) se debe involucrar la definición
depósito 5
de varios subconjuntos R1, R2, ..., Rn
tales que:
nom_cliente saldo id_tupla
R= R1 ∪ R2 ∪ ... ∪ Rn
Luis Chávez 30000 1
Cada fragmento ri de r se define por:
Silvia Díaz 70000 2
ri= ∏Ri (r) José Mora 20000 3
La relación r puede reconstruirse a Julia Meza 50000 4
partir de los fragmentos realizando la Juan Vargas 10000 5
operación de join, en la cual se combina Xinia Víquez 40000 6
una selección de un producto cartesiano
r= r1 r2 ... rn Para la reconstrucción basta con realizar
la operación
Para realizar la fragmentación vertical
es necesario agregar a cada fragmento la ∏depósito (depósito 4 depósito 5)

Vol. 16 Nº 4 63
Fragmentación híbrida o mixta depósito 4a
En algunos casos, la fragmentación
horizontal y vertical no es suficiente nom_cliente nom_suc id_tupla
para satisfacer los requerimientos de los
usuarios de la aplicación. Es posible Luis Chávez San Pedro 1
aplicar fragmentación horizontal a un Silvia Díaz San Pedro 2
fragmento obtenido con fragmentación
vertical o viceversa (figura 2).

depósito 4b

nom_cliente nom_suc id_tupla

José Mora Cartago 3


Julia Meza Cartago 4

En algunos casos,
depósito 4c
la fragmentación
horizontal y vertical Figura 2
nom_cliente nom_suc id_tupla
no es suficiente Fragmentación híbrida o mixta
para satisfacer los
Juan Vargas Santa Ana 5
requerimientos
Xinia Víquez Santa Ana 6
de los usuarios Por ejemplo, al tener una relación r
de la aplicación. dividida en los fragmentos r1, r2, ..., rn,
obtenidos al aplicar la fragmentación
horizontal o vertical, es posible aplicar depósito 5
una fragmentación a uno de los
fragmentos ya obtenidos con antelación. nom_cliente saldo id_tupla
Así, si se desea fragmentar
horizontalmente depósito4 obtenido Luis Chávez 30000 1
anteriormente con fragmentación vertical, Silvia Díaz 70000 2
tendremos José Mora 20000 3
Julia Meza 50000 4
Depósito4a = σ nom_suc=“San Pedro”
Juan Vargas 10000 5
(depósito4)
Xinia Víquez 40000 6
Depósito4b = σ nom_suc=“Cartago”
(depósito4)
Depósito4c = σ nom_suc=“Santa Ana”
(depósito4) la fragmentación vertical y la horizontal
(figura 3).
Con lo que la relación r se divide en 4
fragmentos: depósito4a, depósito4b,
depósito4c y depósito5. Localización 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 reconstrucción, se debe realizar un atómica, 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 minimización de costos por el
consumo de recursos.
Como el direccionamiento de la consulta
tiene dos requerimientos, esta debe
concentrarse en dos pasos secuenciales:
localización de los datos y optimización
global. Estos pasos son precedidos por
su descomposición y reescritura en
álgebra relacional. La localización de
los datos transforma una consulta
algebraica en su consulta fragmentada
equivalente (expresada en fragmentos de
Figura 3 la base almacenada en diferentes
Reconstrucción de la fragmentación
localidades). La optimización global
híbrida o mixta
genera un óptimo plan de ejecución para
la consulta fragmentada, creando
decisiones relativas a la operación 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 selección 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 operación de los datos.
atómica, es decir, varias localidades en su ejecución. El
se ejecutan todas fallo de una de esta localidades o de la
las instrucciones línea de comunicación puede dar como Discusión
de la consulta o resultado cálculos erróneos. 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 información que
gestionar la ejecución de aquellas manejan, al permitir la integración de
transacciones que accedan a datos múltiples computadoras, distribuidas en
almacenados en esa localidad. Los distintas partes de un área geográfica
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 información. 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
reconstrucción o fragmentación reversiva de tres niveles, afectando solamente
se denomina programa de localización. al nivel físico 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 automáticamente traducida permite dividir las consultas para ser
en un plan de ejecución de bajo nivel. Esta realizadas a una mayor velocidad por
transformación tiene dos requerimientos: distintas máquinas o procesadores,
la consulta se debe haber formulado incrementando enormemente el
correctamente, para que el plan de rendimiento del sistema de base de
ejecución produzca los resutados datos. Ofrece también 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 recuperación después de
del Internet facilita aún más la fallas, tales como la posibilidad de que,
aplicación de este esquema, pero debido a problemas en la comunicación,
también aumenta sus riesgos y obliga a el sistema quede dividido en dos o más
invertir más en seguridad. sub-redes fragmentadas.
Se debe considerar para el diseño de la Aunque las teorías de sistemas
distribución de los datos, los factores distribuidos tienen un camino largo en el
que contribuyen a un diseño óptimo. La ámbito de la investigación, al parecer
organización lógica de la base de datos, hasta hace poco se han aplicado estos
la localización de las aplicaciones, las sistemas al ámbito comercial, donde
características de acceso de las existe un nicho muy grande de
aplicaciones a la base de datos y las aplicación. Dicho nicho tiende a crecer
La mayor ventaja características del sistema en cada sitio, en la medida en que se adentra cada vez
que presenta esta tienen una decisiva influencia sobre la más en un mundo globalizado, donde la
tecnología radica distribución. La información necesaria información es utilizada y creada de
en el desarrollo y para el diseño de la distribución puede manera global.
crecimiento modular, dividirse en cuatro categorías: la
donde distintas información de la base de datos, la
Bibliografía
localidades podrán información de la aplicación, la
ser incluidas información sobre la red y la Bases de datos distribuidas. s.l.: Escuela
Universitaria de Informática, s.f.
conforme va información sobre las máquinas
http://www-oei.eui.upm.es/Asignaturas/BD/
creciento en sistema. conectadas a esta. Las dos últimas son Distribuidas.htm
de carácter cuantitativo y servirán,
Bases de datos distribuidas: doce normas para
principalmente, para desarrollar el su manejo. Mundo de la computación
proceso de asignación. 4(22):19:21, 1990.
La mayor ventaja que presenta esta Bouguettaya, Athman; Papazoglou, Mike;
tecnología radica en el desarrollo y King, Roger. On building a hyperdistributed
crecimiento modular, donde distintas database. Information systems. 20(7):557-
577, 1995.
localidades podrán 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.
González Alvarado, Carlos. Sistemas de bases
Al iniciar el estudio de un desarrollo sobre de datos. Cartago: Editorial Tecnológica de
esta tecnología, se deben tener presentes Costa Rica, 1996.
algunos aspectos que han de ser González Martín, Oscar. Arquitecturas de
manejados adecuadamente. Es preciso sistemas de bases de datos. Castilla La
tomar las decisiones sobre la distribución Mancha, España: Universidad de Castilla La
Mancha, 2000. http://alarcos.inf-
física de la información 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 Información system. 18(5):329-342, 1993.
información y el control de las Korth, Henry; Silberschatz, Abraham.
actualizaciones de la información 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.
Rodríguez Santos, Jorge. [helmantika@terra.es] Tanenbaum, Andrew. Redes de computadoras.
Diseño de bases de datos distribuidas. 3 ed. México: Prentice-Hall, 1997.
[http://usurios.lycos.es/ jrodr35/]
Vargas, Carlos. Base de datos. Cartago: ITCR,
1995.

Vol. 16 Nº 4 67

También podría gustarte