centro nacional de investigacion y desarrollo ... - … sandra ramirez peralta...en especial a mi...

100
S.E.P. S. E.1 .T. D.G.I.T. CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO TECNOLOGICO cenidet " EXTENSION AL MODELO FURD PARA INCORPORAR LOS COSTOS DE ALMACENAMIENTO Y DE ACCESO A FRAGMENTOS " T E S I S PARAOBTENERELGRADODE ' MAESTRO EN CIENCIAS EN CIENCIAS COMPUTACIONALES P R E S E N T A : SANDRA RAMÍREZ PERALTA DIRECTORES DE TESIS : DR. JOAQUiN PÉREZ ORTEGA DR. RODOLFO ABRAHAM PAZOS RANGEL CUERNAVACA, MORELOS NOVIEMBRE 1999

Upload: others

Post on 25-May-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO ... - … Sandra Ramirez Peralta...En especial a mi asesor de tesis, el Dr. Joaquín Pérez Ortega por ... Tabla 5.8 Ubicación de los

S.E.P. S. E.1 .T. D.G.I.T.

CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO TECNOLOGICO

cenidet

" EXTENSION AL MODELO FURD PARA INCORPORAR LOS COSTOS DE ALMACENAMIENTO

Y DE ACCESO A FRAGMENTOS "

T E S I S PARAOBTENERELGRADODE

' MAESTRO EN CIENCIAS EN CIENCIAS COMPUTACIONALES P R E S E N T A : SANDRA RAMÍREZ PERALTA

DIRECTORES DE TESIS : DR. JOAQUiN PÉREZ ORTEGA DR. RODOLFO ABRAHAM PAZOS RANGEL

CUERNAVACA, MORELOS NOVIEMBRE 1999

Page 2: CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO ... - … Sandra Ramirez Peralta...En especial a mi asesor de tesis, el Dr. Joaquín Pérez Ortega por ... Tabla 5.8 Ubicación de los

Centro Nacional de Investigación y Desarrollo Te c n o I Ó g ic o

FORMA C3 REVISION DE TESIS

Cuernavaca, Morelos a 8 de octubre de 1999

M.C. Máximo López Sanchez Presidente de la Academia de Ciencias Computacionales Presente

~

Nos es grato comunicarle, que conforme a los lineamientos para 'la obtención del grado de Maestro en Ciencias de este Centro, y después de haber sometido a revisión académica la tesis denominada: EXTENSION AL MODELO FURD PARA INCORPORAR LOS COSTOS DE ALMACENAMIENTO Y ACCESO A FRAGMENTOS, realizada por la C. Sandra Ramírez Peralta, y habiendo cumplido con todas las correcciones que le fueron indicadas, acordamos no tener objeción para que se le conceda la autorización de impresión de la tesis.

Sin otro particular, quedamos de usted.

Atentamente

La comisión de re

k\ I Cn ", \L'h - M.C. Mario Guillén Rodriguez Dr. Joáquin Pérez Ortega -

d i r e c t o r de tesis

//rA/ Dr. Rodolfo A aham Pazos Raneel -

Co-Director de tesis

C.C.P. Dr. Javier Ortiz HernándeziJefe del Departamento de Ciencias Cornputacionales

INTERIOR INTERNADO PALMIRA UN. CUERNAVACA, MOR. MÉXICO APARTADO POSTAL 5-164 CP 62050. CUERNAVACA. IELS. (73)lZ 2314.12 7613.18 7741. FAX(73) 12 2434

' cenidet

Page 3: CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO ... - … Sandra Ramirez Peralta...En especial a mi asesor de tesis, el Dr. Joaquín Pérez Ortega por ... Tabla 5.8 Ubicación de los

. . . .. ... . .. ,

Centro Nacional de Investigación y Desarrollo Te c n o ió g ic o

FORMA C4 AUTORIZACION DE IMPRESIÓN DE TESIS

Cuernavaca. Morelos a 8 de octubre de 1999

C. Sandra Rarnírez Peralta Candidato al grado de Maestro en Ciencias en Ciencias Computacionales Presente

Después de haber atendido las indicaciones sugeridas por la Comisión Revisora de la Academia de Ciencias Computacionales en relación a su trabajo de tesis: EXTENSION AL MODELOFURDPARAlNCORPORARLOSCOSTOSDEALMACENAMlENTOYACCESOA FRAGMENTOS, me es grato comunicarle, que conforme a los lineamientos establecidos para la obtención del grado de Maestro en Ciencias en este Centro, se le concede la autorización para que proceda con la impresión de su tesis.

At entadnte

INTERIOR INTERNADO PALMIRA S/N. C U E R N A V A C A M O R . M É X I C O APARTADO POSTAL 5-164 C P 62050, CUERNAVACA. TELS. t73)12 2314.12 7613.18 7741. FAX (73) 12 2434 cenidet

Page 4: CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO ... - … Sandra Ramirez Peralta...En especial a mi asesor de tesis, el Dr. Joaquín Pérez Ortega por ... Tabla 5.8 Ubicación de los

AGRADECIMIENTOS

En especial a mi asesor de tesis, el Dr. Joaquín Pérez Ortega por su apoyo, confianza y orientación en el desarrollo de esta tesis.

A mis revisores de tesis, Dr. Guillermo Rodrt'guez Ortiz, M.C. Juan Gabriel González Serna y el M.C. Mario Guillén Rodrt'guez, por sus criticas, comentarios y su valiosa cooperación en la revisión de este trabajo de tesis.

Agradezco al Dr. Rodolfo Pazos Range1 por su valioso apoyo durante la realización y revisión de este trabajo.

Al Cenidet, por permitir desarrollarme profesionalmente y alcanzar una de mis más grandes metas en la vida.

A todos los profesores del Cenidet, por compartir conmigo sus experiencias y conocimientos profesionales.

Al Consejo Nacional de Ciencia y Tecnología (Conacyl), por el apoyo económico que me brindó para poder realizar y concluir mis estudios de maestría.

i

Page 5: CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO ... - … Sandra Ramirez Peralta...En especial a mi asesor de tesis, el Dr. Joaquín Pérez Ortega por ... Tabla 5.8 Ubicación de los

DEDICATORIA

A mis padres Minerva y Lucio, con todo mi amor, por el cariño, confianza y apoyo moral

que me han brindado siempre para seguir adelante, dejándome la mejor herencia que se le puede dar a

un hijo. Muchas gracias.

A mis hermanos Angélica e Iván, por su cariño y por ser mis mejores amigos desde siempre

y para siempre.

A unapersona muy especial, que ha estado conmigo en todo momento, y que es quien me impulsa a

superarme cada dia. Gracias Fernando.

ii

Page 6: CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO ... - … Sandra Ramirez Peralta...En especial a mi asesor de tesis, el Dr. Joaquín Pérez Ortega por ... Tabla 5.8 Ubicación de los

TABLA DE CONTENIDO

Pag . Resumen 1

................................................................................................................ 4 1 . INTRODUCCI~N ......................................................................................................................................

. . 1 . 1 Fragmentacion de Datos ............................................................................. 4 1.2 Motivacion ................................................................................................. 6

1.4 Beneficios Obtenidos .................................................................................. 7 1.5 Organizacion del Documento ....................................................................... 7

.. 1.3 Objetivo de la Tesis .......................................... I ......................................... 6

..

2 . ESTADO DEL ARTE SOBRE FRAGMENTACI~N VERTICAL Y UBICACI~N DE DATOS ................................................................................................................................ 10 2.1 Estado del Arte ......................................................................................... 10

3 . PLANTEAMIENTO GENERAL DEL PROBLEMA Y SU SOLUCIÓN .................... 17

3.2 Alcances .................................................................................................... 20 3.3 Modelo Matemático ................................................................................... 22

3.3.1 Formulación del Modelo Como un Problema de Programación Lineal Entera (PLE) 0-1 .................................................................................................. 22

3.3.2 Funcion Objetivo .................................................................................................. 22 3.3.3 Restricciones Intrínsecas al Problema .............................................................. 23

3.4 Complejidad Computacional ...................................................................... 24 3.4.1 Límetes del Tiempo .............................................................................................. 25 3.4.2 Tamaño de Una Instancia ..................................................................................... 26 3.4.3 Análisis de Algoritmos ......................................................................................... 27

3.4.3.1 Algoritmos en Tiempo Polinomial y Exponencial .................................. 27

3.1 Problema que se Aborda en esta Tesis ......................................................... 18

.. . .

... 111

Page 7: CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO ... - … Sandra Ramirez Peralta...En especial a mi asesor de tesis, el Dr. Joaquín Pérez Ortega por ... Tabla 5.8 Ubicación de los

................................................................ 4 . MÉTODOS DE SOLUCIÓN DEL MODELO 30

4.1 Métodos Exactos ...................................................................................... 30 4.1.1 Programación Lineal Entera 0-1 ...................................................................... 32

. 4.2. 1 Recocido Simulado ............................................................................................. 37 4.2.1.1 Algoritmo Tradicional de Recocido Simulado ....................................... 38

4.2 Métodos Heurísticos ................................................................................. 34

4.2.1.2 Algoritmo Mejorado de Aceptación por Umbral .................................... 38

5 . RESULTADOS EXPERIMENTALES ............................................................................ 42 5.1 Objetivo General de los Casos de Prueba ................................................... 42

5.1.1 Caso de Prueba 1 .................................................................................................. 42

5.1.2 Caso de Prueba 2 .................................................................................................. 45

5.1.3 Caso de Prueba 3 ................................................................................................. 49 5.1.4 Caso de Prueba 4 ................................................................................................. 52

5.1.5 Caso de Prueba 5 ................................................................................................. 55

5.1.6 Caso de Prueba 6 ................................................................................................. 59

Aceptación por Umbral vs . LINDO ............................................................ 65 5.2 Casos de Prueba de desempeño de los métodos de solución del modelo:

6 . CONCLUSIONES Y TRABAJOS FUTUROS ................................................................ 73 6.1. Trabajos Futuros ...................................................................................... 74

APÉNDICE A .......................................................................................................................... 77

GLOSARIO .............................................................................................................................. 86

BIBLIOGRAFIA ..................................................................................................................... 89

iv

Page 8: CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO ... - … Sandra Ramirez Peralta...En especial a mi asesor de tesis, el Dr. Joaquín Pérez Ortega por ... Tabla 5.8 Ubicación de los

INDICE DE TABLAS

Pag .

Tabla 5.1 Matriz de Uso de Atributos (MUA) ..................................................... 43

Tabla 5.2 Matriz de Frecuencia de Consultas de los atributos desde cada uno de los sitios ............................................................................................ 43

Tabla 5.3 Matriz de Frecuencia de Consultas de los atributos desde cada uno de los sitios ( fk, ) .................................................................................... 49

Tabla 5.4 Matriz de Costos de Transmisión entre Sitios ( C.^ ) .............................. 56 Tabla 5.5 Matriz de Uso de Atributos (MUA) qkm ............................................... 60 Tabla 5.6 Matriz de Frecuencia de Consultas de los atributos desde cada

uno de los sitiosfb ............................................................................. 60

Tabla 5.8 Ubicación de los atributos en la fase inicial de la prueba ...................... 60

Tabla 5.9 Matriz de ubicación de los atributos en la fase 1 . A , ........................... 61 Tabla 5.10 Ubicación de los atributos al final de la fase 1 ................................... 61

Tabla 5.1 1 Matriz de ubicación de los atributos en la fase 2, A, ......................... 62 Tabla 5.12 Ubicación de los atributos al final de la fase 2 ................................... 62

Tabla 5.1 3 Matriz de ubicación de los atributos en la fase 3, A, ......................... 62 Tabla 5.14 Ubicación de los atributos al final de la fase 3 ................................... 62 Tabla 5.15 Matriz de ubicación de los atributos en la fase 4, A, ......................... 62

Tabla 5.16 Ubicación de los atributos al final de la fase 4 ................................... 62 Tabla 5.17 Solución exacta con LINDO para 15 casos de prueba pequeños

Tabla 5.18 Solución de los problemas anteriores con Aceptación por Umbral ...... 66 Tabla 5.19 Solución exacta con LINDO para 20 casos de prueba grandes

generados aleatoriamente .................................................................. 69

Tabla 5.20 Solución de los problemas de la tabla 5.19 con Aceptación por Umbral ............................................................................................. 70

. . Tabla 5.7 Matriz de ubicación inicial de los atributos en los sitios A, ................. 60

generados Aleatoriamente ................................................................. 66

V

Page 9: CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO ... - … Sandra Ramirez Peralta...En especial a mi asesor de tesis, el Dr. Joaquín Pérez Ortega por ... Tabla 5.8 Ubicación de los

INDICE DE FIGURAS

Pag . Fig . 3.1 Problema de .ubicación de datos ............................................................. 17 Fig . 5.1 Resultados de la prueba 1 ...................................................................... 45

Fig . 5.2 Resultados de la prueba 2 ...................................................................... 48

Fig . 5.4 Resultados de la prueba 4 ...................................................................... 55 Fig . 5.5 Resultados de la prueba 5 ...................................................................... 59

Fig . 5.3 Resultados de la prueba 3 ...................................................................... 52

Fig . 5.6 Ubicación inicial de los atributos en la fase inicial del problema, sin

tener una ubicación previa, ni intervenir los costos cv y CJ ..................... 61

Fig . 5.6 (a) Ubicación de los atributos en la fase 1, cuando cv = 1.1 .................... 63 Fig . 5.6 (b) Ubicación de los atributos en la fase 1, cuando cv = 3.7 .................... 63 Fig . 5.6 (c) Ubicación de los atributos en la fase 3, cuando cv = 11 ..................... 64

Fig . 5.6 (d) Ubicación de los atributos en la última fase, cuando cv = 44 . Todos los atributos se ubican en el sitio 5 ................................................... 64

Fig . 5.7 Gráfica comparativa de los valores de la F.O. de LINDO vs Aceptación por Umbral para problemas pequeños .................................................... 67

Fig . 5.8 Gráfica comparativa de LINDO vs . Aceptación por Umbral de los

tiempos obtenidos para problemas pequeños .......................................... 68 Fig . 5.9 Gráfica comparativa de los valores de la F.O. de LINDO vs Aceptación

por Umbral para problemas grandes ...................................................... 71

Fig . 5.10 Gráfica comparativa de LINDO vs . Aceptación por Umbral de los tiempos obtenidos para problemas grandes ........................................... 71

Fig . A . l . Características ideales de los componentes del PE ................................. 80

vi

Page 10: CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO ... - … Sandra Ramirez Peralta...En especial a mi asesor de tesis, el Dr. Joaquín Pérez Ortega por ... Tabla 5.8 Ubicación de los

Resumen

Actualmente, las grandes corporaciones requieren el acceso a información que se encuentra en computadoras geográficamente dispersas de la organización, para la toma de decisiones y como apoyo al proceso de negocios de la empresa. Las nuevas versiones de los sistemas manejadores de bases de datos (SMBD) cada vez ofrecen más servicios que permiten el desarrollo de bases de datos distribuidas (BDD) posibilitando de esta manera el que dependencias gubernamentales, industriales, académicas y en general grandes corporaciones cuenten con sistemas distribuidos. Sin embargo, como en toda etapa inicial, las tecnologías existentes para el desarrollo de sistemas no están lo suficientemente maduras, por lo que se hace necesario el desarrollo de metodologias formales que ayuden en el diseño de la distribución.

En este sentido, esta tesis forma parte de un proyecto más general sobre diseño de bases de datos distribuidas que se ha venido desarrollando en el Centro Nacional de Investigación y Desarrollo Tecnológico (Cenidet). En particular, esta tesis contribuye al diseño de la distribución mediante una extensión al modelo matemático FURD [Per97], dicha extensión consiste del modelado matemático de los costos por acceder a dos o más fragmentos para satisfacer una consulta y los costos derivados de almacenar fragmentos en los nodos de la red. Para modelar las interrelaciones entre los componentes, se incorporaron dos restricciones al modelo matemático FURD.

El problema del diseño de la distribución en los sistemas de bases de datos distribuidas es un factor critico que afecta en gran medida su desempeño. Se han publicado distintos trabajos sobre el área, sin embargo, debido a la complejidad del problema se ha demostrado que es NP-completo, los trabajos de investigación a la fecha reportan problemas de a lo más 4 nodos.

Para dar solución al modelo FURD extendido, se exploraron dos métodos, un exacto y un heurístico. Como método exacto se usó el método de ramificar y acotar y como método heuristico una variante de Recocido Simulado, llamada Aceptación por Umbral.

Para validar el trabajo se generaron de manera aleatoria varios casos de prueba de diferenfes famanos y se resolvieron con el método exacto y el heurístico. Los principales resultados fueron los siguientes: mediante las extensiones realizadas al modelo FURD, se puede modelar más fielmente con la realidad la fragmentación y ubicación de los datos. Se observó que los esquemas generados con el modelo FURD tienden a esparcir los datos entre los diferentes nodos, ya que se omiten los costos de almacenar un fragmento y acceder a varios fragmentos; en contraste, el modelo FURD extendido crea esquemas con un mejor balance entre la ubicación de los datos. El problema abordado en esta tesis fue formulado como un problema de programación lineal entera 0-1. Para problemas

I

Page 11: CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO ... - … Sandra Ramirez Peralta...En especial a mi asesor de tesis, el Dr. Joaquín Pérez Ortega por ... Tabla 5.8 Ubicación de los

de tamaño pequeño se aplicó el método de ramificar y acotar (U). Estos resultados exactos nos sirvieron para contrastar los resultados obtenidos con el método de aceptación por umbral, sin embargo se observó que para problemas de tamaño grande, y a no es factible utilizar el método de ramificar y acotar y a que demanda una gran cantidad de memoria.

Se muestra que el método de aceptación por umbral es factible para ser utilizado en la solución de problemas de tamaño grande (decenas de nodos) obteniéndose resultados satisfactorios en un tiempo razonable. Por ejemplo, se observó, que el algoritmo de aceptación por umbral requería menos tiempo cornputacional que el de ramifcar y acotar para problemas pequeños, sin embargo, comforme el tamaño del problema crece, tiende a alejarse más del valor óptimo.

2

Page 12: CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO ... - … Sandra Ramirez Peralta...En especial a mi asesor de tesis, el Dr. Joaquín Pérez Ortega por ... Tabla 5.8 Ubicación de los

CAPÍTULO 1 En este capítulo se da una introducción del problema que se abordó en esta tesis, así como las motivaciones para llevar a cabo este trabajo, los objetivos que se alcanzaron, y finalmente los beneficios que se obtuvieron con su desarrollo.

3

Page 13: CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO ... - … Sandra Ramirez Peralta...En especial a mi asesor de tesis, el Dr. Joaquín Pérez Ortega por ... Tabla 5.8 Ubicación de los

1. INTRODUCCI~N

En la actualidad, las grandes organizaciones requieren para llevar a cabo sus actividades diarias, del acceso a información que se encuentra almacenada en computadora que se encuentran geográficamente dispersas. El creciente desarrollo de las telecomunicaciones y en particular de Internet, han hecho que las versiones actuales de los sistemas manejadores de bases de datos (SMBD) ofrezcan día a día más servicios, permitiendo integrar información que se encuentra en computadoras distantes, haciendo esto de manera transparente para el usuario.

Sin embargo, aún quedan por resolver problemas importantes, como son la falta de metodologías y herramientas que auxilien a los diseñadores de bases de datos distribuidas a decidir la ubicación óptima de los datos en los diferentes sitios de una red de computadoras. Este punto, al que se le ha llamado diseño de la distribución, tiene como finalidad determinar las unidades de almacenamiento adecuadas, ya sea fragmentos verticales, horizontales, mixtos o relaciones completas, seguido de su ubicación en los diferentes sitios de la red de computadoras. La ubicación de los datos afecta de manera importante el desempeño total de los sistemas distribuidos, debido a que el tiempo y el costo requerido para el procesamiento de las consultas dependen en gran parte del lugar donde los datos se encuentran almacenados, ya sea que éstos se encuentren almacenados en un solo sitio o que estén distribuidos en varios sitios de la red [Per97].

Tradicionalmente, el trabajo del diseño de la distribución lo ha realizado manualmente el diseñador de la base de datos apoyándose únicamente en su experiencia y en heurísticas. Sin embargo, las dimensiones de las aplicaciones actuales exceden normalmente las capacidades del diseñador para realizar el diseño de la distribución en forma manual. Es por esto, que se hace necesaria la introducción de nuevas metodologías y herramientas de apoyo.

A la fecha se han publicado diferentes modelos matemáticos, y todos hacen uso de algunas consideraciones y modelan diferentes parámetros, por lo que son aplicables sólo bajo ciertas especificaciones [Ozs91].

1.1 Fragmentación de Datos

Uno de los principios en el diseño de la distribución es lograr una máxima localidad de datos con respecto a las aplicaciones. Mientras que las bases de datos distribuidas permiten un servicio más sofisticado entre sitios, la mayor motivación para desarrollar una base de datos distribuida es reducir la comunicación ubicando datos lo más cercanamente posible a las aplicaciones que los usan. Entonces, en una base de datos distribuida bien diseñada “el 90% de los datos deberían encontrarse en el sitio local, y solamente el 10% de los datos deberían ser

4

Page 14: CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO ... - … Sandra Ramirez Peralta...En especial a mi asesor de tesis, el Dr. Joaquín Pérez Ortega por ... Tabla 5.8 Ubicación de los

accedidos en un sitio remoto”[Mut93]. Sin embargo casi nunca ocurre que los datos y las aplicaciones puedan ser fragmentadas y asignadas a un sitio en particular: con frecuencia, el diseñador encara varios problemas porque varias aplicaciones necesitan acceder los mismos datos desde diferentes localidades. En este caso, el diseño más efectivo es aquel que asegure la localidad al número más grande de aplicaciones [Cer87].

La distribución de la base de datos requiere determinar la fragmentación y ubicación de datos.

Fragmentación. Es el proceso de subdividir una tabla (entidad o relación) en varias piezas, llamadas fragmentos.

Ubicación. Es el proceso de mapear cada fragmento a uno o mas sitios.

Existen tres tipos de fragmentaciones:

Fragmentación Horizontal. Consiste de subconjuntos de los ejemplares ( O

tuplas) de una tabla. Cada fragmento está asociado con un predicado de selección el cual indica la propiedad distintiva que poseen los ejemplares o tupla de ese fragmento.

Fragmentación Vertical. Se obtiene de la proyección de las tablas sobre subconjuntos de sus atributos. Se requiere que cada fragmento incluya el atributo llave de la tabla o al menos un atributo interno que los identifique. El objetivo principal de la fragmentación vertical es crear fragmentos verticales de una relación, de tal manera que se minimice el tiempo de acceso a los datos durante el proceso de una transacción.

Fragmentación mixta. Se puede construir alternando fragmentación horizontal y vertical.

La razón fundamental de la fragmentación vertical es producir fragmentos con el máximo potencial local con respecto a las operaciones, por ejemplo, que los fragmentos se ubiquen en donde son más utilizados. Sin embargo, la posibilidad de no particionar (o fragmentar) una entidad debería ser considerada, en particular si los beneficios observados al fragmentar son muy pocos [Mut93].

La ubicación de los fragmentos puede ser replicada o no replicada:

En una ubicación sin replicar, cada fragmento se mapea a exactamente un sitio.

En una ubicación con réplicas, cada fragmento se mapea a uno o más sitios.

En una ubicación con réplicas, el diseñador debe decidir el grado de replicación de cada fragmento. El beneficio de la replicación crece en proporción a la recuperación y actualización manteniendo la congruencia de las bases de datos,

Page 15: CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO ... - … Sandra Ramirez Peralta...En especial a mi asesor de tesis, el Dr. Joaquín Pérez Ortega por ... Tabla 5.8 Ubicación de los

ya que se requiere distribuir las actualizaciones a todas las copias. Los beneficios de la replicación decrecen con el incremento de los costos de almacenamiento, ya que la replicación de las copias requieren más espacio, sin embargo, la replicación incrementa la resistencia a las fallas [Cer87]:

La pérdida independiente de varias copias de la misma información es poco

Las aplicaciones pueden acceder alternativamente a copias cuando alguna falla.

probable.

1.2 Motivación

Actualmente, en nuestro país hay muchos problemas cuya solución involucran el uso de las bases de datos distribuidas (BDD). Esta tecnología actualmente involucra al sector eléctrico, petrolero, empresas gubernamentales, y en general las grandes organizaciones descentralizadas.

Uno de los problemas para el diseño de la fragmentación vertical y ubicación es la falta de modelos matemáticos que nos permitan optimizar la fragmentación y ubicación de los datos. A la fecha los modelos matemáticos propuestos para la fragmentación o ubicación son limitados, en el sentido de que modelan solamente una parte del problema.

Es importante que estos modelos sean más completos para que se pueda resolver el problema de una manera más realista. Debido a la necesidad de tener estos modelos más completos, en esta tesis se parte de un modelo matemático que se describe en [Per97], el cual consta de una función objetivo con dos términos los cuales modelan los costos por transmitir un atributo para satisfacer una consulta y los costos de reubicar un atributo a otro sitio y dos restricciones. A dicho modelo, se incorporaron dos nuevos términos y dos restricciones. El primer término modela los costos de almacenar los fragmentos en los sitios y el segundo término modela los costos por acceder a dos o más fragmentos para satisfacer una consulta. Estos dos términos son importantes en el sentido de que permiten penalizar el grado de fragmentación, en la red propiciando de esta manera la disminución del número de fragmentos.

1.3 Objetivo de la Tesis

En este trabajo de tesis se aborda el problema de la fragmentación vertical y ubicación dinámica en bases de datos distribuidas haciendo una extensión al ' modelo propuesto en [Per97].

6

Page 16: CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO ... - … Sandra Ramirez Peralta...En especial a mi asesor de tesis, el Dr. Joaquín Pérez Ortega por ... Tabla 5.8 Ubicación de los

Los principales objetivos son los siguientes:

a) Extender el modelo matemático FURD presentado en [Per971 con dos nuevos términos: uno que permita modelar los costos por acceder a dos o más fragmentos para satisfacer una consulta y otro que modele los costos derivados de almacenar fragmentos en los sitios.

b) Explorar algunos métodos de solución exactos y heurísticos para la solución del modelo, en particular la programación lineal entera binaria (O-1), mediante un paquete comercial llamado LINDO, y una variante del método de Recocido Simulado, llamada Aceptación por Umbral.

1.4 Beneficios Obtenidos

El producto que se obtuvo de este trabajo de investigación consiste de lo siguiente:

Un programa de computadora, que toma como entrada datos estadísticos de la base de datos y produce como salida la fragmentación vertical Óptima de los datos y su ubicación. Este programa puede ser de utilidad como parte de una herramienta para el diseño de la distribución o como una parte de un manejador de bases de datos distribuidas de manera que ayude a mejorar el desempeño del manejador, al optimizar la ubicación de los datos.

Las principales aportaciones que se realizaron en este trabajo de investigación

El producto final sirve de apoyo para generar otros nuevos modelos y posteriormente hacer un análisis de sensibilidad de él para mejorar aún más el desempeño del modelo.

Se genera un modelo innovador en el diseño de la distribución que ayuda a un mejor diseño de bases de datos distribuidas.

El modelo puede ser utilizado para desarrollar una herramienta CASE de apoyo al diseño de bases de datos distribuidas.

Se genera infraestructura para posteriores trabajos.

se enumeran a continuación:

1.5 Organización del documento

Este documento se encuentra organizado de la siguiente manera:

En el Capítulo 2 se presenta una revisión del estado del arte sobre fragmentación vertical y ubicación de datos, mostrando las diferentes técnicas y métodos de solución para este problema, como son los métodos heurísticos y exactos.

7

Page 17: CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO ... - … Sandra Ramirez Peralta...En especial a mi asesor de tesis, el Dr. Joaquín Pérez Ortega por ... Tabla 5.8 Ubicación de los

En el Capítulo 3 se da una breve descripción de los antecedentes del problema, se muestra el modelo FURD reportado en [Per97], el cual se tomó como punto de partida para este trabajo de tesis, y al cual se le agregaron términos adicionales para mejorarlo. Se hace una descripción de cada uno de los términos que intervienen en el modelo, así como las restricciones a las que está sujeto.

En el Capítulo 4 se muestran los métodos de solución para el modelo propuesto, se da también una breve descripción de otros métodos y técnicas de solución para este problema. Se muestra como se resolvió el problema mediante la programación lineal entera binaria empleando el método branch & baund, se muestra también cómo se resolvió mediante técnicas heurísticas como es el método de Aceptación por Umbral.

En el Capítulo 5 se presentan los casos de pruebas que se realizaron del modelo haciendo una comparación de los resultados obtenidos con FURD y con FURD extendido. Se hace una comparación de los resultados obtenidos con programación lineal entera y con el método de Aceptación por Umbral.

En el Capítulo 6 se presentan las conclusiones de este trabajo de tesis, así como las contribuciones que se hicieron y se mencionan algunos de los trabajos futuros o extensiones que se le podrían hacer al modelo.

Finalmente, en el Apéndice A, se da una descripción del algoritmo de [Mut93], cuyo objetivo es obtener la fragmentación vertical n-aria de una relación.

8

Page 18: CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO ... - … Sandra Ramirez Peralta...En especial a mi asesor de tesis, el Dr. Joaquín Pérez Ortega por ... Tabla 5.8 Ubicación de los

CAPÍTULO 2 ESTADO DEL ARTE SOBRE FRAGMENTACI~N VERTICAL Y UBICACI~N DE DATOS

En este capítulo se hace una breve descripción del estado del arte sobre ubicación y fragmentación vertical de datos, así como los diferentes métodos que utiliza cada autor para solucionar el problema.

9

Page 19: CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO ... - … Sandra Ramirez Peralta...En especial a mi asesor de tesis, el Dr. Joaquín Pérez Ortega por ... Tabla 5.8 Ubicación de los

2. ESTADO DEL ARTE SOBRE FRAGMENTACI~N VERTICAL Y UBICACIÓN DE DATOS

Los modelos cuyo objetivo de optimización es la minimización de costos han sido normalmente resueltos mediante técnicas de programación lineal tradicional. Sin embargo, se ha demostrado que estos problemas son NP-completos y que su solución es computacionalmente infactible para problemas de tamaño real que involucran decenas de nodos y fragmentos [ApeSS].

2.1 Estado del Arte

A continuación se da una breve descripción de las investigaciones de otros autores sobre fragmentación y ubicación de datos, así como de las técnicas de solución utilizadas.

En [Kir83] se hace un estudio de lo que es la optimización combinatoria y los mecanismos estiticos, y se discute la similitud entre estos dos campos. En dicho trabajo se demuestra cómo el algoritmo de Metrópolis se puede usar para cualquier problema de aproximación en la optimización combinatoria utilizando Recocido Simulado. Para evaluar el poder del Recocido Simulado en problemas de optimización combinatoria, utilizan el problema clásico conocido como “el problema del agente viajero”. El problema consiste en lo siguiente: Dada una lista de N ciudades, determinar la ruta que debe seguir el viajero para visitar todas las ciudades, de tal manera que los costos totales se minimicen. Debido a que en la utilización de heurísticas no hay garantía para encontrar la solución óptima o la más cercana al Óptimo en un problema NP-completo, se menciona que hay dos estrategias básicas heurísticas: “divide y vencerás” y mejoramiento iterativo. En la primera, se divide el problema en subproblemas de tamaño manejable. La solución de cada uno de los subproblemas debe ser integrada en un solo problema. La segunda consiste en generar una serie de soluciones e ir tomando cada vez una solución mejor que la anterior.

En [Nav84] se realiza la fragmentación vertical en tres contextos diferentes: para bases de datos centralizadas con una sola jerarquía de memoria, con diferentes jerarquías de memoria, y para bases de datos distribuidas. AI referirse al contexto de bases de datos distribuidas, divide el problema en dos fases. En la primera fase, realiza la fragmentación de las relaciones haciendo uso de diferentes funciones objetivo empíricas. Para esto utiliza como dato de entrada una matriz de uso de atributos (MUA), que identifica los atributos usados por cada consulta. A partir de esta matriz construye una matriz de afinidad de atributos, en la cual los atributos con alta afinidad son agrupados. Esta Última matriz, sirve como entrada al algoritmo de energía de cohesión, que ahora agrupa estos valores por tamaño, para posteriormente realizar una partición vertical binaria. Estas particiones binarias se pueden utilizar en forma repetitiva. En la fase dos, que se describe en forma

10

Page 20: CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO ... - … Sandra Ramirez Peralta...En especial a mi asesor de tesis, el Dr. Joaquín Pérez Ortega por ... Tabla 5.8 Ubicación de los

procedimental, se hace la ubicación replicada o no replicada de fragmentos a sitios de manera que se maximice el procesamiento local de transacciones. Esta segunda fase se resuelve mediante un algoritmo recursivo que no garantiza la optimalidad de la solución.

En [Vce85] se muestra una técnica heurística para encontrar soluciones aproximadas o una “buena solución” al problema del agente viajero. Se presenta una variación del algoritmo de Monte Carlo empleando recocido simulado y muestra cómo es posible encontrar varias veces la solución óptima al problema con varios ejemplos. El algoritmo genera de manera aleatoria el recorrido que debe seguir el agente viajero para llegar a su destino, donde la probabilidad de encontrar la ruta Óptima va a depender de la longitud de la ruta. La longitud correspondiente de recorrer toda la ruta se considera como la energía del sistema para esa configuración en particular. El algoritmo que propone consta de ocho pasos esenciales, que dan como resultado una serie de permutaciones que indican la ruta que debe seguir el agente viajero para llegar a su destino. Por ejemplo: la permutación {3,1,4,2} significa que el agente viajero tiene que ir primero a la estación 3, después continuar a la 1, de ahí a la estación 4 y finalmente llegar a la 2. El algoritmo puede generar una serie de permutaciones infinitas y el criterio de paro está dado en base a un punto de equilibrio establecido en el sistema. El trabajo concluye que la analogía de la termodinámica podría utilizarse para resolver eficientemente problemas de optimización de una gran complejidad combinatoria.

En [Cor901 se presenta un enfoque para la fragmentación vertical para el diseño físico de una base de datos relaciona1 y se resuelve el problema mediante técnicas de programación lineal entera. Su objetivo principal es la maximización de desempeño, es decir minimizar el número de accesos a disco. En este caso se realiza una fragmentación no-replicada. Su metodología consiste en dos partes: la primera parte es sobre el análisis de una consulta para obtener los valores de los parámetros relevantes. La segunda parte consiste en una formulación de programación lineal entera para poder expresar el número de accesos a disco en términos de variables las cuales describen la asignación de atributos en los segmentos físicos. Finalmente se describe el algoritmo utilizado, mostrando un ejemplo. Se utiliza un algoritmo de partición binaria para minimizar el número de accesos a disco, el cual se aplica recursivamente para particionar cada vez más cada segmento. Como entrada del algoritmo se necesita conocer el número de atributos en la relación, la longitud de cada atributo y la cardinalidad de la relación. Para cada transacción necesita conocer también el número de corridas por segundo, los atributos referenciados y la selectividad de cada predicado. Se muestra un ejemplo de 20 atributos con una cardinalidad de 100,000, sin mencionar el número de sitios en la red.

11

Page 21: CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO ... - … Sandra Ramirez Peralta...En especial a mi asesor de tesis, el Dr. Joaquín Pérez Ortega por ... Tabla 5.8 Ubicación de los

En [Rom90] se hace un estudio de los diferentes métodos de solución para el problema de asignación de espacio unidimensional (ODSAP) y se presenta un ejemplo con algunas heurísticas, usando la idea de Recocido Simulado. Se menciona que el uso de los algoritmos exactos ha sido limitado a problemas de tamaño pequeño y que para problemas de tamaño grande se han desarrollado muy pocas heurísticas. En dicho trabajo se describe los mejores métodos conocidos para la solución de este problema con varias heurísticas que incorporan el concepto de Recocido Simulado. Respecto a los métodos exactos, se describen dos de los métodos que han sido utilizados para la solución de problemas de optimización combinatoria, como son el Branch & Bound y programación dinámica. De los métodos de aproximación, se describe el algoritmo de Troya-Vaquero y finalmente el de Recocido Simulado, mostrando un ejemplo de éste para la solución del ODSAP, confirmando así su conveniencia para la solución de este problema.

En [Chu93] se muestra un enfoque para la fragmentación vertical, en el cual los atributos de una relación se particionan de acuerdo a un conjunto de transacciones. El objetivo al igual que en [Cor901 es minimizar el número de accesos a disco en el sistema. Para tal efecto introduce la noción de cortes razonables e irrazonables y sus agrupaciones. Se presenta un teorema donde un corte irrazonable puede ser mejorado por un corte razonable capaz de reducir el espacio de búsqueda. Se utiliza un algoritmo de partición binaria óptima OBP (Optimal Binary Partitioning). Finalmente se hace una compaiación de los resultados obtenidos de su algoritmo con otros algoritmos conocidos. Se utiliza también un algoritmo BP, para reducir la complejidad computacionai, el cual evalúa solamente por arriba del i-ésimo grupo de cortes razonables que se pueden usar. De los resultados empíricos obtenidos se menciona que su algoritmo converge más rápidamente que otros algoritmos de partición vertical binaria. Para obtener el valor óptimo o muy cercano ai óptimo, se menciona que solamente necesita evaluar los primeros 5 grupos ( i = 5) de cortes razonables.

En [Dan931 se resuelve el problema del agente viajero utilizando dos técnicas de optimización heurísticas: Recocido Simulado y algoritmos genéticos. Propone un esquema para utilizar mutación con Recocido Simulado (SAM) y recombinación (SAR) como operadores en un ambiente de algoritmos genéticos (GA) estándar. Estos dos operadores se usan para controlar la población y las subidas altas. El desempeño del algoritmo se evalúa con varias aplicaciones a gran escala, como es el problema del agente viajero con 100 ciudades. Se demuestra que este algoritmo híbrido es mejor que un GA puro en dos sentidos: se obtiene mejores resultados o soluciones para un número dado de evaluaciones y una mayor consistencia sobre muchas corridas.

En [Mut93] se aborda el problema de la fragmentación vertical n-aria y se formula una función objetivo que generaliza trabajos anteriores. La función objetivo utilizada por otros algoritmos no permiten evaluar el desempeño de otros algoritmos. De aquí que surge la idea de realizar un evaluador de particiones (EP)

12

Page 22: CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO ... - … Sandra Ramirez Peralta...En especial a mi asesor de tesis, el Dr. Joaquín Pérez Ortega por ... Tabla 5.8 Ubicación de los

para comparar 10s resultados de otros algoritmos que usan la misma entrada en el proceso de diseño de la base de datos. El modelo presentado Utiliza una matriz de uso de atributos, en la cual las columnas representan 10s atributos 0’) Y 10s renglones representan las transacciones ( t ) siendo 10s valores en la matriz de

a los atributos para cada transacción. Para analizar el desempeño del EP se utiliza un programa de enumeración exhaustiva para realizar todas las Posibles combinaciones de fragmentos. El EP se aplica a cada una de las combinaciones a fin de determinar el costo mínimo de acceso para las transacciones.

En [Al0941 se resuelve el problema de la fragmentación y ubicación de fragmentos de datos en un sistema de base de datos distribuida mediante un método heurístico. Se describe un aprendizaje máquina basado en el método de fragmentación de tiempo invariable (MLTIF) que adquiere conocimientos acerca de los patrones de uso de datos de cada nodo, determinando los fragmentos adecuados y su ubicación en los nodos de tal manera que trata de minimizar los costos de comunicación de los datos y los de sincronización de actualizaciones. Mediante la MLTIF se determinan los fragmentos de tiempo invariable (TIF, un TIF es un fragmento de una relación cuyo contenido es estático durante un periodo de tiempo especificado), y su ubicación. También se describe el algoritmo usado por la MLTIF para crear los TIFs basados en el diccionario de datos del sistema de entrada. Se efectúa una simulación para comparar la eficiencia del enfoque MLTIF con una replicación completa, vistas y estrategias de datos no- replicados. De acuerdo a los resultados presentados se menciona que este enfoque puede ser efectivo.

En [Mar951 se realiza la ubicación de datos y operaciones en un sistema de computadoras distribuido. El método propuesto consta de tres pasos. En el primero, el conjunto de consultas se analiza para definir el conjunto de fragmentos del archivo a ubicar. En el segundo, cada consulta se descompone en un conjunto de consultas simples paso a paso, cada una de las cuales hace referencia a los fragmentos del archivo, esto puede requerir de reuniones o uniones adicionales si los datos solicitados han sido fragmentados. En el tercer paso, los fragmentos resultantes y las consultas se usan como entrada para un modelo de optimización resuelto mediante algoritmos genéticos. La función objetivo a minimizar son los costos de operación del sistema, incluyendo comunicación, entrada-salida al disco, procesamiento de CPU, y almacenamiento. S e consideran también las operaciones de lectura y actualización entre los distintos sitios, el mecanismo de control de concurrencia usado, así como las restricciones de capacidad en los nodos y en los enlaces de la red. Con esto se determina donde se ubicarán los datos, así como el grado de replicación de éstos, cuál de las copias de los datos será usada por la consulta y en que sitio se efectuarán las operaciones tales como selección, proyección, reunión y unión. Se extiende el trabajo de [Cor891 y se integra el trabajo de [Ape881 para determinar la ubicación de archivos y fragmentos.

13

Page 23: CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO ... - … Sandra Ramirez Peralta...En especial a mi asesor de tesis, el Dr. Joaquín Pérez Ortega por ... Tabla 5.8 Ubicación de los

En [Lee971 se aborda el problema de la fragmentación de atributos en una base de datos distribuida orientada a objetos (DOODB). En una DOODB los objetos se distribuyen en los diferentes sitios de la red de comunicaciones. Para mejorar el desempeño y disponibilidad, las técnicas de fragmentación dividen una clase en varios fragmentos para ubicarlos en los distintos sitios de la red. Existen algunas diferencias entre la fragmentación de una DOODB y una base de datos relacional. Una de las diferencias es que en las DOODBs debe considerarse el comportamiento de los métodos, ya que una clase no sólo está compuesta por atributos sino también por métodos. Otra de las diferencias es que deben considerarse las relaciones con otras clases sobre una jerarquía de clases y jerarquías de clases compuestas. Aquí se efectúa una fragmentación vertical de atributos, en donde a diferencia de una base de datos relacional, los fragmentos de atributos son consultados en base a una consulta, pero esa consulta puede acceder no sólo a atributos, sino también a métodos.

En este trabajo se utiliza la misma metodología que en [Nav84] iniciando con una partición binaria hasta llegar a formar una partición maria.

En [Tam981 se crea una metodología integrada que realiza la fragmentación, ubicación y replicación de datos de una manera conjunta, también se manejan costos de control de concurrencia, permitiendo un diseño más simple y mejor. Se presenta un ejemplo práctico donde se menciona que se obtuvieron resultados positivos y se menciona que su metodología es una de las primeras en considerar más de un diseño de la distribución simultáneamente. Su objetivo es la maximización d e desempeño, minimizando tiempo de respuesta y maximizando disponibilidad de las transacciones, sujeto a restricciones sobre el espacio de almacenamiento. El método comprende cuatro pasos distintos de distribución de datos:

- El paso uno se denomina distribución primaria y trata con los objetivos de diseño en el nivel de aplicación. La información clave requerida para llegar a las decisiones de distribución se debe reunir primero. Esta información se usa como la base de análisis para proveer lineamientos detallados de cómo los datos se deberán fragmentar, replicar y ubicar. E l resultado de este paso es una matriz de distribución, la cual especifica completamente la distribución de los datos.

E n el paso dos se hace una distribución secundaria. Trata con transacciones que necesitan un tiempo de respuesta rápida.

- El paso tres se concentra en aquellas transacciones para las cuales la disponibilidad es necesaria para mejorar su desempeño.

-

14

Page 24: CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO ... - … Sandra Ramirez Peralta...En especial a mi asesor de tesis, el Dr. Joaquín Pérez Ortega por ... Tabla 5.8 Ubicación de los

- El paso cuatro se refiere a distribución para el espacio de almacenamiento secundario, la optimización de requerimiento de espacio de almacenamiento en sitios específicos.

En dicho trabajo se menciona que la matriz de distribución es el trabajo central para llevar a cabo la distribución secundaria.

15

Page 25: CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO ... - … Sandra Ramirez Peralta...En especial a mi asesor de tesis, el Dr. Joaquín Pérez Ortega por ... Tabla 5.8 Ubicación de los

CAPÍTULO 3 PLANTEAMIENTO GENERAL DEL PROBLEMA Y SU SOLUCIÓN

En este capítulo se muestran los antecedentes del problema. Se plantea en forma general en qué consiste el problema que se está abordando en esta tesis y los alcances de la solución. Se muestra el modelo matemático reportado en [Per971 llamado FURD, el cual fue tomado como punto de partida para este trabajo de tesis, y al cual se le agregaron términos adicionales para modelar los costos por acceder a varios fragmentos para satisfacer una consulta y los costos por almacenar cada fragmento. También se hace una descripción de cada uno de los parámetros que se agregaron a este modelo y las restricciones a las que está sujeto.

16

Page 26: CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO ... - … Sandra Ramirez Peralta...En especial a mi asesor de tesis, el Dr. Joaquín Pérez Ortega por ... Tabla 5.8 Ubicación de los

3. PLANTEAMIENTO GENERAL DEL PROBLEMA Y su S O L U C I ~ N

El problema general de ubicación y fragmentación de datos consiste básicamente en lo siguiente: Dado un sistema de base de datos distribuidas (SBDD), con un conjunto de computadoras interconectadas mediante una red y un conjunto de aplicaciones Q, formar y'ubicar los fragmentos F en.los sitios S de tal manera que los costos de comunicación por acceder a dichos fragmentos se minimicen de acuerdo al procesamiento de las consultas.

Figura 3.1 Problema de Ubicación de Datos

Donde: S = (SI, Sj , ..., S,} sitios o nodos en la red Q = {ql , q 2 , ..., qs} aplicaciones F = Cfi,fi, . . . ,Lt} fragmentos

El problema de la ubicación de datos ha sido ampliamente estudiado. El desarrollo de modelos de decisión (u optimización) para la ubicación de datos distribuidos viene desde 1960. Inicialmente las unidades de distribución de datos fueron archivos completos, estas investigaciones no consideraban la fragmentación de los datos en los modelos de decisión. Así, esta área de investigación vino a ser conocida como el problema de ubicación de archivos o FAP (por sus siglas en inglés: file allocation problem). Más tarde las investigaciones sobre sistemas de base de datos fueron creciendo dando lugar al problema más general de ubicación de datos DAP (por sus siglas en inglés: data allocation problem) [Hev88].

Se ha demostrado que el problema es NP-completo [Ape881 ya que, entre mayor sea el tamaño de entrada del problema el tiempo de procesamiento crece de manera exponenciai, y por lo tanto no es posible encontrar una solución óptima en un tiempo razonable para problemas grandes. Los resultados que se han publicado de estos modelos se han limitado a problemas de a lo más cuatro nodos [Mar95], [Cor89], [Nav84].

17

Page 27: CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO ... - … Sandra Ramirez Peralta...En especial a mi asesor de tesis, el Dr. Joaquín Pérez Ortega por ... Tabla 5.8 Ubicación de los

3.1 Problema que se Aborda en esta Tesis

Aun cuando el problema de ubicación de datos ha sido ampliamente estudiado y se han publicado diferentes modelos matemáticos, el problema aún no se encuentra totalmente resuelto, debido a que la formulación del modelo es compleja y SU solución no es trivial [Per97].

Debido a estas razones, en este trabajo de tesis Únicamente se aborda el problema de la fragmentación vertical y la ubicación dinámica de datos no replicada a los diferentes sitios de una red de computadoras, estudiando los diferentes métodos de solución a este problema como son exactos y aproximados.

Para fines de este trabajo se tomó como base el modelo presentado en [Per971 llamado FURD, al cual se le hicieron algunas extensiones debido a que este modelo fue el más adecuado para el propósito de esta tesis. Las razones por las cuales se tomó como base este modelo fueron las siguientes:

En los modelos anteriores el diseño de la distribución (DD) se había efectuado tradicionalmente en dos fases seriadas: fragmentación seguida de su ubicación en los diferentes sitios de la red. El modelo presentado en [Per971 es innovador en este sentido, ya que realiza el DD en una sola fase, es decir, considera los atributos como unidades de datos independientes que pueden ubicarse en los diferentes sitios de la red sin que se haya efectuado previamente la fase de fragmentación, formando así de manera natural un fragmento vertical de la relación, cuya ubicación óptima es el sitio determinado.

Otra de las características innovadoras que presenta el modelo FURD es que tiene la habilidad para incorporar cambios en los patrones y frecuencias de acceso de las consultas. En los modelos publicados anteriormente el DD se considera estático, pues se establece con el diseño inicial de la base de datos distribuida y permanece fijo hasta que el administrador del sistema interviene para realizar cambios [Per97].

El modelo que se tomó como base se describe a continuación, éste consta de dos términos, los cuales modelan la optimización de costos de transmisión. El primer término modela los costos de comunicación debidos a la transmisión de datos requeridos para satisfacer las consultas desde cada uno de los nodos. El segundo término modela costos de comunicación requeridos para la migración de datos de un nodo a otro.

En este modelo, la decisión de almacenar un atributo e en un sitio j se representa por una variable binaria xu. Así, xu = 1 si el atributo e se almacena en el sitioj, y xu = O en caso contrario.

18

.

Page 28: CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO ... - … Sandra Ramirez Peralta...En especial a mi asesor de tesis, el Dr. Joaquín Pérez Ortega por ... Tabla 5.8 Ubicación de los

A continuación, se muestra de manera formal la función objetivo, y posteriormente se explica el significado de cada término.

En lo que sigue los índices, k, i, j y e denotan consultas, sitios de consultas, sitios de atributos, y atributos, respectivamente. Las letras I, J, K, L denotan el número total de consultas, total de sitios de consultas, total de sitios de atributos, y total de atributos, respectivamente.

i = I , 2, ..., I

j = I , 2, ..., J

k = 1, 2, ..., K

e = 1, 2, ..., L

donde:

xu= variable de decisión, xu = 1 si el atributo e se almacena en el sitioj, y

&,= Frecuencia de emisión de la consulta k desde el sitio i, para un periodo

qk,= Parámetro de uso, q k t = 1 si la consulta k usa el atributo e, en caso

lkt= número de paquetes de comunicación necesarios para transportar el

x u = O en caso contrario;

de tiempo dado;

contrario q k c = O;

atributo e requerido por la consulta k

l k t = ( p c sk ) /PA donde sk = selectividad de la consulta k (número de tuplas

retornadas cuando se ejecuta la consulta k); e,,= costo de transmitir un paquete de información entre el sitio i y el sitio

at,= variable que indica la ubicación previa de un atributo, a,, = 1 si el

atributo P esta actualmente localizado en el sitio i, en caso contrario a,,

= o;

j ;

19

Page 29: CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO ... - … Sandra Ramirez Peralta...En especial a mi asesor de tesis, el Dr. Joaquín Pérez Ortega por ... Tabla 5.8 Ubicación de los

d, = número de paquetes de comunicación requeridos para mover el atributo e a otro sitio si es necesario;

d, = @, * CA)/PA donde

p t CA = cardinalidad de la relación; también expresada como \Al PA = tamaño del paquete de comunicación en bytes.

= tamaño en bytes del atributo e;

I Sujeto a las siguientes restricciones:

1) E X t j = 1 Esta restricción nos modela la 'condición de que cada atributo debe de ser ubicado solamente en un sitio; j

ve

cada atributo 1 debe ser ubicado en un sitio i que ejecute al menos una consulta que lo involucre;

3.2 Alcances

Para dar solución al problema de la optimización de la fragmentación y ubicación dinámica de los datos, se consideraron los siguientes alcances:

Extensión ai Modelo

1. Solamente se extendió el modelo para dos casos: los costos que se tienen por almacenar los fragmentos y los costos incurridos por las consultas que necesitan acceder a dos o más fragmentos.

2. El modelo sólo considera accesos de lectura a la base de datos, no es propósito de esta tesis incorporar operaciones de escritura.

Información de Entrada

1. Se supone conocida la información estadística de las aplicaciones que se ejecutan en la red como la siguiente:

El conjunto de aplicaciones que corren en los nodos. La frecuencia de ejecución de las aplicaciones q4 en cada uno de los nodos S, (Fr4,,) .

20

Page 30: CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO ... - … Sandra Ramirez Peralta...En especial a mi asesor de tesis, el Dr. Joaquín Pérez Ortega por ... Tabla 5.8 Ubicación de los

La selectividad de la consulta q4, Sel, (F,), que indica el número de tuplas del fragmento F, que serán accedidas para procesar la consulta q4. Cardinalidad de las tablas. Tamaíío en bytes de los atributos de cada tabla.

Esta información se considera como un dato de entrada.

Información de la base de datos

Las unidades de almacenamiento de datos se restringen únicamente a

fragmentos verticales.

permiten datos replicados en los nodos). Se asumen copias únicas de unidades de almacenamiento, (no se

Información de la red

Las capacidades de almacenamiento, de CPU e 110 de los nodos se consideran ilimitadas.

Los costos de almacenamiento y CPU se suponen iguales para todos los nodos.

No se considera la topología de la red, suponiendo una red completamente conectada.

Los costos de procesamiento local y los costos de acceso a disco son ignorados, suponiéndose no significativos en comparación con el costo de comunicación entre nodos.

Métodos de Solución del Modelo

1. Se exploraron dos métodos de solución del modelo, un exacto (Branch and Bound) y un heurístico (Recocido Simulado) para determinar las bondades de los dos métodos.

Tamaño del Problema

1. Para dar solución a los problemas de tamaño pequeño se utilizaron métodos exactos, como es el método de ramificar y acotar, mediante un paquete comercial llamado LINDO.

2. Como método heurístico se usó el de Aceptación por Umbral para explorar tamaños de problemas que involucran decenas de nodos.

SEP CENIDET DGHT CENTRO DE INFORMACION

21

Page 31: CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO ... - … Sandra Ramirez Peralta...En especial a mi asesor de tesis, el Dr. Joaquín Pérez Ortega por ... Tabla 5.8 Ubicación de los

3.3 Modelo Matemático

En esta sección se describen las extensiones que se le hicieron al modelo matemático FURD, los p.arametros adicionales así como las restricciones a las que está sujeto.

3.3.1 Formulación del Modelo como un Problema de Programación Lineal Entera (PLE) 0-1

El modelo está formulado como un problema de programación lineal entera 0-1, debido a que las variables de decisión que intervienen en el modelo y SUS restricciones pueden tomar únicamente valores de O o 1. Se utilizó un paquete comercial de optirnización llamado LINDO. Al formularse el modelo como un problema de PLE nos garantiza que siempre vamos a obtener la solución Óptima, sin embargo el modelo también puede resolverse con técnicas heurísticas, que aunque no nos garantizan obtener el resultado óptimo, sí podemos obtener resultado muy buenos o muy cercanos al Óptimo con menores tiempos de ejecución.

3.3.2 Función Objetivo

A pesar de las innovaciones del modelo FURD, aún le hacía falta considerar algunos parámetros importantes para la fragmentación vertical de los datos. Se hizo un estudio cuidadoso haciendo una sintonización de los parámetros que podrían influir más en el problema, y se le agregaron dos términos más a la función objetivo: uno de los términos modela los costos por almacenar fragmentos. Debido a que estos costos pueden variar dependiendo del almacenamiento de los datos, en el modelo se considerará como un parámetro cuyo valor será determinado por el diseñador de la base de datos. El otro término adicional modela los costos derivados para que una consulta acceda a varios fragmentos (por ejemplo, los costos por hacer una reunión), se tiene un parámetro asociado con el costo de acceder varios fragmentos y su valor debe ser proporcionado por el diseñador.

La posibilidad de no fragmentar una entidad debería ser considerada, en particular si los beneficios observados al fragmentar son muy pocos [Cer87]. El modelo que se está presentando en esta tesis considera este aspecto. Con las extensiones que se le hicieron al modelo nos permite determinar si se debe hacer o no la fragmentación, debido a que ai considerar estos dos nuevos términos, al tener varios fragmentos, se incrementan los costos de acceso y almacenamiento y puede darse el caso en que resulte más económico ubicar todos los atributos en un solo sitio.

22

Page 32: CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO ... - … Sandra Ramirez Peralta...En especial a mi asesor de tesis, el Dr. Joaquín Pérez Ortega por ... Tabla 5.8 Ubicación de los

A continuación se muestra el modelo FURD con las extensiones que se le hicieron, así como las restricciones adicionales a las que está sujeto:

donde los coeficientes adicionales son los siguientes:

cv = costos asociados con el acceso a cada fragmentos para satisfacer una consulta. Por ejemplo, el costo de la operación de reunión en las consultas que acceden a más de un fragmento;

= costo asociado por ubicar en un nodo un fragmento. = variable de decisión, w, = 1 si existe uno o más atributos en un sitio j ,

y w, = O en caso contrario; = variable de decisión, yk, = 1 si la consulta k accede a uno o más

atributos localizados en el sitio j , y yk, = O en caso contrario;

ca

w,

yk,

3.3.3 Restricciones Intrínsecas al Problema

Se agregaron dos restricciones adicionales al modelo matemático FURD. La tercera restricción nos modela la condición de que cada nodo puede tener O o más atributos, esto quiere decir que en un sitio puede haber o no un fragmento, la cuarta restricción nos modela la condición de que una consulta k requiera accesar varios fragmentos ubicados en diferentes nodos.

t wj - c x t j 2 O e

V

esta restricción fuerza al valor de wj a 1 cuando cualquier xu es igual a 1, e induce a wj a O en cualquier otro caso; donde

3)

t = número de atributos;

4) -Cqke xej 2 0 Esta restricción fuerza ykj igual a 1 cuando cualquier qkxo es igual a 1, e induce ykj igual a O en cualquier otro caso.

e Vk, j

23

Page 33: CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO ... - … Sandra Ramirez Peralta...En especial a mi asesor de tesis, el Dr. Joaquín Pérez Ortega por ... Tabla 5.8 Ubicación de los

3.4. Complejidad Computacional

prácticamente todas las áreas de las Ciencias Computacionaks tratan, en mayor o grado con complejidad computacional. La importancia de la complejidad

computational estriba en que se ha convertido en una forma de clasificar buenos Y malos algoritmos y de clasificar la dificultad de resolver Problemas computacionales.

Cada vez nos sorprendemos más de las velocidades y los logros que las computadoras actuales han ido alcanzando día a día; éstas han permitido la solución de problemas numéricos, tales como, la simulación de procesos gigantescos que involucran no solo aspectos físicos, sino también sociales, además de la manipulación de la información con cientos y miles de variables y restricciones y millones de datos que hasta hace unos cuantos años no podían ser manejados manualmente. Hoy en día, es ampliamente aceptado que los límites de la capacidad humana han sido sobrepasados por las necesidades de las ciencias y la tecnología.

Sin embargo, también existen ciertos límites en la capacidad potencial de las computadoras electrónicas, éstas no realizan ninguna actividad que pudiera calificarse como de una gran inteligencia. Las computadoras resuelven solamente algoritmos: son una secuencia bien definida de instrucciones precisas y universalmente entendibles que solucionan cualquier instancia de problemas computacionales garantizando terminar con la solución correcta.

En muchas ocasiones aún cuando exista un algoritmo que pueda solucionar correctamente cualquier instancia de un problema dado, no siempre dicho algoritmo es satisfactorio, ya que puede requerir de tiempos exageradamente excesivos para llegar a la solución. Por ejemplo, existe un problema conocido como el problema del agente viajero el cual se establece como sigue[Pap98]:

PROBLEMA DEL AGENTE VIAJERO: Dado un grafo de N nodos y A arcos, determinar la ruta más corta que parta de un nodo predeterminado N , y visite todos los nodos solamente una vez y regrese al nodo de partida.

El problema parece ser muy simple y puede ser que lo sea para ciertos tamaños de N y A . Sin embargo, existen instancias de este problema, con valores no tan grandes de N y A, para los cuales encontrar la solución es terriblemente arduo. Tan solo basta pensar en una red de computadoras de unos 500 nodos con una topología determinada para que sea muy difícil determinar la ruta más corta de un mensaje enviado desde un nodo i y que éste debe visitar todos los nodos solamente una vez, trayendo de regreso el mensaje enviado y la traza de los nodos visitados.

24

Page 34: CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO ... - … Sandra Ramirez Peralta...En especial a mi asesor de tesis, el Dr. Joaquín Pérez Ortega por ... Tabla 5.8 Ubicación de los

Cualquier instancia del problema del agente viajero puede ser solucionada por medio de seleccionar todos y cada uno de los diferentes recorridos posibles y compararlos para encontrar el de menor longitud (haciendo una búsqueda exhaustiva). Sin embargo, la ejecución de este algoritmo en una computadora requerirá de aproximadamente n! pasos, lo que para instancias relativamente pequeñas lo vuelve inútil.

Existen dos factores importantes para determinar la complejidad computacional de un algoritmo: el tiempo de ejecución requerido por un algoritmo para resolver un problema y el espacio requerido por un algoritmo para su ejecución. Ambos factores serán explicados en las siguientes secciones.

3.4.1 Limites del Tiempo

Para poder hacer una comparación en el rendimiento de diferentes algoritmos, se hace necesaria una medida de rendimiento de algoritmos; la medida más ampliamente aceptada es el tiempo que el algoritmo consume antes de producir la solución final (tiempo de ejecucución). Esta cantidad de tiempo puede variar de una computadora a otra, dependiendo de la velocidad de procesamiento y la forma como el programa es traducido en instrucciones de máquina. En el análisis de algoritmos, el tiempo siempre es expresado en términos del número de pasos elementales (operaciones aritméticas, comparaciones, lecturas, escrituras, etc.) requeridos para la ejecución del algoritmo sobre una computadora hipotética. Dichos pasos elementales tienen una duración unitaria de tiempo. De esta forma, el tiempo requerido para la ejecución de un algoritmo se establece como el número de pasos elementales o instrucciones que se efectúan antes de producir la solución final.

El número de pasos requeridos por un algoritmo no es siempre el mismo para todas las entradas, lo que hace difícil obtener una fórmula precisa que establezca la función de tiempo. Es por ello que se consideran tres medidas, tomando en cuenta todas las entradas de un tamaño n dado juntas [Pap98]:

a. El mínimo tiempo necesario para la ejecución del algoritmo para todas estas entradas (el tiempo del mejor caso),

b. El máximo tiempo necesario (el tiempo del peor caso) y,

c. El tiempo promedio necesario (el tiempo del caso promedio).

De esta manera podemos decir que el tiempo de procesamiento y complejidad de un algoritmo depende del tamaño de la entrada.

25

Page 35: CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO ... - … Sandra Ramirez Peralta...En especial a mi asesor de tesis, el Dr. Joaquín Pérez Ortega por ... Tabla 5.8 Ubicación de los

Otro de los factores importantes, que en ocasiones es también decisivo, es la cantidad de memoria de la máquina, que se requiere para almacenar los datos durante la ejecución del algoritmo.

3.4.2 Tamaño de la Instancia

Tanto el tiempo como el espacio requerido por un algoritmo dependen del tamaño de la instancia, que es el número de datos de entrada del algoritmo. El interés principal en el comportamiento de cualquier algoritmo es para entradas grandes, pues estas establecerán los límites de aplicabilidad de éste. Por lo tanto, generalmente se tiene poco interés en el valor exacto del tiempo del mejor caso o del peor caso requerido para la ejecución de un algoritmo. Siendo el interés principal las razones de crecimiento del tiempo del mejor caso o del peor caso con respecto de la entrada (la razón de crecimiento de la complejidad). Por ejemplo, supóngase que el tiempo del peor caso de un algoritmo es [Pap98]:

t (n) = 60n2 + 5 n + 1 para entradas de tamaño n.

Para n grandes, el término 60n2 es aproximadamente igual a t (n) (Tabla 3.1). En este sentido, t(n) crece como 60n2.

Tabla 3.1. Razón de Crecimiento del Tiempo del Peor Caso de un Algoritmo

Si se considera que la medida del tiempo del peor caso para entradas de tamaño n, dada anteriormente, está en segundos, se podría dividir entre 60 para obtener dicho tiempo del peor caso para entradas de tamaño n en minutos. Ahora bien, este cambio de unidades no afecta la forma como crece el tiempo del peor caso conforme el tamaño de la entrada aumenta, por lo que, se puede buscar no únicamente el tiempo dominante sino que también es posible ignorar los coeficientes constantes. Con estas suposiciones t ( n ) crece como n2 cuando se incrementa n.

El tamaño de una instancia de un problema de optimización combinatoria, es un objeto combinatorio: un grafo, un conjunto de enteros (arreglados en vectores y

26

Page 36: CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO ... - … Sandra Ramirez Peralta...En especial a mi asesor de tesis, el Dr. Joaquín Pérez Ortega por ... Tabla 5.8 Ubicación de los

matrices), etc. La entrada de un algoritmo está representado por una secuencia de símbolos y su tamaño está definido en cuestión de la longitud de esa secuencia.

3.4.3 Análisis de Algoritmos

El determinar un límite superior riguroso para los requerimientos de tiempo de un algoritmo no siempre resulta fácil, éste puede requerir tanto de ingenio y trucos como del diseño del algoritmo.

3.4.3.1 Algoritmos en Tiempo Polinomial y Exponencial

En la actualidad hay un acuerdo general entre los investigadores de que un algoritmo es de utilidad práctica cuando su complejidad computacional crece polinomialmente con respecto al tamaño de la entrada, por ejemplo, algoritmos de complejidad O(n) o O(n3). Naturalmente, algoritmos para los cuales la complejidad asintótica no es un polinomio en s í pero puede ser acotada por un polinomio, también están incluidos (n2.', n log n ) [Pap98].

Los algoritmos que violan todo acotamiento polinomial para instancias suficientemente grandes se denominan exponenciales. Se les da este nombre porque 2" es el paradigma de una razón de crecimiento no polinomial. Otros ejemplos de razones exponenciales de crecimiento son k" (para cualquier constate k) , n ! , n" y dog '. Es obvio que, cuando el tamaño de la entrada crece, cualquier algoritmo polinomial eventualmente llegará a ser más eficiente que cualquier algoritmo exponencial como se muestra en la Tabla 3.2 [Pap98].

1 3,628,800 1

Tabla 3.2. Crecimiento de Funciones Polinomiales y Exponenciales

Otra característica positiva de los algoritmos polinomiales es que toman más ventaja de los avances de la tecnología. Por ejemplo, cada vez que una mejora tecnológica incrementa la velocidad de las computadoras 10 veces, el tamaño de la instancia más grande que puede ser solucionada por un algoritmo polinomial en una hora, por ejemplo, será multiplicado por una constante entre 1 y 10. En

27

Page 37: CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO ... - … Sandra Ramirez Peralta...En especial a mi asesor de tesis, el Dr. Joaquín Pérez Ortega por ... Tabla 5.8 Ubicación de los

contraste, un algoritmo exponencial experimentará únicamente un incremento pequeño que se sumará al tamaño de la instancia que este puede resolver.

Finalmente se puede decir que los algoritmos polinomiales tienen la propiedad de cerradura: pueden ser combinados para resolver casos especiales del mismo problema; un algoritmo polinomial puede llamar a otro algoritmo polinomial como una subrutina y el algoritmo resultante continuará siendo polinomial [Pap98].

Hay que tener cuidado cuando la complejidad de un algoritmo se expresa en términos de la entrada numérica de la instancia y no en función del tamaño de la entrada. Puede darse el caso que al codificar la entrada numérica de la instancia la longitud de la cadena se vuelva exponencial y por ende la razón de crecimiento de la entrada sea exponencial. A los algoritmos que poseen este tipo de acotamiento en tiempo se les da el nombre de pseudo-polinomiales[Pap98].

28

Page 38: CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO ... - … Sandra Ramirez Peralta...En especial a mi asesor de tesis, el Dr. Joaquín Pérez Ortega por ... Tabla 5.8 Ubicación de los

CAPÍTULO 4 MÉTODOS DE SOLUCI~N DEL MODELO

En esta sección se presentan los métodos empleados para dar solución al modelo matemático FURD extendido. Se da una descripción de cada uno de ellos,' y también se da una breve descripción de otros métodos utilizados para solucionar problemas de optimización combinatoria.

29

Page 39: CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO ... - … Sandra Ramirez Peralta...En especial a mi asesor de tesis, el Dr. Joaquín Pérez Ortega por ... Tabla 5.8 Ubicación de los

4. MÉTODOS DE SOLUCIÓN DEL MODELO

En muchos campos de la industria y la tecnología la solución de problemas de optimización complejos es la clave para incrementar la productividad y calidad del producto. El objetivo de un método de optimización combinatorio es investigar la mejor solución entre un gran número de posibilidades. Normalmente, la mejor solución significa obtener el costo más bajo o los beneficios más altos.

Simplemente el revisar o enumerar todas las posibles soluciones de los problemas del mundo real podría tardar cientos de años, aún si usáramos las más rápidas supercomputadoras del mundo. Los enfoques clásicos (por ejemplo, programación lineal entera) no son eficientes en todos los casos.

El campo de investigación de operaciones ofrece muchas herramientas como son métodos y algoritmos para solucionar de manera eficiente problemas de optimización combinatoria. Sin embargo, los problemas de optimización del mundo real a los que nos enfrentamos a diario, son de tales dimensiones y de una gran complejidad que en muchas ocasiones un algoritmo o un modelo no son suficientes para dar solución al problema. Por lo regular esto ocurre cuando el problema consta de muchas variables, por lo que es necesario acotarlas, incluyendo solamente las que más nos interesan o las que tienen mayor impacto en el problema. También ocurre cuando las ecuaciones de las que consta no son lineales o la lógica del problema es muy compleja.

4.1 Métodos Exactos

En investigación de operaciones se han presentado diversos algoritmos no determinísticos que en la práctica, han demostrado que son eficientes para resolver problemas de optimización combinatoria. La mayoría de estos algoritmos se basan en los procedimientos de programación lineal y en la estructura del método simplex, por lo que su mecanismo es iterativo y, dependiendo del tamaño del problema, alcanzan la respuesta en tiempo polinomial o exponencial.

El modelo propuesto en este trabajo de tesis está formulado como un modelo de programación lineal entera 0-1, debido a que los valores que puede tomar cada una de las variables de decisión son O ó 1 cumpliendo con el objetivo que es la minimización de costos.

Durante el transcurso de la investigación se ha resuelto el problema con métodos exactos como la programación lineal entera binaria, lo cual nos garantiza que siempre obtendremos el óptimo giobal. Sin embargo, debido a la magnitud y complejidad del problema, este método resulta prohibitivo para resolver problemas de tamaño grande, así que se tuvieron que explorar otros métodos de solución heurísticos. Por lo anterior, en este trabajo se usó como procedimiento de solución

30

Page 40: CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO ... - … Sandra Ramirez Peralta...En especial a mi asesor de tesis, el Dr. Joaquín Pérez Ortega por ... Tabla 5.8 Ubicación de los

una variante del método heurístico Recocido Simulado llamada Aceptación por Umbral.

Algunos de los métodos que existen para solucionar problemas de optimización combinatoria de manera exacta son los siguientes:

+ Programación Lineal Entera

Métodos de enumeración implícita Programación polinomial cero-uno

Métodos de planos de corte

Métodos de ramificación y acotamiento (branch & bound)

+ Programación Dinámica

La eficiencia de estos métodos está determinada por su convergencia a la solución óptima en problemas de programación lineal entera y mixta. Sin embargo, su procedimiento de búsqueda es dependiente del número de variables, lo que ocasiona un tiempo de procesamiento cada vez mayor conforme el tamaño del problema se incrementa, llegando a ser este factor, el tiempo, lo que establece su imposibilidad de aplicación.

Método de Planos de Corte

La idea básica del método de plano de corte es alterar el conjunto convexo de soluciones del problema de programación lineal continuo relacionado, es decir, el problema de programación lineal entera que resulte de ignorar las restricciones enteras, de manera que el punto óptimo extremo al problema continuo sea un valor entero. Esto se logra al agregar restricciones adicionales al problema que eliminan parte del conjunto convexo que no contiene algún punto entero posible y resuelven los problemas resultantes por el algoritmo simplex [Tah92].

Estos métodos son eficientes en problemas que no son muy grandes, y en la solución de problemas medianos también son eficientes. Una de las ventajas de estos métodos es que ilustran lo que se pretende hacer con la región de factibilidad del problema entero, para lograr su solución.

Método de Enumeración Implícita

Este método, llamado también de búsqueda, está diseñado para investigar sistemáticamente un subconjunto restringido del conjunto de soluciones enteras. Estos métodos se pueden usar para resolver problemas enteros o problemas enteros mixtos e incluyen métodos de búsqueda de árboles, de ramificación y acotamiento.

3 1

Page 41: CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO ... - … Sandra Ramirez Peralta...En especial a mi asesor de tesis, el Dr. Joaquín Pérez Ortega por ... Tabla 5.8 Ubicación de los

El método de enumeración implícita fue diseñado para resolver problemas con variables binarias (variables con valores de sólo 0-1) [Tah92].

Este método es un método heurístico basado en la lógica, que al igual que el método de ramificación y acotamiento (B&B), resuelve problemas enteros sin analizar todas las posibles alternativas de solución. Este método resuelve problemas enteros mediante la aceptación o el rechazo implícito de ciertas alternativas.

El método de ramificación y acotamiento es descrito en la siguiente sección.

4.1.1 Programación Lineal Entera 0-1

La programación lineal entera (PLE) se emplea en programas lineales donde todos los valores de las variables sean valores enteros o discretos. La PLE es mixta o pura cuando algunas o todas sus variables están restringidas a tomar sólo valores enteros [Tah92].

Esta dificultad de cálculo con los algoritmos de PLE, ha conducido a los investigadores a buscar otros medios para resolver el problema. Uno de estos medios es resolver el modelo como un problema de programación lineal (PL) continuo, y luego, redondear la solución óptima a los valores enteros factibles más cercanos. Sin embargo, esto no es garantía que la solución redondeada satisfaga las restricciones. Esto es cierto siempre que PLE tenga una o más restricciones de igualdad.

En la PL, el método simplex se basa en aceptar que la solución Óptima ocurre en un punto extremo del espacio de soluciones, lo cual hace que la búsqueda se reduzca de un número infinito de soluciones a un número finito. La PLE empieza con un número finito de puntos de solución. Sin embargo, debido a que las variables son de naturaleza entera, se hace difícil diseñar un algoritmo eficaz que localice todos los puntos enteros factibles del espacio de soluciones. Estas dificultades han hecho que los investigadores crearan un procedimiento de solución parecido al de la PL. La estrategia de este procedimiento se resume en tres pasos [Tah92]:

1. Relajar el espacio de soluciones del problema entero, ignorando las

2. Resolver el modelo PL “relajado” e identificar su punto Óptimo (continuo)

3. Comenzar con el punto óptimo continuo, agregar restricciones especiales que fuercen iterativamente el punto extremo óptimo del modelo PL resultante, hacia las restricciones enteras deseadas.

restricciones por completo.

32

Page 42: CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO ... - … Sandra Ramirez Peralta...En especial a mi asesor de tesis, el Dr. Joaquín Pérez Ortega por ... Tabla 5.8 Ubicación de los

Existen algunos métodos para generar las restricciones especiales que fuercen la solución óptima del problema PL relajado hacia la solución entera deseada como el metodo de ramificar y acotar (RA) y los mencionados anteriormente.

Método d e Ramificación y Acotamiento (B&B)

El método de ramificación y acotamiento es un método de búsqueda general para encontrar una solución factible Óptima mediante enumeración parcial. Con este concepto, se descartan los puntos enteros no prometedores sin haber sido probados explícitamente. Además, no se trata directamente con el problema entero, sino con un problema lineal asociado, que se define relajando la restricción entera impuesta sobre las variables [Tah92]. Usaremos la abreviatura “U” para “Ramificación y Acotamiento”.

Para la descripción de las estrategias utilizadas en el enfoque RA, usaremos la siguiente notación: x es la solución de un problema de optimización restringida a alguna región factible definida mediante restricciones matemáticas, z ( x ) la función objetivo que se pretende minimizar (para maximización se maneja - z ( x ) ) , KO es el conjunto de soluciones factibles del problema original, y z, es el valor optimo de z

que se busca.

Las principales estrategias seguidas en el enfoque B&B son las siguientes:

a) Ramijicación o particionamiento. Particiona el espacio de solución continua KO (problema) en subespacios (subproblemas) que también son continuos. El propósito de este particionamiento es eliminar parte del espacio continuo que no es factible para el problema entero. Esto se logra adicionando a cada subproblema restricciones mutuamente exclusivas que conservan los puntos enteros factibles del problema original, pero que eliminan la región continua delimitada por ellas.

b) Acotamiento. Obtiene límites superior e inferior para el valor Óptimo. Se tiene un límite superior del óptimo global z, en el momento en que el algoritmo produzca una solución factible entera. Este limite cambia siempre que una mejor solución factible entera aparece durante la ejecución del algoritmo. Por otro lado, el valor óptimo de cada subproblema creado por ramificación, establece un limite inferior para el valor de la solución factible entera de este subproblema. Una estrategia de acotamiento de calidad puede contribuir significativamente a la eficiencia del método, si selecciona los subproblemas más prometedores y recorta búsquedas que no lleguen a mejores soluciones.

c) Búsqueda En general, la estrategia de búsqueda especifica la secuencia de ramificación de los subproblemas ya generados.

El siguiente algoritmo básico supone que las estrategias de ramificación, acotamiento y búsqueda han sido desarrolladas.

33

Page 43: CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO ... - … Sandra Ramirez Peralta...En especial a mi asesor de tesis, el Dr. Joaquín Pérez Ortega por ... Tabla 5.8 Ubicación de los

El Algoritmo RA

Paso 1 [Inicialización]: El método inicia considerando que el problema lineal relajado cubre la región factible completa, y a este se le denomina nodo raíz. Se resuelve el problema lineal. Si la solución es entera, entonces se ha encontrado la solución Óptima y el proceso termina. Si el problema relajado usado para determinar el límite inferior es infactible, entonces el problema original también es infactible y se da por terminado el proceso. De otra manera, se continúa con el paso general.

Paso 2 [Ramificación]: La región factible se particiona en dos o más regiones, usando alguna regla de ramificación. Esos subproblemas forman una partición del problema original y se convierten en hijos del nodo raíz. El algoritmo se aplica recursivamente a los subproblemas, generando un árbol de subproblemas.

Paso 3 [Acotamiento]: Se determinan cotas inferiores para los nuevos nodos. Para cada nuevo nodo n se obtiene una cota inferior z(n) sobre el valor de las soluciones factibles enteras del nodo.

Paso 4 [Selección]: Se selecciona un nodo intermedio desde el cual se ramifica. Cada nuevo nodo se sondea o se excluye. Para esto, se determina la mejor solución en el nodo, si es entera, entonces ésta es una solución factible entera del problema original, pero no es necesariamente la óptima global. Este límite superior, puede ser usado para podar el resto del árbol. Esto es, si el límite inferior de un nodo excede la mejor solución factible entera, no existe ninguna solución optima global en el subespacio de la región factible representada por el nodo. Por lo tanto, el nodo se puede ignorar en adelante. También se eliminan los nodos infactibles.

Paso 5 [Terminación]. El proceso de búsqueda continúa nuevamente a partir del paso de ramificación y termina cuando todos los nodos han sido resueltos 0 podados. La mejor de todas las soluciones factibles enteras es la óptima global. Si no existe tal, el problema no tiene solución.

4.2 Métodos Heurísticos

La complejidad y naturaleza del problema han hecho imposible utilizar un algoritmo eficiente con métodos exactos para problemas de tamaño grande. En este caso, el modelo se puede mantener intratable en términos de cálculo.

Las dificultades evidentes en la solución del modelo para problemas de grandes tamaños han hecho necesario buscar otros métodos de cálculo. Estos métodos también son de naturaleza iterativa, pero no garantizan la optimalidad de

Page 44: CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO ... - … Sandra Ramirez Peralta...En especial a mi asesor de tesis, el Dr. Joaquín Pérez Ortega por ... Tabla 5.8 Ubicación de los

la solución final; si no que solo buscan una buena solución al problema. Estos métodos suelen denominarse heurísticos, ya que su lógica está basada en regias o métodos prácticos basados en la experiencia y conocimientos del diseñador que conllevan a obtener una buena solución.

Para fines de esta tesis se exploró el método heurístico Aceptación por Umbral, al cual se le hicieron ciertas modificaciones y adaptaciones mejorando su eficiencia y obteniendo muy buenos resultados o muy cercanos al óptimo.

Otros métodos heurísticos que se utilizan para resolver problemas de optimización combinatoria se describen a continuación:

Algoritmos Genéticos

Los Algoritmos Genéticos (AG) .son métodos adaptativos que pueden ser utilizados para realizar búsquedas y problemas de optimización. Están inspirados en los procesos genéticos de organismos biológicos, codificando una posible solución a un problema en un "cromosoma" compuesto por una cadena de bits o caracteres.

Estos cromosomas representan individuos que son llevados a lo largo de varias generaciones, en forma similar a las poblaciones naturales, evolucionando de acuerdo a los principios de selección natural y "supervivencia" del más apto, para así formar una nueva población "mejor" que la anterior. Emulando estos procesos, los algoritmos genéticos son capaces de "evolucionar" soluciones a problemas del mundo real [www~] .

Los algoritmos genéticos utilizan una analogía del fenómeno de evolución en la naturaleza. Trabajan con una población de individuos, cada uno representando una posible solución a un problema dado. A cada individuo se le asigna una puntuación de adaptación, dependiendo de qué tan buena fue la respuesta al problema. A los más adaptados se les da la oportunidad de reproducirse mediante cruzamientos con otros individuos de la población, produciendo descendientes con características de ambos padres. Los miembros menos adaptados poseen pocas probabilidades de que sean seleccionados para la reproducción, y tienden a desaparecer.

Diferencias entre los Algoritmos Genéticos y otros Métodos Heurísticos

Los algoritmos genéticos tienen cuatro diferencias principales con los métodos más utilizados o conocidos de optimización y búsqueda:

Trabajan con una codificación del conjunto de elementos de la solución, no con éstos directamente.

35

Page 45: CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO ... - … Sandra Ramirez Peralta...En especial a mi asesor de tesis, el Dr. Joaquín Pérez Ortega por ... Tabla 5.8 Ubicación de los

Buscan simultáneamente la solución en una población de puntos, no en uno solo.

Utilizan reglas de transición probabilísticas, y no determinísticas.

Búsqueda Tabú

La Búsqueda Tabú (BT) es un procedimiento heurístico, el cual se utiliza con gran éxito Para resolver problemas de optimización cuya característica Principal es la de “escapar” de la optimalidad local [Cob94].

”La filosofía de la BT es la de manejar y explotar una colección de principios para resolver problemas de manera inteligente. Uno de los elementos fundamentales de la BT es el uso de la memoria flexible. Desde el punto de vista de la BT, la memoria flexible involucra el proceso dual de crear y explotar estructuras para sacar ventaja mediante la combinación de actividades de adquisición, evaluación y mejoramiento de la información de manera histórica”. En la actualidad se dice que la BT es uno de los métodos heurísticos que presenta resultados de lo más promisorios para encontrar soluciones eficientes para problemas de optimización combinatoria a gran escala.

La Búsqueda Tabú en una forma simple descubre dos de sus elementos claves: la de restringir la búsqueda mediante la clasificación de ciertos movimientos como prohibidos (es decir, Tabú) y el de liberar la búsqueda mediante una función de memoria de término corto que proporciona una ‘‘estrategia de olvido”.

Análisis de Objetivos

El análisis de objetivos (AO) es un procedimiento para desarrollar métodos de mejora para resolver problemas. Se comenta que una aplicación inicial fue la calendarización de la producción futura de energía de una planta nuclear, donde se descubrió la ventaja de incorporar un componente de inteligencia artificial dentro de la técnica de optimización estándar, por ejemplo, se puede considerar que el A 0 es una integración de la inteligencia artificial con la investigación de operaciones que proporciona una nueva estrategia para resolver problemas de optimización combinatoria mediante el análisis retrospectivo y técnicas de reconocimiento de patrones (percepción tardía), proporcionando a los procedimientos de solución óptima o heurística la habilidad de aprender qué reglas son mejores para resolver una clase particular de problemas [Cob94].

El análisis de objetivos proporciona un medio para explotar una visión amplia, junto con los beneficios de las evaluaciones de los movimientos. En particular, la incorporación de un proceso sistemático de diversificación en la búsqueda proporciona, a largo plazo, información útil para crear una función de evaluación dinámica.

36

Page 46: CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO ... - … Sandra Ramirez Peralta...En especial a mi asesor de tesis, el Dr. Joaquín Pérez Ortega por ... Tabla 5.8 Ubicación de los

4.2.1 Recocido Simulado

El método de Recocido Simulado, según [Aar89], es un proceso térmico para obtener estados de baja energía en un sólido, mediante un baño térmico. El proceso físico de recocido primero reblandece el sólido mediante un calentamiento a una temperatura elevada, y luego lo va enfriando lentamente hasta que las partículas se van colocando por sí mismas en el estado fundamental del sólido.

La de un sólido en el baño térmico puede simularse mediante el de Metrópolis, el Cual está basado en las técnicas de Monte carlo.

Una descripción simple del algoritmo de Metrópolis, CUYO propósito es simular el comportamiento de una colección de átomos en equilibrio dinámico, es como sigue: Considérese un sistema de átomos en un estado admisible de movimiento con energía E y una temperatura constante T. Se aplica un desplazamiento aleatorio a un átomo y se evalúa el cambio correspondiente de temperatura AE. Si AE es negativa, entonces se acepta el desplazamiento y la energía se reduce en IAEl; de lo contrario, el desplazamiento se acepta y la energía se aumenta en AE, sólo si una variable aleatoria v distribuida uniformemente en el intervalo ( O , I ) es menor que exp(-AElkT), donde k es la constante de Boltzmann. Este proceso se repite muchas veces, con el sistema evolucionando hacia el estado más probable, como lo predice la ley de Boltzmann.

En [Kir83] se introdujeron los conceptos de Recocido Simulado en el mundo de la optimización combinatoria. En dicho trabajo se demostró que el algoritmo de Metrópolis podría ser aplicado a problemas de optimización haciendo una correspondencia entre el conjunto de soluciones factibles (soluciones que satisfacen las restricciones) de un problema de optimización combinatorio y el conjunto de estados admisibles de un sistema de átomos, en donde el costo z de una solución factible corresponde a la energía del sistema.

Así, con el objeto de aplicar el concepto de Recocido Simulado a la solución del modelo FURD, se asoció a cada x E X (donde X es el conjunto de todas las soluciones factibles) una vecindad predefinida H(x) c X . Por ejemplo H(x) se podría definir como el conjunto de todas las soluciones factibles que se pueden obtener cambiando la ubicación de un atributo de un sitio a otro sitio.

El algoritmo comienza con cualquier solución factible y un parámetro T (llamado temperatura debido a la analogía con la mecánica estadística) iniciando con un valor adecuadamente alto, el cual se calcula de acuerdo al tamaño del problema. Dada una solución actual x, se genera una solución vecina y E H(x) . Si Az = z b ) - z(x) es negativa o si v < exp(-Az/T) [donde v es un número aleatorio distribuido uniformemente en ( O , I)], entonces se acepta y , convirtiéndose en la nueva solución actual, Este proceso se repite hasta que se alcanza una condición de

37

Page 47: CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO ... - … Sandra Ramirez Peralta...En especial a mi asesor de tesis, el Dr. Joaquín Pérez Ortega por ... Tabla 5.8 Ubicación de los

equilibrio, en cuyo caso se reduce la temperatura y se repite nuevamente todo el proceso. El algoritmo se detiene cuando el sistema queda congelado, o sea no se mejora la solución en el ciclo completo de una temperatura: lo cual significa que se ha alcanzado un mínimo local con respecto a H(x).

Obsérvese que la probabilidad de aceptar una solución que incrementa el costo, tiende a cero cuando disminuye T. Nótese también que si la temperatura inicial es suficientemente baja, entonces esta heurística equivale a una técnica de mejora local, donde las peores soluciones nunca se aceptan.

4.2.1.1 Algoritmo Tradicional de Recocido Simulado

1) inicio 2) realT,,u 3) enteroi

4) 5) 6) repite

x = solución inicial factible T = valor alto de temperatura inicial

20) ~ , 21) hasta se alcanza el congeiamiento 22) fin

repite y = solución vecina si z o ) - z(x) < O entonces

sino x = y

si v < exp(-Az/kr) entonces

sino

fin de si

x = y

se rechaza la nueva solución

fin de si hasta se alcanza el equilibrio térmico T = UT

4.2.1.2 Algoritmo Mejorado de Aceptación por Umbral

Se implementó una variante del algoritmo de Recocido Simulado denominada “Aceptación por Umbral”, la cual consume menos tiempo computacional.

38

Page 48: CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO ... - … Sandra Ramirez Peralta...En especial a mi asesor de tesis, el Dr. Joaquín Pérez Ortega por ... Tabla 5.8 Ubicación de los

En este algoritmo, dada una solución actual x, se genera una solución vecina Y E WX); si Az = zCy) - z(x) < T , entonces y se acepta como la nueva solución actual, en caso contrario la solución actual permanece sin cambio.

El valor de la temperatura T se decrementa cada vez que el equilibrio térmico se alcanza. En lo subsecuente usaremos el concepto lote de soluciones aceptadas [Rom90]. El valor de T se decrementa multiplicándolo repetidamente por un factor de enfriamiento ,u < 1 hasta que el sistema alcance el congelamiento. El algoritmo usado para resolver el problema FURD es el siguiente:

ALGORITMO DE ACEPTACION POR UMBRAL

I) inicio 2) real T , p 3) enteroi 4) 5 ) 6 ) repite 7) repite 8) y = solución vecina 9) 10) x = y 11) sino 12) se rechaza la nueva solución 13) findesi 14) hasta se alcanza el equilibrio térmico

16) hasta se alcanza el congelamiento 17) fin

Para determinar los parámetros del algoritmo y los criterios para la aceptación o rechazo de una solución, se realizó primeramente un conjunto de experimentos exploratorios. Para esto se generaron diez problemas, para cada problema el número de sitios, consultas, y atributos accedidos por cada consulta se generaron de manera aleatoria. La emisión de una consulta por cualquier sitio dado se seleccionó aleatoriamente con un 50% de probabilidad de que el sitio emitiera la consulta.

x = solución inicial factible T = valor alto de temperatura inicial

si zb) - z(x) < Tentonces

15) T = p T

39

Page 49: CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO ... - … Sandra Ramirez Peralta...En especial a mi asesor de tesis, el Dr. Joaquín Pérez Ortega por ... Tabla 5.8 Ubicación de los

Los parámetros del algoritmo se obtuvieron como sigue:

a) Temperatura inicial T. El límite superior para la función objetivo se determinó relajando las restricciones del problema y haciendo a cada x . i

m, gual a 1. Iniciando con dos valores (cero y el límite superior) se realizó una búsqueda binaria para encontrar la temperatura en la cual el porcentaje de soluciones aceptadas estuviera dentro del rango del 95 al 98 %. La temperatura inicial fue encontrada en cuatro problemas con tres diferentes intervalos de aceptación. El resultado más consistente para la temperatura inicial se encontró en el intervalo de aceptación de 95 a 98 %.

b) Tamaño de lote s. Se resolvieron tres problemas usando tamaños de lote de 5 , lo, 20, 303 403 50, 60, 70, 80, 90 Y 100 elementos. El mejor resuliado se obtuvo al utilizar lotes de 30 soluciones, ya que el óptimo global se encontró en todos 10s experimentos y con el tiempo de procesamiento más pequeño. El mismo resultado fue encontrado usando tamaños de lote más grandes, pero se requirió de un tiempo de procesamiento mayor. Con lotes de tamaño más pequeños a 30, no siempre se encontró el Óptimo global.

c) Factor de congelamiento p. Se resolvieron dos problemas usando factores de enfriamiento igual a 0.75, 0.8, 0.85, 0.9, 0.95 y 0.98. La mejor solución con el tiempo de procesamiento más pequeño se obtuvo con p = 0.80 y ,u = 0.85.

d) Regla para el equilibrio térmico. Se resolvieron dos problemas donde se pusieron a prueba las siguientes cuatro reglas: (1 ) el equilibrio ocurre cuando la media de los valores de un lote anterior z*(x) y el lote actual z*@) satisfacen la expresión Iz*@) - z*(x)l < O.OOlz@)*; (2) el equilibrio ocurre cuando la media de los valores de z*(x) y z*@) satisfacen la expresión z*(x) - z*@) < O.OOlz(x)*; ( 3 ) el equilibrio ocurre cuando los valores mínimos del lote anterior zmin(x) y el lote actual zmin@) satisfacen la expresión zmin(x) - Zminb) < O.OO1zmin(x); y (4) el equilibrio se alcanza cuando se cumple la condición de la regla 2 o 3 . Al utilizar la regla 1, los cambios en la temperatura fueron bajos, las soluciones peores y los tiempos de procesamiento altos. Con la regla 4 el algoritmo convirgío más rápido que usando en forma individual las reglas 1, 2 o 3 .

e) Regla de enfriamiento. Las siguientes dos reglas se probaron en tres problemas: (1) terminar cuando el porcentaje de soluciones rechazadas se encuentre entre el 95 y 98%, y (2) parar cuando no se de una mejora en el costo después de diez cambios de temperatura consecutivos. Los mejores resultados se obtuvieron con la regla 2, ya que el Óptimo global se encontró en los tres problemas de prueba. Con la regla 1 el algoritmo terminó antes de encontrar el óptimo global.

40

Page 50: CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO ... - … Sandra Ramirez Peralta...En especial a mi asesor de tesis, el Dr. Joaquín Pérez Ortega por ... Tabla 5.8 Ubicación de los

CAPÍTULO 3 RESULTADOS EXPERIMENTALES DEL MODELO

En el presente capítulo se presenta una serie de pruebas aplicadas al modelo FURD tanto con métodos exactos (como el paquete LINDO) como con métodos heurísticos (como es el método de Aceptación por Umbral), para mostrar los resultados obtenidos en ambos casos. Se presentan ejemplos para mostrar la influencia de los dos términos que se incluyeron ai modelo: costos de almacenamiento y costos de acceso a varios fragmentos.

41

Page 51: CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO ... - … Sandra Ramirez Peralta...En especial a mi asesor de tesis, el Dr. Joaquín Pérez Ortega por ... Tabla 5.8 Ubicación de los

5. RESULTADOS EXPERIMENTALES DEL MODELO

En las subsecciones siguientes se describen los casos de prueba que se aplicaron ai modelo FURD, así como también se muestran los resultados obtenidos con LINDO y con el método Aceptación por Umbral en cuanto al tiempo de procesamiento computacional y el valor obtenido en la función objetivo. Se muestran también las gráficas comparativas de los resultados obtenidos con ambos métodos.

5.1 Objetivo General de los Casos de Prueba

Mostrar la forma en que influyen los dos términos que se incorporaron al modelo FURD original [Per97].

5.1.1 Caso de Prueba 1.

Cada atributo es consultado desde un nodo diferente y todos los atributos son consultados desde todos los sitios.

Objetivo de la prueba. Mostrar con el modelo presentado en [Per97], cómo los atributos tienden a trasladarse a los sitios donde son más utilizados para disminuir los costos de comunicación.

Datos de entrada. Los atributos que utiliza cada una de las consultas están dados en la Tabla 5.1, la frecuencia con que se consulta cada atributo desde cada uno de los sitios está dada en la tabla 5.2. Los costos de transmisión entre sitios son unitarios, así como el tamaño en bytes de cada atributo.

- Selectividad de las consultas nk = 1 para k = 1, 2, 3, ..., 6

- Atributo ! usado por cada consulta k (Tabla 5.1)

- Frecuencia de ejecución de la consulta k desde el sitio i (Tabla 5.2)

- Costos de transmisión desde el sitio i al s i t io j c,, = 1

- El tamaño en bytes de cada atributo ! [P,] es 1

si i tj c,,= O si i = J

42

Page 52: CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO ... - … Sandra Ramirez Peralta...En especial a mi asesor de tesis, el Dr. Joaquín Pérez Ortega por ... Tabla 5.8 Ubicación de los

Tabla 5.1. Matriz de Uso de Atributos Tabla 5.2. Matriz de Frecuencia de (MUA). Consultas de los Atributos

desde cada Uno de los Sitios.

; e, e2 e, e4 . . . . . ............................ .. . . . . . . . . . . . . . . , . . k i i 1 O O O O

....... :.& ...... JZ ...... J.1 ...... J! ..... d.s ....

k3 :O k4 ;O O O kS ; O k6 i l

Resultados esperados. Los resultados que se esperan de esta prueba es que con el modelo presentado en [Per97], cada atributos se ubique en los sitios donde son más utilizados, tendiendo a formar varios fragmentos para disminuir los costos de comunicación entre sitios.

43

Page 53: CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO ... - … Sandra Ramirez Peralta...En especial a mi asesor de tesis, el Dr. Joaquín Pérez Ortega por ... Tabla 5.8 Ubicación de los

Donde

xu = 1 si el atributo e se encuentra almacenado en el si t ioj , O en caso contrario w, = 1 si existe un atributo en el s i t io j yk, = 1 si la consulta k accede a algún atributo que se encuentre almacenado en el

sitio j .

Resultados de la prueba

Los valores de la función objetivo y de la solución fueron los siguientes:

44

Page 54: CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO ... - … Sandra Ramirez Peralta...En especial a mi asesor de tesis, el Dr. Joaquín Pérez Ortega por ... Tabla 5.8 Ubicación de los

. Conclusión. Cada atributo se ubicó en un sitio diferente, de tal manera que los costos de comunicación se minimizaron; cumpliendo de esta forma con los resultados esperados.

Figura 5 . 1 . Resultados de la Prueba 1.

5.1.2 Caso de Prueba 2.

Cada atributo es consultado desde un nodo diferente y todos los atributos son consultados desde todos los sitios, interviniendo los costos de almacenamiento.

Objetivo de la prueba. Mostrar con el modelo FURD extendido, de qué manera influyen los costos de almacenamiento en el problema planteado.

Page 55: CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO ... - … Sandra Ramirez Peralta...En especial a mi asesor de tesis, el Dr. Joaquín Pérez Ortega por ... Tabla 5.8 Ubicación de los

o Datos de entrada. Cada atributo 1 es consultado desde un s i t i o j diferente, pero existe una sexta (k6) consulta que involucra a todos los atributos, la cual es ejecutada desde todos los sitios. Los atributos que utiliza cada una de las consultas están dados en la Tabla 5.1, la frecuencia con que se consulta cada atributo desde cada uno de los sitios está dada en la Tabla 5.2, los costos de transmisión entre sitios son unitarios, así como el tamaño en bytes de cada atributo, los costos de almacenamiento están dados enseguida.

- Selectividad de las consultas nk = 1 para k = 1, 2, 3, ..., 6 - Atributo ! usado por cada consulta k (Tabla 5.1) - Frecuencia de ejecución de la consulta k desde el sitio i (Tabla 5.2) - Costos de transmisión desde el sitio i al s i t i o j cij = 1 si i # j

c . . = 0 si j = j 11

- El tamaño en bytes de cada atributo 1 [ P l ] es 1 - Costos de almacenamiento: CtoKey * Card * TamBytes

Donde

CtoKey Card = Cardinalidad de la relación: 5 TamBytes = Tamaño en bytes de la llave: 1

= Costo por almacenar la llave: 0.2

Resultados esperados. Se espera que los atributos nuevamente se ubiquen, de tal manera que de ser posible se reduzca el número de fragmentos, dispersos en los diferentes nodos de la red.

46

Page 56: CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO ... - … Sandra Ramirez Peralta...En especial a mi asesor de tesis, el Dr. Joaquín Pérez Ortega por ... Tabla 5.8 Ubicación de los

X I / , X I 2 2 xl3. xl4, x/53 x2I> x22, x23, x24, x25, x31, x32, X 3 3 , X 3 4 , X 3 5 = 0 Ó 1 x4li x42, x43, x44, x45> x519 x52, x53, X 5 4 , X 5 5 0 6 1 w / . w2, w3, w4, w5 = o 0 1 y l / > y/2, y/33 y147 y /5 , yZ/, y222 y238 y247 y25, y31, Y 3 2 , y33, y34, y35 = 0 Ó 1 y412 y422 y433 y442 y45i Y5/, y522 y53, y54, y55, y6/, y62, y63, y64, y65 = 0 6 1

Donde

xu = 1 si el atributo e se encuentra almacenado en el sitio j , O en caso contrario w, = 1 si existe un atributo en el sitio j yk, = 1 si la consulta k accede a algún atributo que se encuentre almacenado en el

sitio j .

41

Page 57: CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO ... - … Sandra Ramirez Peralta...En especial a mi asesor de tesis, el Dr. Joaquín Pérez Ortega por ... Tabla 5.8 Ubicación de los

Conclusión. AI incorporar los costos de almacenamiento, el número de fragmentos disminuyó, reduciéndose a un solo fragmento, quedando la relación completa en un solo sitio. Como podemos observar el valor de la función objetivo se increment6 de 20 a 25 en relación con el caso de prueba anterior, debido a que el caso de prueba 1 se resolvió con el modelo FURD [Per97], por lo que podemos concluir que al incorporar a la función objetivo los costos por almacenar los fragmentos, se puede modelar más fielmente con la realidad la fragmentación y ubicación de los datos.

Figura 5.2. Resultados de la Prueba 2

Page 58: CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO ... - … Sandra Ramirez Peralta...En especial a mi asesor de tesis, el Dr. Joaquín Pérez Ortega por ... Tabla 5.8 Ubicación de los

5.1.3 Caso de Prueba 3.

Se incrementan las frecuencias de acceso desde los sitios SI, s3 y s5.

Objetivo de la prueba. Demostrar cómo ai incrementar el acceso de las consultas desde los sitios 1, 3 y 5 , los atributos tienden a ubicarse en esos sitios.

Datos de entrada. Los atributos utilizados por cada una de las consultas están dados en la Tabla 5.1, la frecuencia de acceso con que se consulta cada atributo desde cada uno de los sitios está dada en la Tabla 5.3, los costos de transmisión entre sitios son unitarios, así como el tamaño en bytes de cada atributo.

- Selectividad de las consultas nk = 1 para k = 1, 2, 3, ..., 5 - Atributo ! usado por cada consulta k (Tabla 5.1) - Frecuencia de ejecución de la consulta k desde el sitio i (Tabla 5.3) - Costos de transmisión desde el sitio i al s i t i o j cv = 1 si i f j

c j j = O s i i = j

- El tamaño en bytes de cada atributo 1 [P,] es 1 - Costos de almacenamiento: CtoKey * Card * TamBytes

Donde

CtoKey Card = Cardinalidad de la Relación: 5 TamBytes = Tamaño en bytes de la llave: 1

= Costo por almacenar la llave: 0.2

Tabla 5.3 Matriz de Frecuencia de Consultas de los Atributos desde cada Uno de los Sitios (fki ).

O 0 kq ; O O O O

5

Resultados esperados. Se espera que los atributos consultados desde los sitios 2 y 4, que son los sitios con menor frecuencia de acceso se ubiquen en los sitios 1, 3 y 5 .

Page 59: CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO ... - … Sandra Ramirez Peralta...En especial a mi asesor de tesis, el Dr. Joaquín Pérez Ortega por ... Tabla 5.8 Ubicación de los
Page 60: CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO ... - … Sandra Ramirez Peralta...En especial a mi asesor de tesis, el Dr. Joaquín Pérez Ortega por ... Tabla 5.8 Ubicación de los

Donde

xu = 1 si el atributo t se encuentra almacenado en el si t ioj , O en caso contrario w, = 1 si existe un atributo en el sitio j yk j = 1 si ia consulta k accede a algún atributo que se encuentre almacenado en el

sitio j .

Resultados de la prueba

Los valores de la función objetivo y la solución fueron los siguientes:

z = 65

Conclusión. Al incrementar las frecuencias de acceso en los sitios 1, 3 y 5 , los atributos se ubicaron nuevamente en esos sitios, dejando los sitios 2 y 4 sin fragmentos. AI haber un incremento en las frecuencias de acceso el costo de la función objetivo aumenta.

Page 61: CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO ... - … Sandra Ramirez Peralta...En especial a mi asesor de tesis, el Dr. Joaquín Pérez Ortega por ... Tabla 5.8 Ubicación de los

1 A2 I A3 I Figura 5.3. Resultados de la Prueba 3 .

5.1.4 Caso de Prueba 4.

Se incorporan los costos de acceso a varios fragmentos.

Objetivo de la prueba. Mostrar cómo al incorporar también los costos por acceder a varios fragmentos, el grado de fragmentación nuevamente tiende a disminuir para reducir esos costos.

Datos de entrada. Los atributos utilizados por cada una de las consultas están dados en la Tabla 5.1, la frecuencia de acceso con que se consulta cada atributo desde cada uno de los sitios está dada en la Tabla 5.3, los costos de transmisión entre sitios son unitarios, así como el tamaño en bytes de cada atributo.

- Selectividad de las consultas nk = 1 para k = 1 , 2, 3, ..., 6 - Atributo 1 usado por cada consulta k (Tabla 5.1) - Frecuencia de ejecución de la consulta k desde el sitio i (Tabla 5.3) - Costos de transmisión desde el sitio i al sitio j c,j = 1

- El tamaño en bytes de cada atributo L' [P,] es 1 - Costos de almacenamiento: CtoKey * Card * TamBytes

si i # j c . . = 0 si j = j

II

52

Page 62: CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO ... - … Sandra Ramirez Peralta...En especial a mi asesor de tesis, el Dr. Joaquín Pérez Ortega por ... Tabla 5.8 Ubicación de los

Donde

CtoKey Card = Cardinalidad de la relación: 5 TamBytes = Tamaño en bytes de la llave: i

= Costo por almacenar la llave: 0.2

- El costo por acceder a varios fragmentos: 0.24

Resultados esperados. Al incorporar los costos por acceder a varios fragmentos, se espera que el número de fragmentos disminuya.

a Formulación del modelo

53

Page 63: CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO ... - … Sandra Ramirez Peralta...En especial a mi asesor de tesis, el Dr. Joaquín Pérez Ortega por ... Tabla 5.8 Ubicación de los

Donde

xu = 1 si el atributo l se encuentra almacenado en el sitio j , O en caso contrario w, = 1 si existe un atributo en el s i t i o j yk, = 1 si la consulta k accede a algún atributo que se encuentre almacenado en el

sitio j .

El valores de la función objetivo y la solución fueron los siguientes:

z = 81.16

Resultados de la prueba con el modelo FURD extendido

Page 64: CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO ... - … Sandra Ramirez Peralta...En especial a mi asesor de tesis, el Dr. Joaquín Pérez Ortega por ... Tabla 5.8 Ubicación de los

Conclusión. AI incorporar los costos por acceder a varios fragmentos (reuniones) para satisfacer una consulta, el número de fragmentos disminuyó, formando un solo fragmento, ubicándose todos los atributos en el sitio 1. Al igual que en el caso de prueba 2, al incorporar los costos de acceso a varios fragmentos, el costo de la función objetivo aumentó, permitiendo modelar más fielmente con la realidad la fragmentación y ubicación de los datos en la red.

Figura 5.4. Resultados de la Prueba 4

5.1.5 Caso de Prueba 5.

transmisión hacia los sitios 2 y 4 son menores. Se incorporan los costos de acceso a varios fragmentos. Los costos de

Objetivo de la prueba. Mostrar cómo al incorporar al modelo los costos de almacenamiento y los costos de acceder a varios fragmentos, el número de fragmentos disminuye, aún cuando los costos de transmisión hacia los sitios 2 y 4 es menor, ubicándose en cualquiera de estos dos sitios.

55

Page 65: CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO ... - … Sandra Ramirez Peralta...En especial a mi asesor de tesis, el Dr. Joaquín Pérez Ortega por ... Tabla 5.8 Ubicación de los

Datos de entrada. Los atributos utilizados por cada una de las consultas están dados en la Tabla 5.1, mientras que la frecuencia de acceso con que se consulta cada atributo desde cada uno de los sitios está dada en la Tabla 5.3, los costos de transmisión entre sitios están dados en la Tabla 5.4.

- Selectividad de las consultas nk = 1 para k = 1,2,3, ..., 6 - Atributo ! usado por cada consulta k (Tabla 5.1) - Frecuencia de ejecución de la consulta k desde el sitio i (Tabla 5.3) - Costos de transmisión desde el sitio i al s i t i o j (Tabla 5.4)

- El tamaño en bytes de cada atributo e [P,] es 1 - Costos de almacenamiento: CtoKey * Card * TamBytes

Donde

CtoKey = Costo por almacenar la llave: 0.2 Card = Cardinalidad de la Relación: 5 TamBytes = Tamaño en bytes de la llave: 1

- Costo por acceder a varios fragmentos es: 0.24

Tabla 5.4. Matriz de Costos de Transmisión entre Sitios cii

Resultados esperados. Se espera que los atributos se ubiquen en los sitios 2

ylo 4, ya que los costos de transmisión hacia esos sitios es menor.

Formulación del modelo

min z = 102 XI, + 21 XIZ + 152 xi3 + 21 xi4 + 152 XIS + 103 xi1 + 16 X22 + 103 X23 + 17 X24 + 103 x25

+ 152 x j l + 21 ~ 3 2 + 102 ~ 3 3 + 21 ~ 3 4 + 152 ~ 3 5

+ 103 ~ 4 1 + 17 ~ 4 2 + 103 ~ 4 3 + 16 ~ 4 4 + 103 X ~ S

56

Page 66: CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO ... - … Sandra Ramirez Peralta...En especial a mi asesor de tesis, el Dr. Joaquín Pérez Ortega por ... Tabla 5.8 Ubicación de los

sujeto a:

57

Page 67: CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO ... - … Sandra Ramirez Peralta...En especial a mi asesor de tesis, el Dr. Joaquín Pérez Ortega por ... Tabla 5.8 Ubicación de los

x12> '143 '153 x217 x 2 2 ~ x23, x24, x25, Xjl, X 3 2 , X 3 3 , xj4, xj5 = 0 6 1 '41, '42, ' 43 , x44> x45, x 5 I ~ x.52, X53, X54, X55 = 0 0 1 w1> wz, w3, W q , W g = o ó 1 yll* y122 y13, yl4, y157 y212 y229 Y23, y24, y25t y31, y32, y33, y34, y35 = 0 Ó 1 y41, Y423 y43. Y442 y45, y51, y522 y53> y54, y55, y61, Y622 y63, y64, y65 = 0 Ó 1

Donde

x u = 1 si el atributo 1 se encuentra almacenado en el sitio j , O en caso contrario w, = 1 si existe un atributo en el sitio j ykj = 1 si la consulta k accede a algún atributo que se encuentre almacenado en el

sitio j .

Resultados de la prueba

Los valores de la función objetivo y de la solución fueron los siguientes:

z = 105.16

Conclusión. Contrastando con el caso de prueba anterior, podemos observar que los costos por acceder a varios fragmentos y los costos de almacenamiento, influyen en gran medida en la ubicación de los atributos. Como los costos de comunicación hacia los sitios 2 y 4 eran menores, los atributos se ubicaron en el sitio 2.

58

Page 68: CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO ... - … Sandra Ramirez Peralta...En especial a mi asesor de tesis, el Dr. Joaquín Pérez Ortega por ... Tabla 5.8 Ubicación de los

/

Figura 5.5. Resultados de la Prueba 5

5.1.6 Caso de Prueba 6.

Ejemplo de reubicación, al incorporar los costos por acceder a varios fragmentos.

Objetivo de la prueba. El objetivo de esta prueba es demostrar cómo al incorporar los costos por acceder a varios fragmentos, el número de fragmentos disminuye considerablemente, pudiendo llegar incluso un solo fragmento.

Para demostrar el efecto que tiene este término sobre el modelo, se muestra un ejemplo que consiste de varias fases seriadas, donde en cada fase se muestran los cambios que ocurren en el número de fragmentos al ir incrementando los costos por acceder a varios fragmentos. Los datos de entrada del ejemplo se muestran a continuación.

Datos de entrada. Los atributos que utiliza cada una de las consultas se muestran en la Tabla 5.5, la frecuencia de acceso con que se consulta cada atributo desde cada uno de los sitios está dada en la Tabla 5.6, los costos de transmisión entre sitios son unitarios, así como el tamaño en bytes de cada atributo.

- Selectividad de las consultas nk = 1 - Atributo ! usado por cada consulta k (Tabla 5.5) - Frecuencia de ejecución de la consulta k desde el sitio i (Tabla 5.6)

para k = 1 , 2, 3, ..., 5

59

Page 69: CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO ... - … Sandra Ramirez Peralta...En especial a mi asesor de tesis, el Dr. Joaquín Pérez Ortega por ... Tabla 5.8 Ubicación de los

- Costos de transmisión desde el sitio i al sitio j cij = 1

- El tamaño en bytes de cada atributo e [P,] es 1 - Costos de almacenamiento cf es O - El costo por acceder a varios fragmentos cv es O

si i z j

Tabla 5.5. Matriz de Uso de Atributos. Tabla 5.6. Matriz de Frecuencia de

Consultas de los Atributos desde cada Uno de los Sitiosfki.

(MUA) q k c .

k j i 1 k4 i 1 O

.. ill j,? j3 j 4 j s ............................................... k i i 5 O O O O

Tabla 5.7. Matriz de Ubicación Inicial de los Atributos en los Sitios A,,.

.. I ....... J.! ..... .jz ..... i;i ..... j.! ...... j, .... I

O

Ya que no se tiene una ubicación inicial, la matriz de ubicación se encuentra en ceros y los costos cv y cf son O inicialmente. La ubicación inicial de los atributos en la fase inicial se muestra a continuación, y podemos observarla gráficamente en la Figura 5.6.

Tabla 5.8. Ubicación de los Atributos en la Fase Inicial de la Prueba

c v = o z = 20

Page 70: CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO ... - … Sandra Ramirez Peralta...En especial a mi asesor de tesis, el Dr. Joaquín Pérez Ortega por ... Tabla 5.8 Ubicación de los

Cada atributo se ubica en un sitio diferente, cuando los dos costos CY y cf son igual a O; es decir, aquí intervienen únicamente los dos términos del modelo FURD original presentado en [Per97], no interviene ninguno de los costos que se incorporaron al modelo.

\

Figura 5.6 Ubicación Inicial de los Atributos en la Fase Inicial del Problema, sin Tener una Ubicación Previa, ni Intervenir los Costos cv y cf.

A partir de esta ubicación, donde los atributos se encuentran totalmente repartidos en todos los nodos, se irá incrementando poco a poco el costo cv, para ir observando la forma en que los atributos se van reubicando formando cada vez menos fragmentos. Se tomará la ubicación que hayan tomado los atributos en cada fase como un dato de entrada para la siguiente fase.

Fase 1.

Tabla 5.9. Matriz de Ubicación de los Tabla 5.10. Ubicación de los Atributos

Atributos en la Fase 1, A t $ . al Final de la Fase 1

. . ....... i..JI ..... ,I?. ..... 1? ...... J.! ...... I.?. e , : 1 o o o o ez : o 1 0 0 0 e 3 : o o 1 o o e 4 ; o o o 1 o e s : o o o o 1

Atrib! .......................... el ....... e .? e4 es .................... Sitio i 2 2 3 4 5

c v = 1.1

z = 58.5

61

Page 71: CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO ... - … Sandra Ramirez Peralta...En especial a mi asesor de tesis, el Dr. Joaquín Pérez Ortega por ... Tabla 5.8 Ubicación de los

Fase 2.

Tabla 5.1 1. Matriz de Ubicación de los Tabla 5.12. Ubicación de los Atributos Atributos en la Fase 2, A!,, ai Final de la Fase 2

e 2 i o . 1

e3 i o e 4 i o o o e s i o o

Atribi e , ez e, e e ............ : 4 2.. Sitio 3 3 3 4 5

.............................. .......

CY = 3.7

z = 113.3

Fase 3.

Tabla 5.13. Matriz de Ubicación de los Tabla 5.14. Ubicación de los Atributos Atributos en la Fase 3, A!,. al Final de la Fase 3

........... L! ..... J2 ..... J? ...... J.! ...... J.?...

e 2 ! o e, i o e 4 ; o o o O

e, : O O 0 0 1

Atrib: e, e2 e3 e4 e, ........................................................ Sitio i 4 4 4 4 5

c v = 11

z = 232

Fase 4.

Tabla 5.15. Matriz de Ubicación de los Tabla 5.16. Ubicación de los Atributos

Atributos en la Fase 4, Ati . al Final de la Fase 4 I._'..! .....! .....; ..... j; ..... ;..I e, i o e 4 : o o o e s : o O O O

Atrib; e, e2 e, e4 es ........................................................ Sitio j 5 5 5 5 5

c v = 44

z = 730

62

Page 72: CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO ... - … Sandra Ramirez Peralta...En especial a mi asesor de tesis, el Dr. Joaquín Pérez Ortega por ... Tabla 5.8 Ubicación de los

Figura 5.6(a). Ubicación de los Atributos en la Fase 1, Cuando cv = 1.1

Figura 5.6(b). Ubicación de los Atributos en la Fase 2, Cuando cv = 3.7

63

Page 73: CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO ... - … Sandra Ramirez Peralta...En especial a mi asesor de tesis, el Dr. Joaquín Pérez Ortega por ... Tabla 5.8 Ubicación de los

Figura S . ~ ( C ) . Ubicación de los Atributos en la Fase 3, Cuando cv = 11

Figura S.6(d). Ubicación de los Atributos en la Ultima Fase, Cuando cv = 44. Todos los Atributos se Ubican en el Sitio 5 .

64

Page 74: CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO ... - … Sandra Ramirez Peralta...En especial a mi asesor de tesis, el Dr. Joaquín Pérez Ortega por ... Tabla 5.8 Ubicación de los

Conclusiones. Como podemos observar, a medida que los costos por acceder varios fragmentos se van incrementando, el número de fragmentos va disminuyendo gradualmente hasta llegar a formar un solo fragmento. Esto se debe a que los costos ya son muy altos, aunque no siempre es posible llegar a tal grado de fragmentación, sólo cuando se realicen consultas que involucren todos los atributos.

De la misma forma en que influye este término en el diseño de la fragmentación vertical, también influyen los costos de almacenamiento cf.

5.2 Casos de Prueba de Desempeño de los Métodos de Solución del Modelo: Aceptación por Umbral vs. LINDO

El modelo fue resuelto para verificar su eficiencia y desempeño con dos métodos de solución: un método de solución exacta, como la programación lineal entera 0- 1, en particular con el paquete comercial LINDO, el cual utiliza el método Ramificación y Acotamiento (RA), y un método de solución heurística, como el método Aceptación por Umbral, el cual no garantiza soluciones óptimas, pero sí buenos resultados.

Los métodos exactos son apropiados para solucionar tamaños de problemas pequeños, en los que no intervienen problemas con gran número de variables, ni restricciones, sin embargo para la solución de problemas grandes, es conveniente utilizar un método heurístico, que aunque no nos garantizan una solución óptima, si puede generar una “buena solución” o cercana al óptimo. Los métodos heurísticos son una alternativa para aquellos casos en los que nos se cuenta con un método exacto capaz de resolver problemas de mayor magnitud dependiendo de las características del equipo con que se cuente, así como las habilidades del programador.

Para demostrar la eficiencia y desempeño de los métodos de solución empleados se generaron varios problemas al azar con distintos tamaños de problemas. Para generar estos problemas se escribió un programa en C, el cual genera problemas de tamaño variable tomando en consideración las siguientes limitantes:

Numero de sitios entre 3 y 40. Numero de atributos de 3 a 100. Numero de consultas de 3 a 80. Frecuencia de acceso de O a 25. El nodo desde el cual se invoca también en forma aleatoria de 1 a n nodos, donde n = número de sitios determinados por el programa. Costos de transmisión entre sitios de 1 a 5. Tamaño de los atributos entre 2 y 20 bytes.

65

Page 75: CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO ... - … Sandra Ramirez Peralta...En especial a mi asesor de tesis, el Dr. Joaquín Pérez Ortega por ... Tabla 5.8 Ubicación de los

Tabla 5.17. Solución Exacta con LINDO Para 15 Casos de Prueba Pequeños Generados Aleatoriamente.

.&-

Tabla 5.18. Solución de los Problemas Anteriores con Aceptación por Umbral

.. 66 \

Page 76: CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO ... - … Sandra Ramirez Peralta...En especial a mi asesor de tesis, el Dr. Joaquín Pérez Ortega por ... Tabla 5.8 Ubicación de los

Para solucionar el modelo con el método heurístico Aceptación por Umbral se codificó un programa en C, el cual evalúa la función objetivo y mantiene la

- solución dentro de las restricciones. Se generaron 15 problemas de tamaño pequeño y se resolvieron con los dos métodos de solución, como podemos observar en las Tablas 5.17 y 5.18. Los resultados obtenidos del valor de la solución con el método Aceptación por Umbral son buenos, cada problema se resolvió 20 veces para problemas de tamaño pequeño.

"- \

800000.00 -

< - - 0 g

500000.00 - Ei

$ 400000.00 1 L4

2

300000.00

2w000.00

100000.00

0.00

Pmb.

Alrib.

S i k h C.ns RerUiCS.

Van.

854283.50

748 9 50

. \ \ .' >

/ 5 , 30.62 i

, 546085.62

I 310036.d

/í5327029.40

221707.20 ,/ /ii-";g65173.00

11 1995.60.)'' -9'

59863'00 49322.30~,52318.39~ &7g42.00 6916.00 j " ' . ~ - - - " r - - ' 6 8 2 4 2 . ~ ~ 5 8 , , Q , - ~ F 1 1 5 6 0 . 5 0 25952.00

1 2 3 4 5 6 7 8 9 l O l 1 1 2 1 3 1 4 1 5

3 J 8 11 IO 10 9 10 15 18 20 17 20 ZJ 35

3 3 6 4 4 4 6 5 6 7 8 11 8 12 10 3 3 4 6 8 8 5 9 8 I 0 1 0 8 1 5 1 5 1 6

16 18 39 41 47 47 46 61 70 96 109 117 149 218 206

21 27 78 76 76 76 90 100 144 203 248 286 288 492 520

Figura 5.7. Gráfica Comparativa de los Valores de la F.O. de LINDO vs Aceptación por Umbral para Problemas Pequeños.

En la Figura 5.7 podemos ver la gráfica comparativa de los resultados obtenidos con los dos métodos de solución para los valores de la función objetivo (F.O.), y en la Figura 5.8 podemos ver la gráfica comparativa de los tiempos de ejecución de los dos métodos.

67

Page 77: CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO ... - … Sandra Ramirez Peralta...En especial a mi asesor de tesis, el Dr. Joaquín Pérez Ortega por ... Tabla 5.8 Ubicación de los

. . . .... ~~. ... . .

Como podemos observar en la Figura 5.8, la gráfica nos muestra claramente como el tiempo de solución de los problemas obtenidos con el método heuristico son menores, sin ‘que esto afecte en gran medida el valor de la función objetivo, obteniendo buenos resultados, con un margen de error pequeño.

3.500-

3.000 - 2.864

2.500 -

2 u, 2.000

o E i=

c c

v>

1.500

1.000

0.500

0.000

Rob. 1 2 3 4 5 6 7 8 9 1 0 1 1 I 2 1 3 1 4 1 5 Wbs. 3 5 8 12 IO 10 9 10 IS 18 20 17 20 25 35

sitiis 3 3 6 4 4 4 6 5 6 7 8 I I 8 12 10

h S . 3 3 4 6 8 8 5 9 8 10 10 8 15 15 16

R&S. 16 18 39 41 47 47 46 61 70 96 109 117 149 218 206

Vas. 21 27 78 76 76 76 90 100 144 203 148 286 288 4% 520

Figura 5.8. Gráfica Comparativa de LINDO vs. Aceptación por Umbral de los Tiempos de Ejecución para Problemas Pequeños.

Para problemas de tamaño pequeño, podemos llegar a obtener el valor óptimo en un tiempo menor, aunque esto no nos garantiza que obtengamos siempre el óptimo, pero sí “buenas soluciones” o muy cercanas al Óptimo.

Con el paquete comercial LINDO podemos obtener las soluciones óptimas, en un intervalo de tiempo pequeño, desafortunadamente su capacidad es restringida para problemas de a los más 500 restricciones y 1,000 variables.

68

Page 78: CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO ... - … Sandra Ramirez Peralta...En especial a mi asesor de tesis, el Dr. Joaquín Pérez Ortega por ... Tabla 5.8 Ubicación de los

...

Tabla 5.19. Solución Exacta con LINDO Para 20 Casos de Prueba Grandes Generados Aleatoriamente

Para el caso de los problemas grandes, sólo se resolvieron IO veces cada uno para el método de Aceptación por Umbral, debido al tiempo de procesamiento.

Como podemos observar, a medida que el tamaño del problema crece, los resultados obtenidos se van alejando cada vez más del valor óptimo, por lo que podemos concluir que donde existan técnicas especializadas para la resolución de problemas, como son los métodos exactos, éstas superarán fácilmente a este tipo de algoritmos en precisión para problemas de tamaño pequeño, por lo que su campo principal de aplicación es donde no exista este tipo de técnicas.

69

\ .

Page 79: CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO ... - … Sandra Ramirez Peralta...En especial a mi asesor de tesis, el Dr. Joaquín Pérez Ortega por ... Tabla 5.8 Ubicación de los

Tabla 5.20. Solución de los Problemas de la Tabla 5.19 con Aceptación por Umbral

En las Tablas 5.19 y 5.20, se muestran los resultados obtenidos para 20 problemas grandes resueltos con LINDO y con Aceptación por Umbral respectivamente. Los primeros 7 problemas se resolvieron con los dos métodos, los 13 problemas restantes se resolvieron Únicamente con el método Aceptación por Umbral, debido a que el tamaño de los problemas excedían las capacidades de LINDO. El tiempo de solución fue menor para casi todos los problemas con el método heurístico. En las Figuras 5.9 y 5.10 se muestran las gráficas comparativas de los resultados obtenidos en estas dos tablas.

70

\

Page 80: CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO ... - … Sandra Ramirez Peralta...En especial a mi asesor de tesis, el Dr. Joaquín Pérez Ortega por ... Tabla 5.8 Ubicación de los

66175472.09 100<1o0Ooo.oo-

/ I 22817252.td

10000000.00 -

12322549.00 14096438.00 0348532.00

9248498.

,. -

28309 3 208732.59 17s523-70 207787.40 175523.70

. . . . I , . . . . 100000.00 ' ' ' , , ' , , Rob. 1 2 3 4 5 6 7 8 9 IO I I 12 13 14 IS 16 17 18 19 20 Atribs 27 IS IO 22 30 2s 28 40 45 68 98 67 72 23 60 85 37 105 82 100

Sitias 12 18 20 14 I5 IO 18 20 11 37 26 29 29 35 35 20 40 39 30 40 Cons. I6 14 15 19 13 32 I2 20 64 I9 27 43 42 56 40 €2 46 14 SO 80 ReStncs. 232 286 331 303 241 356 263 461 761 809 827 1344 13202019 1496174611918691 I613 3341

Figura 5.9. Gráfica Comparativa de los Valores de la F.O. de LINDO vs. Aceptación por Umbral para Problemas Grandes.

i 584.52 ?

500 8 a U C

5 a 300 318.41

30.06 . . . . .

200

LOO

Rob. &b, 27 IS 10 22 30 25 28 40 45 68 98 67 72 23 60 85 37 105 82 100

sitios I2 18 20 14 IS IO 18 20 11 37 26 29 29 35 3s 20 40 39 30 40

cmS 16 14 15 19 13 32 12 20 64 19 27 43 42 S6 40 82 46 14 50 80

R~~ 23 286 331 303 241 356 263 461 761 809 827 1344132020191496 1746119l8691 16133341

Figura 5.10. Gráfica Comparativa de LINDO vs Aceptación por Umbral de los Tiempos de Ejecución para Problemas Grandes

71

Page 81: CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO ... - … Sandra Ramirez Peralta...En especial a mi asesor de tesis, el Dr. Joaquín Pérez Ortega por ... Tabla 5.8 Ubicación de los

CAP~TULO 6 CONCLUSIONES Y TRABAJOS FUTUROS

En esta sección se presentan las conclusiones que se obtuvieron en esta tesis, así como sus contribuciones y los trabajos futuros.

72

Page 82: CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO ... - … Sandra Ramirez Peralta...En especial a mi asesor de tesis, el Dr. Joaquín Pérez Ortega por ... Tabla 5.8 Ubicación de los

6. CONCLUSIONES Y TRABAJOS FUTUROS

En el presente trabajo se muestran las contribuciones que se hicieron para ia obtención de un mejor diseño de la distribución en los sistemas de bases de datos distribuidas, enfocados principalmente hacia el problema de la ubicación y fragmentación vertical de datos.

En el Centro Nacional de Investigación y Desarrollo Tecnológico (Cenidet) se han venido desarrollado trabajos relacionados con el problema del diseño de la distribución, esta tesis forma parte de las investigaciones que se realizan actualmente en el área de diseño de bases de datos distribuidas en la citada institución.

En particular, en el presente trabajo de tesis se contribuye en la obtención de un mejor diseño de la distribución, el cual consiste en la incorporación de dos términos en la función objetivo y dos restricciones en el modelo FURD presentado en [Per97].

Las principales contribuciones del presente trabajo de tesis son las siguientes:

a) Se incorporaron dos términos al modelo FURD

1. El primer término modela los costos ocasionados por almacenar los fragmentos.

2. El segundo término modela los costos ocasionados por el acceso a dos o más fragmentos para poder satisfacer una consulta, como por ejemplo al hacer una reunión (join).

Estos dos nuevos términos inducen a una reducción en el grado de dispersión de los fragmentos en los nodos de la red.

b) Se incorporaron también dos restricciones.

1. La primera restricción modela la condición de almacenar un fragmento en un sitio, denotado por w, (ver pag. 22), donde se le asigna el valor de 1 si existe ai menos un atributo en el sitio j y O en caso contrario.

2. La segunda restricción modela la condición de almacenar en yk, (ver pag. 22) el valor de 1 si la consulta k accede a uno o más atributos que se encuentran en el sitio j , para satisfacer esa consulta y O en caso contrario.

c) Los esquemas de fragmentación generados con el modelo FURD tradicional tienden a esparcir los datos entre los diferentes nodos, ya que se omiten los costos de almacenar un fragmento y acceder a varios fragmentos; en contraste,

\ \

73

Page 83: CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO ... - … Sandra Ramirez Peralta...En especial a mi asesor de tesis, el Dr. Joaquín Pérez Ortega por ... Tabla 5.8 Ubicación de los

el modelo FURD extendido crea esquemas de fragmentación con un mejor balance entre la ubicación de los datos.

d) Como el diseño de la distribución se ha formulado como un problema de programación lineal entera 0-1, es posible emplear para su solución métodos exactos y heurísticos. Como método exacto se utilizó un paquete comercial de optimización llamado LINDO, el cual emplea para su solución el método de ramificar y acotar (RA). Como método heurístico se utilizó una variante del método Recocido Simulado llamada Aceptación por Umbral, con el cual se muestra la factibilidad para resolver el modelo, sin embargo, cabe destacar que, a medida que el tamaño del problema crece las soluciones obtenidas se alejan cada vez más del óptimo global. Una de las ventajas de este método es su relativamente fácil implementación y su adaptación en el manejo de problemas de tamaño grande.

e) Se implementó una variante del algoritmo Recocido Simulado conocida como Aceptación por Umbral. Para su implementación, se definió un esquema de enfriamiento del algoritmo. Para esto, se llevó a cabo la sintonización de los diferentes parámetros del algoritmo como son: la temperatura inicial, tamaño del lote, factor de congelamiento, regia para el equilibrio térmico y regla de congelamiento (temperatura final).

f ) El modelo puede automatizarse incorporándose a un manejador de base de datos permitiendo de esta manera hacer el diseño de la distribución de manera automática cada vez que se requiera.

6.1. Trabajos Futuros

El modelo FURD puede ser extendido para representar más fielmente el problema real del diseño de la distribución. Algunos aspectos que se le pueden incluir ai modelo son los siguientes:

1, Considerar réplicas de datos en los diferentes sitios de la red. El considerar copias parciales de fragmentos (fragmentos traslapados) puede mejorar notablemente el desempeño total del sistema. El tener varias copias de fragmentos aumenta la disponibilidad para las consultas de lectura y disminuye la fallas y pérdidas de datos en el sistema, sin embargo, el tener varias copias, disminuye el desempeño de las consultas de actualización, ya que hay que mantener la consistencia en todas las copias, por lo que debe haber un equilibrio en el número de copias.

74

Page 84: CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO ... - … Sandra Ramirez Peralta...En especial a mi asesor de tesis, el Dr. Joaquín Pérez Ortega por ... Tabla 5.8 Ubicación de los

2. Considerar algunos otros parámetros importantes como son:

Topología de la red. En el presente trabajo se considera una red completamente conectada, por lo que se considera también un factor importante la configuración de la red, ya que de esta depende la disponibilidad de los datos.

Capacidad de almacenamiento. Se considera una restricción importante para restringir el número de fragmentos en la red y su ubicación.

3. Implementar el modelo como parte de un manejador de la base de datos, de tal manera que el manejador determine los parámetros de entrada, resuelva el modelo y haga la ubicación y fragmentación de los atributos de manera dinámica sin tener que realizar esta tarea al administrador de la base de datos.

Page 85: CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO ... - … Sandra Ramirez Peralta...En especial a mi asesor de tesis, el Dr. Joaquín Pérez Ortega por ... Tabla 5.8 Ubicación de los

APÉNDICE A Aquí se describe el algoritmo de Jeyakumar Muthuraj [Mut93] cuyo objetivo

es la obtención de la fragmentación vertical, quien a diferencia de Navathe [Nav84] que realiza una fragmentación vertical binaria, Muthuraj, se enfoca a la obtención de la fragmentación vertical maria.

\ k,

76

Page 86: CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO ... - … Sandra Ramirez Peralta...En especial a mi asesor de tesis, el Dr. Joaquín Pérez Ortega por ... Tabla 5.8 Ubicación de los

ALGORITMO DE PARTICION VERTICAL DE JEY AKUMAR MUTHURAJ

~1 problema presentado por Muthuraj [Mut93], aborda el problema de la Partición vertical n-aria y deriva una función objetivo. La función objetivo presentada es usada para comparar algoritmos presentados anteriormente. Primero se deriva una función objetivo que es utilizada en el procesamiento de transacciones distribuidas Y después se muestra como puede ser extendida para incluir información adicional, tal como tipos de transacciones, diferentes costos de acceso local y remoto y copias de fragmentos.

El problema de la partición vertical (también llamada particionamiento de atributos) es una técnica que es usada durante el diseño de una base de datos para mejorar el desempeño de las transacciones. En la partición vertical, los atributos de una relación R son agrupados en grupos no traslapados y la relación R es proyectada en relaciones de fragmentos de acuerdo a estos grupos de atributos. En los sistemas de bases de datos distribuidas, estos fragmentos son asignados en los diferentes sitios. Así el objetivo de la partición vertical, es crear fragmentos verticales de una relación, de tal manera, que se minimice el costo de acceso a los datos durante el procesamiento de las transacciones.

El problema de la fragmentación vertical puede enfocarse hacia varios niveles de detalle, considerando diversa información adicional. Se toma únicamente información de transacciones como entrada para hacer el problema más manejable. En esencia, el problema de optimización global (el cual incluye un gran número de parámetros y una métrica muy compleja) es dividido en varios problemas de optimización más pequeños para reducir el espacio de búsqueda y la complejidad de cada problema.

Varios algoritmos de partición vertical han sido propuestos, como el de Hoffer y Severance quienes utilizan el algoritmo de bond energy (BEA), Hammer y Niamir quienes utilizan una heurística para llegar al mejor esquema de fragmentación. Navathe extiende el enfoque BEA y propone un enfoque de dos fases para la fragmentación vertical. Cornell y Yu aplican el trabajo de Navathe al diseño físico de relaciones de bases de datos. Navathe y Ra construyen un algoritmo basado en grafos para el problema de la partición vertical donde la heurística utilizada incluye una función objetivo intuitiva la cual no es explícitamente cuantificada. En adición a estos algoritmos de partición vertical, hay muchas técnicas de partición de datos, tradicionalmente utilizadas en reconocimiento de patrones y estadísticas, algunas de las cuales pueden ser adaptadas para la fragmentación de una base de datos.

La estrategia más comúnmente utilizada para la fragmentación está basada en el criterio de error-cuadrado. El objetivo general es obtener aquella partición, la cual, para un número fijado de particiones, minimiza el error-cuadrado. i

k. 77 '\

Page 87: CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO ... - … Sandra Ramirez Peralta...En especial a mi asesor de tesis, el Dr. Joaquín Pérez Ortega por ... Tabla 5.8 Ubicación de los

~ . 1 Desarrollo del Evaluador de Particiones (EP).

Los algoritmos tales como el de Bond Energy, Fragmentación Vertical Binaria, el algoritmo de Ra y el algoritmo de Zahn, etc., usan una matriz de afinidad como entrada. La afinidad entre atributos es una medida de enlace imaginario entre un par de atributos. Debido a que solamente un par de atributos es involucrado, esta medida no refleja la afinidad entre más de dos atributos.

Como el objetivo es obtener una función objetivo general y un criterio para describir los valores de afinidad para particiones de diferentes tamaños, el enfoque planteado por Muthuraj no incluye una Matriz de Afinidad de Atributos (MAA). El modelo de entrada que considera es una matriz, la cual consiste de atributos (columnas) y transacciones (renglones) con la frecuencia de acceso a los atributos para cada transacción, como los valores en la matriz.

Como es evidente, hay un gran número de algoritmos de fragmentación disponibles en el área de diseño de bases de datos y en otras áreas de aplicación. Muchos de estos algoritmos usan diferentes criterios para llegar a un esquema de fragmentación. La función objetivo usada por un algoritmo no es utilizada para evaluar la “bondad” de otros algoritmos. Así, Muthuraj no utiliza una función objetivo común para comparar y evaluar los resultados de estos algoritmos de fragmentación, o en general evaluar la “bondad” de un esquema de fragmentación en particular. De ahí, que lo que se requiere es un Evaluador de Particiones para comparar y evaluar los diferentes algoritmos, que usan la misma entrada en el proceso de diseño de la base de datos. La Matriz de Uso de Atributos (MUA) es la más comúnmente usada durante el proceso de diseño inicial. El Evaluador puede ser usado como una base para desarrollar algoritmos para crear fragmentos de una relación. Además, Evaluador de Particiones tiene la flexibilidad de incorporar otra información, tal como tipos de consultas (recuperación I actualización), asignación de información acerca de las particiones, costos de procesamiento remoto (costos de transmisión) y el patrón de uso de transacciones en cualquier sitio en particular.

En cualquier aplicación de base de datos, generalmente, una transacción no requiere todos los atributos de las tuplas de una relación. Cuando una relación es dividida verticalmente en fragmentos de datos, los atributos almacenados en un fragmento de datos que son irrelevantes (por ejemplo, los no accedidos por la transacción) con respecto a una transacción, se agregan al costo de procesamiento, especialmente cuando el número de tuplas involucradas en la relación es muy grande. En un sistema de base de datos centralizada con jerarquía de memoria, podría tener demasiados accesos al almacenamiento secundario. En un sistema manejador de bases de datos distribuidas, cuando los atributos relevantes (por ejemplo, los atributos accedidos por una transacción) están en diferentes fragmentos

\f de datos y asignados en sitios diferentes, hay un costo adicional al acceso remoto de ‘I datos. Así una característica considerable de un sistema manejador de base de datos ’*

78

Page 88: CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO ... - … Sandra Ramirez Peralta...En especial a mi asesor de tesis, el Dr. Joaquín Pérez Ortega por ... Tabla 5.8 Ubicación de los

que se desea atacar es la accesibilidad local a cualquier sitio. En otras palabras,

cada sitio debe ser capaz de procesar las transacciones localmente con accesos mínimos a los datos localizados en sitios remotos.

Idealmente, lo que se desearía es que cualquier transacción acceda solamente a los atributos en un simple fragmento de datos, con ninguno o un mínimo acceso a los atributos irrelevantes en ese fragmento.

Se asume que durante el proceso de diseño de la base de datos, la fase de “fragmentación” va seguida de la fase de “asignación” (o ubicación), durante la cual los fragmentos de datos no traslapados, obtenidos durante la fase de fragmentación son asignados a sitios diferentes posiblemente con algunas copias.

El objetivo de fragmentar y asignar y asignar cada fragmento a diferentes sitios, es llegar a un costo de procesamiento mínimo para cualquier transacción originada en cualquier sitio. De aquí que el costo de procesamiento de una transacción tenga dos componentes, uno que es el costo de procesamiento local y otro que es el costo de procesamiento remoto. El Evaluador de Particiones que propone Muthuraj tiene también dos componentes correspondientes; “el costo de acceso a los atributos locales irrelevante” y ‘‘ el costo de acceso a los atributos remotos relevantes”. Para simplificar, se asume que un simple acceso a un fragmento de datos corresponde a una unidad de costo. El costo de los atributos locales irrelevantes mide el costo de procesamiento local de las transacciones accesan a los atributos irrelevantes de los fragmentos de datos, asumiendo que todos los fragmentos de datos requeridos por una transacción están disponibles localmente. El término de acceso a los atributos remotos relevantes, mide el costo de procesamiento a los atributos relevantes de los fragmentos de datos que son accedidos remotamente por transacciones. Durante el proceso de partición no se conoce como los datos fragmentados van a quedar asignados, el segundo término del Evaluador de Particiones se computariza asumiendo que los fragmentos de datos necesitados por una transacción están localizados en sitios diferentes.

La característica ideal de un Evaluador de Particiones se muestra en la figura A . l , donde es ilustrado el comportamiento de los dos componentes como una función del tamaño de los fragmentos. El primer componente ( E 2 ~ ) , debería ser el máximo para un tamaño de partición de 1 y debería ser O para un tamaño de partición igual al número de atributos en la relación. El segundo componente (EZR) por otro lado, debería ser O y máximo respectivamente para estos dos extremos.

La entrada que se asume para el Evaluador de particiones es una relación (consistente de un conjunto de atributos) y una Matriz de Uso de Atributos (MUA). Las particiones obtenidas no deben estar traslapadas, excepto para los atributos llave en la relación de entrada. Los atributos llave son parte de cada partición. \\

I9

Page 89: CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO ... - … Sandra Ramirez Peralta...En especial a mi asesor de tesis, el Dr. Joaquín Pérez Ortega por ... Tabla 5.8 Ubicación de los

El modelo de entrada que se usa es una matriz [AUM(tj)] la cual consiste de los atributos j en la relación como columnas y las transacciones t como renglones con la frecuencia de acceso a los atributos para cada transacción como los valores en la matriz.

i Costos de

acceso a los atributos locales

irrelevantes. (1).

O 1

Número de Particiones A n

Fig. A . l . Características ideales de los componentes del PE.

Un ejemplo de una matriz de uso de atributos se muestra abajo:

Tabla A.l Ejemplo de una Matriz de Uso de Atributos (MUA)

Costos de acceso a los

atributos remotos

relevantes. (11).

80

\

Page 90: CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO ... - … Sandra Ramirez Peralta...En especial a mi asesor de tesis, el Dr. Joaquín Pérez Ortega por ... Tabla 5.8 Ubicación de los

A.2 Definiciones y Notaciones

Una partición (esquema) es una división de atributos de una relación en fragmentos verticales en los cuales para cualquiera de dos fragmentos, el conjunto de atributos no está traslapado con el conjunto de atributos del otro. Por ejemplo, la partición { (1,3) (2,4) ( 5 ) } se definen como una colección de fragmentos donde los atributos 1 y 3 están en un fragmento, 2 y 4 están en otro fragmento y 5 en un fragmento separado. La siguiente notación es utilizada en la derivación del Evaluador de Particiones.

A ,

I sir I R i i k

: Número total de atributos en una relación que es particionada. : Número total de transacciones que están bajo consideración. : Frecuencia de la transacción t , para t = 1,2, ..., T : Número total de fragmentos de una partición. : Número de atributos en el fragmento i. : Número total de atributos que están en el fragmento k accesados

remotamente con respecto al fragmento i por la transacción t. : Frecuencia de acceso de la transacción t al atributoj en el

fragmento i. Note que f I,, es O o qr. : Vector atributo para el atributoj en el fragmento i. T-avo

componente de este vector esfj,,. : Conjunto de atributos contenidos en el fragmento i que la

transacción t accesa. : Número de atributos en el fragmento i que la transacción t accede. : Conjunto de atributos relevantes en el fragmento k accesados

remotamente con respecto al fragmento i por la transacción t ; estos atributos que no están en el fragmento i pero son necesitados por t .

: Número de atributos relevante en el fragmento k accedidos remotamente con respecto al fragmento i por la transacción t.

El vector atributo A i l (asumiendo que Al está en la partición 1) para el ejemplo dado anteriormente es como sigue:

Considere el esquema de partición (1,3), (2,4), ( 5 ) , para la matriz de uso de atributos dada arriba. El fragmento 1 es (1,3) el fragmento 2 es (2, 4) y el fragmento 3 es (5 ) . Asuma que la transacción T2 (por ejemplo, t=2) está corriendo en el sitio

~\ \,

\ x1 \

Page 91: CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO ... - … Sandra Ramirez Peralta...En especial a mi asesor de tesis, el Dr. Joaquín Pérez Ortega por ... Tabla 5.8 Ubicación de los

donde el fragmento 1 es localizado. Entonces Sit es (1,3) y I Sit I es 2. n r , 3 f e s 1. \ ~ , , 2 l e s i y I ~ , , 3 l e s 1.

nri2f es 2 Y

El Evaluador de Particiones está dado por:

2 2 PE = EM + ER

A continuación se describe como son obtenidos cada uno de los componentes del Evaluador de Particiones:

A L 1 Costo de Acceso a los Atributos Locales Irrelevante

Para el primer componente del Evaluador de Particiones, se utiliza lo que es el criterio de erro-cuadrado. El objetivo es obtener una partición que minimice el error-cuadrado para un número fijado de fragmentos.

Se asume que n atributos han sido particionados en M fragmentos (P,,P2, ..., f=, n, = n . El vector significativo V , PM) con ni atributos en cada fragmento. Así

para el fragmento i es definido como sigue:

Este vector representa un patrón de acceso promedio sobre todos los atributos del fragmento i. Para un vector atributo A,,, (A,, -V,) es llamado el “vector de diferencia” para el a t r ibutoj en el fragmento i. Error-cuadrado para el fragmento P, es la suma de los cuadrados de la longitud de los vectores diferentes de todos los atributos en el fragmento i. Esta dado por:

j=l

2 Si A j j = Vf entonces ei es igual a O. Esto ocurre para el caso trivial donde hay

un simple atributo en cada fragmento o para el caso donde todos los atributos en cada fragmento son relevantes.

El error-cuadrado para el esquema de partición conteniendo M fragmentos está dado por:

\ \

i=l

82

Page 92: CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO ... - … Sandra Ramirez Peralta...En especial a mi asesor de tesis, el Dr. Joaquín Pérez Ortega por ... Tabla 5.8 Ubicación de los

El valor más pequeño de E:es el costo más pequeño de acceder a los

atributos irrelevantes. E;, sin embargo, no refleja el costo que podría incurrir el acceder a atributos accedidos remotamente cuando los fragmentos pueden estar en diferentes sitios.

A.2.2 Costo de Acceso a los Atributos Remotos Relevantes

Este es el segundo componente del evaluador de particiones. Esto es, dado un conjunto de particiones, para cada transacción que está corriendo sobre una partición, es el número remoto de atributos que pueden ser accedido por el número total de atributos remotos en cada una de las particiones remotas. Esto se asume para todas las particiones y para todas las transacciones dadas en la siguiente ecuación. Este término está dado por:

Como el segundo componente tiene una frecuencia en forma cuadrática, se necesita asegurar que ambos componentes sean compatibles en términos de las unidades que producen. En particular se redefinirá E i a s í como identificar las contribuciones hechas a cada una de las transacciones por el error-cuadrado de cada fragmento en la partición.

Ahora el vector V, para el fragmento i, puede ser definido como sigue:

83

Page 93: CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO ... - … Sandra Ramirez Peralta...En especial a mi asesor de tesis, el Dr. Joaquín Pérez Ortega por ... Tabla 5.8 Ubicación de los

El vector atributo A , es,

Ahora,

La fórmula de arriba puede ser reescrita como sigue:

donde,

4, = 1 si el atributoj es accesado por la transacción 1, O en caso contrario. \

84

Page 94: CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO ... - … Sandra Ramirez Peralta...En especial a mi asesor de tesis, el Dr. Joaquín Pérez Ortega por ... Tabla 5.8 Ubicación de los

El primer término, representa los accesos a los atributos relevantes y el segundo término representa los accesos a los atributos irrelevantes.

De aquí,

donde

Así,

Si ni = I Si, I , entonces E,&= O. Esto implica que la transacción t use todos los atributos en el fragmento i. La ecuación de arriba se puede reducir como sigue:

Simplificando la ecuación de arriba se obtiene lo siguiente:

La ecuación de arriba es la misma que la fórmula presentada al inicio, solo que mucho más simplificada. Podemos ver claramente de esta ecuación la

contribución al EMpor los atributos irrelevante. E L e s el factor de costo solamente para el procesamiento de las transacciones locales.

\,

85

Page 95: CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO ... - … Sandra Ramirez Peralta...En especial a mi asesor de tesis, el Dr. Joaquín Pérez Ortega por ... Tabla 5.8 Ubicación de los

GLOSARIO

En esta sección se presentan algunos términos técnicos empleados durante la explicación del desarrollo de esta tesis.

86

Page 96: CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO ... - … Sandra Ramirez Peralta...En especial a mi asesor de tesis, el Dr. Joaquín Pérez Ortega por ... Tabla 5.8 Ubicación de los

GLOSARIO

Base de Datos (BO). Es una colección de datos interrelacionados entre sí que se encuentran almacenados en un medio físico.

Base de Datos Centralizada (BDC). Es una base de datos en la cual el total de su información se encuentra almacenada en un solo sitio

Base de Datos Distribuida (BDD). Es una colección de datos lógicamente relacionados que se encuentran almacenados en distintos sitios en una red de computadoras.

Base de Datos Relacional. Conjunto de datos que se encuentran relacionados lógicamente entre sí. Los datos y las relaciones que existen entre ellos se encuentran representados mediante una colección de tablas, donde cada una de ellas puede contener una o más tuplas.

Cardinalidad. Número total de tuplas en una relación (tabla).

Fragmentación. Es el proceso de subdividir una tabla (entidad o relación) en varias piezas, llamadas fragmentos [CerS’l].

Fragmentación Horizontal. Consiste de subconjuntos de los ejemplares ( o tuplas) de’una tabla. Cada fragmento está asociado con un predicado de selección el cual indica la propiedad distintiva que poseen los ejemplares o tupla de ese fragmento.

Fragmentación Vertical. Se obtiene de la proyección de las tablas sobre subconjuntos de sus atributos. Se requiere que cada fragmento incluya el atributo llave de la tabla o al menos un atributo interno que los identifique.

Fragmentación mixta. Se puede construir alternando fragmentación horizontal y vertical.

Heurística. Es una técnica, la cual busca obtener “buenas soluciones” (por ejemplo, la más cercana al Óptimo), con un costo computacional razonable, sin ser capaz de garantizar su factibilidad u optimalidad. Ahora bien, el papel de las heuristicas, es enfocar la atención sobre las estrategias más promisorias e intentar encontrar una solución sin explorar todas las posibles soluciones [Co192].

Optimización Combinntoria. Significa que debe buscarse la solución de entre un número finito de alternativas factibles, tal que si todas ellas se enumeran, puede encontrarse la óptima. El problema en sí radica en que en la práctica, ese número finito asciende a millones o miles de millones de posibilidades. La mayoría de los

\ \

87 \ \

Page 97: CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO ... - … Sandra Ramirez Peralta...En especial a mi asesor de tesis, el Dr. Joaquín Pérez Ortega por ... Tabla 5.8 Ubicación de los

problemas de optimización combinatoria están contenidos en la clase definida como NP-completa [Co192].

Problemas Intratables. Un problema se dice intratable si no existe un algoritmo polinomial para resolverlo [Pap98].

a Problemas NP (no determinístico polinomial). Es la clase de problemas que puede resolverse en un tiempo polinomial si se adivina correctamente la trayectoria computacional que debe seguirse para resolverlo [Pap98].

a Problemas NP-completos. Existe un subconjunto de problemas en NP, que son los problemas más difíciles de resolver en el siguiente sentido: cualquier problema en NP puede reducirse a cualquier problema en el subconjunto difícil, de modo, que si se tiene un algoritmo polinomial para un problema en dicho subconjunto, entonces, se pueden resolver todos los problemas en NP en un tiempo polinomial [Pap98].

Problemas P (Polinomiales). Se dice que un problema pertenece a la clase P de problemas que pueden ser resueltos polinomialmente se exis?e un algoritmo polinomial (conocido o no) que lo resuelve [Pap98].

Programación Lineal Entera. Se refiere a problemas de maximizar o minimizar una función de varias variables sujetas a ciertas limitaciones de igualdad y desigualdad y a restricciones enteras sobre una o todas las variables [Co192].

Programación Lineal Entera 0-1. Se considera un evento que puede o no ocurrir, y se supone que es parte del problema decidir entre dos posibilidades. Para modelar esto, se utiliza una variable x, donde x=l si el evento ocurre, ó x=O si el evento no ocurre. El evento que se considere puede ser cualquier cosa, dependiendo de la situación específica que se esté considerando [Co192].

Red de Computadoras. Es un conjunto de computadoras que se encuentran interconectadas entre sí, a través de un medio de comunicación para poder intercambiar información.

a Sistema de Base de Datos Distribuidas. Consiste de un conjunto de bases de datos interrelacionadas entre sí, que se encuentran localizadas en diferentes sitios geográficos, las cuales pueden comunicarse a través de una red de computadoras.

Tupla. Palabra que hace referencia a un renglón de una tabla en el modelo relacional.

a Ubicación. Es el proceso de mapear cada fragmento a uno o más sitios [Cer87].

z 4 \. i

\ 88

Page 98: CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO ... - … Sandra Ramirez Peralta...En especial a mi asesor de tesis, el Dr. Joaquín Pérez Ortega por ... Tabla 5.8 Ubicación de los

REFERENCIAS

[Al0941

[Ape881

[Aar891

[Cer87]

[ Cob94 1

[Cor891

[Cor901

[Col921

[Dan931

i Dow82 1

[Kir83]

[Lee971

\ t. -

b. 1,

I

Alok R. Chaturvedi, Ashok K. Choubey, “Scheduling the Allocation of Data Fragments in a Distributed Database Environment: A machine Learning Approach”, IEEE Transactions on engineering management, Vol. 41, No. 2, May 1994.

P.M.G. Apers, “Data Allocation in Distributed Database Systems”, ACM Trans. On Database Systems, Vol. 13, No. 3, September 1988.

E.H.L. Aarts and J.H. M. Korst, “Simulated Annealing And Boltzmann Machines”, Wiley, Chichester, 1989.

Stefano Ceri, Barbara Pernici, and Gio Wiederhold, “Distributed Databases Design Methodologies”, Proc. IEEE, Vol 75, No. 5 , May 1987.

Sergio de los Cobos, “La Técnica de la Búsqueda Tabú y sus aplicaciones”, Tesis Doctoral, Ciudad Universitaria, 1994.

Douglas W. Cornel1 and Philip S. Yu, “On Optimal Site Assignment for Relations in the Distributed Database Enviroment”, IEEE Transactions on Soffware Engineering, Vol 15, No. 8, Augoust 1989.

Douglas W. Cornell and Philip S. Yu, “An Effective Approach to Vertical partitioning for Physical Design of Relational Databases”, IEEE Transactions on Softwaie Engineering, Vol 16, No. 2, February 1990.

Colin R. Reeves and John E Beasley, “Métodos Heurísticos Para La Solución de Problemas de Optimización Combinatoria”, Americas By Halsted Press, November 1992.

Dan Adler, “Genetic Algorithms and Simulated Annealing: A Marriage Proposal”, IEEE, 1993.

Lawrence W. Dowdy and Derrell V. Foster, “Comparative Models of the File Assigment Problems”, ACM Computing Surveys, Vo1‘14, No.2, pag 287-314, June 1982.

S. Kirkpatrick, C. D. Gelatt, Jr., M. P. Vecchi, “Optimization y Simulated Annealing” Vol. 220, No. 4598, pag 671-680, May 1983

Lee, Soonmi and Lim, Haechull, “Attribute Partitioning Algorithm in DOODB”, IEEE, 1997.

89

Page 99: CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO ... - … Sandra Ramirez Peralta...En especial a mi asesor de tesis, el Dr. Joaquín Pérez Ortega por ... Tabla 5.8 Ubicación de los

[Lin93]

[Lin951

[Mar951

[Mut931

[Nav841

[OZS911

[Pap981

[Per971

[Rom901

[Tah961

[Tam981

Xuemin Lin, Maria Orlowska and Yanchun Zhang, “On Data Allocation With the Minimum Overall Communication Costs In Distributed Database Design”, Proc. of ICCI-93, IEEE Press.

Xuemin Lin & Maria Orlowska, “An Integer Linear Programming Approach to Data Allocation with Minimum Total Communication Cost in Distributed Database Systems”, Information Sciences 85, 1995.

Salvatore T. March and Sangkyu Rho, “Allocating Data and Operations to Nodes in Distribuited Database Design”, IEEE Transactions on Knowledge and Data Engineering, Vol. 7, No. 2, april 1995

J. Muthuraj, S. Chakravarthy, R. Varadarajan, S.B. Navathe, “A Formal Approach to the Vertical Partitioning Problem in Distributed Database Design”, Proc. IEEE, 1SBN:O 8186 3330 1/ 93, 1993.

Shamkant Navathe, Stefan0 Ceri, Gio Wiederhold and Jingle Dou, “Vertical Partitioning Algorithms for Database Design”, ACM Transanctions on Database Systems, Vol 9, No. 4, December 1984.

M. Ozsu y P. Valduries, “Principles of Distributed Database Systems”, Englewood Cliffs, N.J.: Prentice-Hall, 1991.

Christos H. Papadimitriou, Kenneth Steiglitz, “Combinatorial Optimization: Algorithms and Complexity”, Dover Publications, Inc., Mineola, New York, 1998.

Joaquín Pérez, Rodolfo Pazos, Guillermo Rodríguez, Juan Frausto y Guadalupe Vélez, “Fragmentación, Ubicación y Reubicación Dinámica de Datos en Bases de Datos Distribuidas”, Actas del JIDBD’97, I1 Jornada de Investigación y Docencia en Base de Datos, Madrid, España, Julio de 1997.

David Romero and Adolfo Sánchez Flores, “Methods For The One- dimensional Space Allocation Problem”, Computers Opns Res., Vol. 17, No. 5, December 1989.

Hamdy A. Taha, “Investigación de Operaciones”, Departamento de Ingeniería Industrial Universidad de Arkansas, Fayetteville, Alfaomega Grupo Editor, S. A. de C.V., Noviembre 1996.

Ajit M. Tamhankar and Sudha Ram, “Database Fragmentation and Allocation: An Integrated Methodology and Case Study”, IEEE Transactions On Systems, Man. And Cybernetics - Part a: Systems and Humans, Vol. 28, No. 3, May 1998.

90

a 5

Page 100: CENTRO NACIONAL DE INVESTIGACION Y DESARROLLO ... - … Sandra Ramirez Peralta...En especial a mi asesor de tesis, el Dr. Joaquín Pérez Ortega por ... Tabla 5.8 Ubicación de los

[Vce85 I V. Cerny, “Thermodynamical Approach to the Traveling Salesman Problem: An Efficient Simulation Algorithm”, Optimization Theory and Applications, Vol. 45, No. 1 , Jun 1985.

Ana G. Vélez, “Ubicación Optima de Datos en Aplicaciones de Bases de Datos Distribuidas”, Tesis de Maestria, Centro Nacional de Investigación y Desarrollo Tecnológico, Diciembre 1997.

[Ve1971

[ W W W ~ ] Página Oficial en Internet del Instituto Tecnológico de Estudios Superiores de Monterrey (ITESM) http://homepages.mty.itesm.mx/-lgranado/alg_gen.html

SEP CENIDET DG8T CENTRO DE kNFORMACIBN

9 9 - 0 6 2 . 9 91