You are on page 1of 10

UNIVERSIDAD MAYOR DE SAN ANDRS FACULTAD DE CIENCIAS ECONMICAS Y FINANCIERAS CARRERA DE CONTADURA PBLICA

TIPOS DE FRAGMENTACIN EN BASES DE DATOS DISTRIBUIDAS


APRENDIENDO CON GILMAR
Elaborado por:
GUTIERREZ YUJRA GILMAR

Fecha de entrega: 24/04/2013


La Paz Bolivia

2 TIPOS DE FRAGMENTACIN EN BASES DE DATOS DISTRIBUIDAS CONTENIDO TIPOS DE FRAGMENTACIN EN BASES DE DATOS DISTRIBUIDAS ............................................................................................ 3

APRENDIENDO CON GILMAR |

TIPOS DE FRAGMENTACIN EN BASES DE DATOS DISTRIBUIDAS

TIPOS DE FRAGMENTACIN EN BASES DE DATOS DISTRIBUIDAS

Resumen / Abstract En el trabajo se reflejan aspectos importantes referentes al diseo de una base de datos distribuida. Se profundiza en el problema de la fragmentacin de los datos y se brindan algunos de los algoritmos para fragmentacin horizontal, fragmentacin horizontal derivada y fragmentacin vertical. El tema seleccionado es parte de una investigacin de tesis de maestra que presenta el desarrollo de un modelo arquitectnico para la Plataforma de Gestin Comercial en la Unidad de Negocios Internacionales de ETECSA.

In this paper appear important things that approach the distributed database design. This work deepens in the problem of the fragmentation data and offers some algorithms for horizontal fragmentation, derived horizontal fragmentation and vertical fragmentation. The selected topic is part of an investigation of a master's thesis that presents the development of an architectonic model for the Commercial Management Platform in the ETECSA International Trade Center.

Palabras clave / Key words Base de datos, base de datos distribuida sistema de base de datos distribuida fragmentacin de datos, arquitectura
de las bases de datos distribuidas

Databases, distributed database, distributed database systems, fragmentation data, distributed database
architecture

INTRODUCCIN
Una base de datos distribuida (BDD) es una coleccin de datos que pertenecen lgicamente al mismo sistema, pero que estn distribuidos sobre diferentes ordenadores de la red. Esta definicin enfatiza dos aspectos importantes en una BDD:1

tanto, el acceso es ms rpido.

Distribucin: Los datos no


residen en el mismo lugar. De este modo se puede distinguir una BDD de una base de datos (BD) centralizada. Correlacin lgica: Es decir, el hecho por el cual los datos tienen algunas propiedades o caractersticas que los relaciona. De este modo se puede distinguir una BDD de un conjunto de BD locales o ficheros residentes en diferentes lugares de una red de ordenadores. En la arquitectura de una BDD se pueden identificar tres capas: vista de usuario, conceptual y fsica. En la capa de usuario se encuentran todas las aplicaciones, las pantallas de entrada de cada dato y los reportes requeridos para la empresa para la cual se representa el modelo. En la capa conceptual est el modelo del negocio subyacente, usualmente el modelo entidad-relacin. En la capa fsica est el modelo fsico y la estructura de la base de datos. Desde la perspectiva de una BDD, los usuarios desde la capa de usuario examinan y manipulan los datos como si la base de datos estuviese centralizada en ese nodo. Desde el punto de vista fsico la BD est fragmentada y ubicada en diferentes sitios.2 Entre los beneficios que presentan las bases de datos distribuidas, se encuentran: Los datos son localizados en un lugar ms cercano, por

Y. ALFARO

El procesamiento es rpido debido a que varios nodos intervienen en el procesamiento de una carga de trabajo, nuevos nodos se pueden agregar fcil y rpidamente. La comunicacin entre nodos se mejora y existe una autonoma e independencia entre los nodos. Los datos se pueden colocar fsicamente en el lugar donde se acceden con mayor frecuencia, haciendo que los usuarios tengan control local de los datos con los que interactan. Esto resulta en una autonoma local. Mediante la replicacin de informacin, las bases de datos distribuidas pueden presentar cierto grado de tolerancia a fallas haciendo que el funcionamiento del sistema no dependa de un solo lugar. ARQUITECTURA DE REFERENCIA PARA LAS BD DISTRIBUIDAS
Los elementos que forman la arquitectura son los siguientes: Esquema global: Define todos los datos que estn contenidos en la BDD como si la BD no fuese distribuida. Por esta razn, el esquema global puede ser definido exactamente de la misma manera que una BD no distribuida. Refirindose a un modelo relacional, se tendran relaciones globales. Fragmentos: Cada relacin global puede ser dividida en porciones que no se solapen, llamados fragmentos. El mapa resultante se denomina esquema de fragmentacin. Una relacin global puede dividirse en n fragmentos y un fragmento solo puede pertenecer a una relacin global. Los fragmentos se referencian por un nombre de relacin global y un subndice. Por ejemplo Ri indica el fragmento i de la relacin R. Los fragmentos son porciones lgicas de relaciones globales que pueden estar fsicamente ubicadas en uno o varios nodos de la red. El esquema de ubicacin define en qu nodos va a ser almacenado un fragmento. El tipo de mapa definido en el esquema de ubicacin determina si la BDD es redundante o no. Todos los fragmentos que corresponden a la misma relacin global R y estn ubicados en el mismo nodo constituyen la imagen fsica de una relacin global R en el nodo. Las imgenes fsicas se pueden referenciar por el nombre de la relacin global R y un superndice; por ejemplo, R j indica la imagen fsica de la relacin global R en el nodo j. Por ltimo, se denomina copia de fragmento a la informacin de un fragmento en un nodo determinado, y se denota usando el nombre de la relacin global, un subndice y un superndice. Ejemplo: R3 2 indica copia del fragmento R2 que est ubicado en el nodo 3. Dos imgenes fsicas pueden ser idnticas; se dice entonces que una imagen fsica es copia de otra imagen fsica. En un nivel ms bajo, es necesario construir un mapa que relacione las imgenes fsicas con los objetos que son manipulados por los gestores locales. Este mapa se llama esquema

FRAGMENTACIN
Los principales problemas de la fragmentacin2 se pueden resumir bsicamente en:

Encontrar la unidad apropiada de distribucin, es decir, definir qu contiene un fragmento. El rendimiento se afecta cuando existen aplicaciones que necesitan tener una vista completa de un objeto o entidad (relacin, en el modelo relacional) y est descompuesta en fragmentos ubicados fsicamente en sitios distintos. Esta recuperacin requiere la ejecucin de operaciones de unin y combinacin. Se pierde el significado semntico del objeto o entidad al tenerse el concepto subdivido en fragmentos ubicados en diferentes sit ios. Esto puede provocar, por ejemplo, complicaciones en la interpretacin y verificacin del modelo conceptual que representa a los requerimientos. A pesar de estos inconvenientes, la fragmentacin facilita el proceso concurrente de las transacciones y, por lo tanto, la recuperacin de informacin. Con el fin de realizar una fragmentacin adecuada es necesario proporcionar informacin que ayude a realizarla. Esta informacin normalmente debe ser proporcionada por el usuario y tiene que ver con cuatro tipos:
1. Informacin sobre el significado de los datos; 2. Informacin sobre las aplicaciones que los usan; 3. Informacin acerca de la red de comunicaciones; 4. Informacin acerca de los sistemas de cmputo. Existen tres tipos de fragmentacin: 1. Fragmentacin horizontal; 2. Fragmentacin vertical; 3. Fragmentacin mixta o 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. Estos dos tipos de part icin 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. 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.3,4 Condicin de completitud: La descomposicin de una relacin R en los fragmentos R1, R2, ..., Rn es completa s y solamente s cada elemento de datos en R se encuentra en uno o varios fragmentos Ri. Esta propiedad asegura que los datos de la relacin global se proyecten sobre los fragmentos sin prdida alguna. Condicin de reconstruccin: Si la relacin R se descompone en los fragmentos R , R , ..., R , entonces debe existir algn
1 2 n 1 i n

Ri. La reconstruccin operador relacional , tal que, R = de mapas locales y depende del tipo de SGBD local. Por lo tanto, en un sistema heterogneo se tienen diferentes tipos de mapas locales en los distintos nodos.

de la relacin a partir de sus fragmentos asegura la preservacin de las restricciones definidas sobre los datos en forma de dependencias. Condicin de fragmentos disjuntos: Si la relacin R se descompone en los fragmentos R1, R2, ..., Rn, y un elemento de 4
Industrial/Vol. XXVII/No. 1/2006

datos di est en algn fragmento Rj, entonces, no debe estar en ningn otro fragmento Rk (k j). Esta regla asegura que los

TIPOS DE FRAGMENTACIN EN BASES DE DATOS DISTRIBUIDAS

fragmentos horizontales sean disjuntos. Si una relacin R se descompone verticalmente, sus atributos primarios clave normalmente se repiten en todos sus fragmentos.

Fragmentacin horizontal
La fragmentacin horizontal se realiza sobre las tuplas de la relacin. Cada fragmento ser un subconjunto de las tuplas de la relacin. Existen dos variantes de la fragmentacin horizontal: la primaria y la derivada. La fragmentacin horizontal primaria de una relacin se desarrolla empleando los predicados definidos en esa relacin. Por el contrario, la fragmentacin horizontal derivada consiste en dividir una relacin partiendo de los predicados definidos sobre alguna otra. 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 la base de datos, la cardinalidad de cada relacin y las dependencias entre relaciones. 4 En segundo lugar, se debe proporcionar informacin acerca de la aplicacin que utiliza la base de datos. Esta puede ser tanto cualitativa como cuantitativa. La primera guiar la fragmentacin, mientras que la cuantitativa se necesitar en los modelos de asignacin. La principal informacin de carcter cualitativo son los predicados empleados en las consultas de usuario. Dada una relacin R( A1, A2, , An), donde Ai es un atributo definido sobre el dominio Di, un predicado simple pj definido en R tiene la forma pj: Ai . Valor donde { =, <, , , >, } y Valor Di. Para la relacin R se define un conjunto de predicados simples como Pr = { p1, p2, , pm } Sobre la informacin cuantitativa necesaria relativa a las aplicaciones, se definen dos conjuntos de datos.4 Selectividad minitrmino: Es el nmero de tuplas de una relacin a las que accede una consulta de acuerdo con un predicado minitrmino dado. Se denota la selectividad de un mintrmino mi como sel(mi). Frecuencia de acceso: Es la frecuencia con la que un usuario accede a los datos. Si Q = {q1, q2, ..., qq} es un conjunto de consultas de usuario, acc(qi) indica la frecuencia de acceso a la consulta qi en un perodo dado.

haciendo, por tanto, un nmero menor de accesos a pginas. Es ms complicada que el 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: 1. 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. 2. Divisin: Inicia con una sola relacin realizar un particionamiento basado en el comportamiento de acceso de las consultas sobre los atributos. Dado un conjunto de consultas Q = { q1, q2, ..., qq } que sern aplicadas a la relacin R[A1, A2, ..., An], se define la funcin

XVH(TL , $L ) =

1 Si el atributo Aj es referido por la consulta qi 0 en caso contrario

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

Fragmentacin vertical
Una fragmentacin vertical3 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

Los vectores use ( qi, ) son fciles de definir si el diseador conoce las aplicaciones que sern ejecutadas en la base de datos. La medida de afinidad entre dos atributos Ai y Aj de una relacin R[A1, A2, ..., An] con respecto al conjunto de consultas Q = { q1, q2, ..., qq } se define como sigue: aff(Ai , Aj) = las consultas que acceden Ai y Aj Si (refl(qk) accl(qk)), donde, refl(qk) es el nmero de accesos a los atributos (Ai, Aj) para cada ejecucin de la consulta qk en el sitio Sl y accl(qk) es la frecuencia de acceso de la consulta previamente definida y modificada para incluir las frecuencias en sitios diferentes.

aplicar fragmentacin vertical a fragmentos horizontales. Por ejemplo: a) Fragmentacin fragmentacin horizontal A1 A2 vertical seguida por una

A3

A4

A5

Fragmentacin mixta o hbrida


La forma ms simple de construir fragmentacin mixta consiste en aplicar fragmentacin horizontal a fragmentos verticales, o

b) Fragmentacin horizontal seguida por una fragmentacin vertical A1 A2 A3 A4 A5

Industrial/Vol. XXVII/No. 1/2006

Y. ALFARO

Aunque se pueden generar rboles de fragmentacin muy complejos, normalmente debe ser suficiente con dos niveles. La segunda fragmentacin puede ser aplicada a subconjuntos de fragmentos producidos por la primera. En el ejemplo anterior: a) La fragmentacin horizontal se aplica a un solo fragmento producido por la fragmentacin vertical; b) La fragmentacin vertical se aplica a un solo fragmento producido por la fragmentacin horizontal.

REFERENCIAS
1. IGLESIAS, EVA L.: Bases de datos distribuidas, ESEI, Universidad de Vigo. http://trevinca.ei.uvigo.es/~evali/abd/ BDDWeb.pdf, (abril, 2005) 2. HERNNDEZ GONZLEZ, ANAISA. "Base de datos distribuida", Maestra en Informtica Aplicada, CEIS, Ciudad de La Habana, marzo, 2005. 3. Cinvestav. Diseo de Bases de datos distribuidas. http:// ww w.cs.cinvestav.mx/SC/prof_personal/adiaz/Disdb/ Cap_3.html, abril, 2005. 4. RODRGUEZ SANTOS, JORGE: "Diseo de bases de datos distribuidas", http://usuarios.lycos.es/jrodr35/index.htm, abril, 2005.

ALTERNATIVAS SOBRE REPLICACIN PARA LA ASIGNACIN DE FRAGMENTOS


Suponiendo que los datos son fragmentados 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, estos 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 sera 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 consult as que se procesen sean mayoritariamente de lectura, se podr 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, se puede 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. 4

CONCLUSIONES
Con el desarrollo de este trabajo se ha logrado realizar una bsqueda bibliogrfica acerca de las bases de datos distribuidas, fundamentalmente en el tema de la fragmentacin de los datos y su ubicacin en los nodos que componen la red. Esta revisin ha permitido a la autora centrarse en los elementos fundamentales para lograr el diseo ms ptimo de los datos a distribuir y(o) replicar en cada punto del sistema distribuido.

10 TIPOS DE FRAGMENTACIN EN BASES DE DATOS DISTRIBUIDAS

Industrial/Vol. XXVII/No. 1/2006

10

APRENDIENDO CON GILMAR |

You might also like