-
S.E.S D.G.E.S.T. S.E.P.
CENTRO NACIONAL DE INVESTIGACIÓN Y DESARROLLO TECNOLÓGICO
cenídef
UNA METODOLOGIA PARA EL DISENO DE LA FRAGMENTACIÓN Y UBICACIÓN
EN GRANDES BASES DE DATOS DISTRIBUIDAS
T E S I S
QUE PARA OBTENER EL GRADO DE DOCTOR EN CIENCIAS EN CIENCIAS DE
LA COMPUTACIÓN c
P R E S E N T A :
HÉCTOR JOAQUiN FRAIRE HUACUJA
"'7 DIRECTORES DE TESIS : I I DR. JOAQU~N PÉREZ ORTEGA DE
,NFORMAC'O~ c~N\Dfl 1
I DR. RODOLFO A. PAZOS RANGEL
ABRIL 2005 CUERNAVACA MORELOS
t
i i
-
Dirección General de Institutos Tecnológim
INVESTIGACION Y DESARROLLO TECNOLOGICO
CIENCIAS COMPUTACIONALES
Ciencias Computacionales
cenidef Cenim Nadonsl áw Invesligadon
y Dosandio TBcnol6gim
AUTORIZACIÓN DE IMPRESIÓN DE TESIS
Cuernavaca, Mor., 2005-04- 19
M.C. Héctor Joaquín Fraire Huacuja Candidato al Grado de Doctor
en Ciencias en Ciencias de la Computación Presente
Después de haber sometido a revisión su trabajo final de tesis
titulado "Una Metodología Para el Diseño de la Fragmentación y
Ubicación en Grandes Bases de Datos Distribuidas", el cual fue
dirigido por el Dr. Joaquín Perez Ortega y el Dr. Rodolfo A. Pazos
Rangel, y habiendo cumplido con todas las indicaciones que el
jurado revisor de tesis le hizo, le comunico que se le concede
autorización para que proceda a la impresión de la misma, como
requisito para la obtención del grado.
Sin más por el momento, reciba un cordial saludo
I C c p - Subdireccián Académica Servicios Escolares Expediente
I
, I
INTERIOR INTERNADO PALMIRA SIN. COL, PALMIRA. A.P. 5-164. CP.
62490. CUERNAVACA. MOR. - MÉXICO TELS.17771312 2314.318
7741,FAX(777] 312 2434 1
j EMAIL abaulisto~cenidet.edu.mx
-
DEDICATORIA
Dedico esta tesis a mi esposa Blanca Nelly Santos Santoy, y a
mis hijos Liliana
Sarahí y Héctor Alberto Fraire Santos, por el apoyo constante,
la paciencia enorme y
sacrificada, y el gran amor que nos une sólidamente.
A mis padres Sr. Héctor Fraire Lujan y Sra. Hilda Huacuja Graham
por enseñarme a amar y respetar a nuestros semejantes y a enfrentar
las adversidades de la vida con
renovado esfuerzo y alegría.
A mis hermanos Juan Manuel, Jorge Luis, Maria del Coral, Roberto
Arturo, Ernesto
Javier y Julio Cesar por el cariño incondicional que nos
profesamos.
A mi tío Julio Cesar Huacuja Graham (Piri) porque me ha enseñado
a tener siempre
una visión positiva de la vida presente y futura y a disfrutar
de las cosas simples y
sencillas.
A todos los miembros de las familias Fraire Lujan, Huacuja
Graham, Santos Amaya
y Santoy Jasso por sus constantes esfuerzos de conservar sólidos
los lazos
familiares.
I
i
-
~ECONOCIN IErn0.S
Mi profundo agradecimiento a los miembros del comité tutorial de
esta tesis: Dr.
Juan Frausto Solís, Dr. David Romero, Dr. José Torres Jiménez,
Dr. Cnspín Zavala Díaz y Dr. Raúl Pinto Elías. Particularmente
deseo agradecer sus valiosas
sugerencias y críticas, las cuales hicieron del proceso una
experiencia intelectual
retadora y reconfortante.
Mi sincero aprecio al Dr. Joaquín Pérez Ortega y Dr. Rodolfo
Pazos Rangel por
haber dirigido esta tesis. Agradezco la oportunidad de haber
recibido el apoyo de
dos excelentes personas y profesionales.
Reciban mi reconocimiento las instituciones educativas
participantes. Estoy en
deuda con el Centro Nacional de Investigación y Desarrollo
Tecnológico
(CENIDET), el Instituto Tecnológico de Ciudad Madero (ITCM),
Instituto
Tecnológico y de Estudios Superiores de Monterrey (ITESM) y el
Instituto de
Matemáticas de la UNAM, quienes proporcionaron todas las
facilidades necesarias
para esta investigación.
Agradezco el apoyo de las instituciones que contribuyeron a
financiar el proyecto.
Particularmente el Consejo del Sistema Nacional de Educación
Tecnológica
(COSNET), el Consejo Nacional de Ciencia y Tecnología (CONACYT),
el Consejo
Tamaulipeco de Ciencia y Tecnología (COTACYT) y la Dirección
General de Institutos Tecnológicos (DGIT).
Doy gracias a la gran familia que formamos mis compañeros y
amigos del ITCM y del CBTIS 164 por su ayuda, soporte moral y
amistad. Para ellos mi estimación.
Finalmente deseo reconocer a directivos y exdirectivos del ITCM
y de la delegación
DII-7, por su gran compromiso con la calidad y la mejora
continua en el instituto.
-
RESUMEN
En este trabajo se aborda el problema de la automatización del
diseño lógico
de una base de datos distribuida, esto es, dado un conjunto de
objetos de bases de
datos, un conjunto de sitios donde se almacenan los objetos y un
conjunto de operaciones que se realizan en los sitios; el problema
es determinar automáticamente una fragmentación de los objetos y la
ubicación posiblemente replicada de los fragmentos en los sitios,
de manera que se minimice el costo total del procesamiento
de las operaciones.
Se propone un nuevo enfoque de solución que considera que el
desempeño
del proceso de automatización es un requisito crítico de la
solución práctica del
problema. Este enfoque consiste en seleccionar, para una
instancia dada, una
transformación de compresión, un algoritmo de solución y un
modelo. La hipótesis
en que se sustenta es que, se puede comprimir la instancia dada
y usar la instancia resultante para obtener una solución de buena
calidad de la instancia original. Para
validar el enfoque se desarrollaron, una nueva versión del
modelo FURD, que
integra la fragmentación y la replicación de objetos
generalizados de bases de datos
(horizontales, verticales o mixtos), y dos transformaciones de
compresión de instancias. Se presenta evidencia experimental de
que, bajo ciertas condiciones, las
transformaciones logran reducir en un orden de magnitud el
tamaño de las instancias
grandes, con un costo mínimo en la calidad de la solución. Estos
resultados
muestran la factibilidad del enfoque propuesto bajo los
supuestos considerados.
Se aportan también, una prueba formal de que la versión
replicada del
problema del diseño de la distribución es NP-duro, un método de
control de la
varianza en experimentos con algoritmos metaheurísticos, y tres
posibles líneas para
continuar el desarrollo de esta investigación.
Todos los experimentos realizados incorporan mecanismos de
control de la varianza, con el propósito de garantizar la precisión
de las mediciones realizadas y
reducir el número de experimentos.
... 111
-
TABLA DE CONTENIDO
Página RESUMEN
................................................................................
TABLA DE CONTENIDO
.............................................................
LISTAS DE TABLAS
.........................................................................................
LISTAS DE FIGURAS ...... ... ..... . . ... . . ..... .... . . . . .
.... . ..... ....... ... ........ .. .... : ..... . .. ........
,
Capítulo
1 MTRODUCCION
.........................................................................................
1.1 Justificacion
...........................................................................................
. I
1.2 Descripción del problema de investigación.. . . . . . . . .
. . . . . . . . . . . . , . . . . , , . . . . 1.3 Objetivo de la
tesis
.................................................................................
1.4 Contexto de la investigacion
.................................................................
1.4.1 Arquitectura del sistema
............................................................ 1.4.2
Métodos heurísticos de propósito general.. .
.............................. 1.4.3 Problematica central.. .
...............................................................
1.5 Organizacion del documento
..................................................................
< .
. . ,
, .
. .,
2 PROBLEMA DEL DISENO DE LA DISTRTBUCIÓN.. ...
........................
2.1 Marco teorico
..........................................................................................
Complejidad del problema de investigación
.............................. Muestreo progresivo ... . , , . , .
. . _. . . . . . . . . . , . . . . . . .. . . . .
.................... Técnica de variables antitéticas ... . . . . .
.... . . . . . . .. . . . . . . . . . . . .........
2.2 Trabajos relacionados
..............................................................................
2.2.1 Fragmentacion
............................................................................
2.2.2 Replicacion..
........................................................... ;
_______........... 2.2.3 Ubicacion
........................................................................
2.2.4 Automatización del diseño de bases de datos
............................ 2.2.5 Muestreo progresivo. ........
......... . . ....... .. .. ..... .;.. . .. . ....... 2.2.6
Análisis experimental de algoritmos.. . . . . . . . . . . . . ... .
. . . . . . . . . . . . . . . 2.2.7 Analisis comparativo.. . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . .
. . . . . . . . ..
3 METODOLOGÍA PROPUESTA
................................................................
, .
2.1.1 2.1.2 2.1.3
., . . I
. ,
, . .
.
-
. r 3.1 Enfoque de solucion
............................................................................
3.1.1 3.1.2 Definición formal
....................................................
Descripción general del enfoque
........................................
.. 3.2 Dimension de modelos
....................................................................
3.2.1 3.2.2 3.2.3 3.2.4 3.2.5 3.2.6 3.2.1 3.2.8
. . r Descripcion del problema.,
............................................. Consideraciones sobre
la información de entrada del modelo ... Supuestos del modelo
.................................................
. . Modelo maternatico
.................................................... Costo de la
operaciones de lectura .........................................
Costo de las operaciones de escritura
....................................... - Costo de la replicación
de los objetos .......... ............................. Costo del
almacenamiento de los objetos ................................ ..
3.3 Dimension de algorimlos
.....................................................................
Reducción de la varianza en experimentos con heunsticos ......
3.3.1 3.3.1.1 Supuestos del método
............................................ 3.3.1.2 Descripción
del método .... 3.3.1.3 Ejemplo de la aplicación del método
...........................
3.4 Dimensión de transformaciones
.................................................... 3.4.1
Transformación por agrupación
....................................
3.4.1.1 Descripción de la transformación
.............................. 3.4.1.2 Ajuste de la formulación
........................................... 3.4.1.3 Algoritmo de
agrupación ........................................ 3.4.1.4
Supuestos del método ............................................
3.4.1.5 Ejemplo de la aplicación de la transformación
...............
Transformación por muestreo progresivo
............................ 3.4.2.1 Métrica de similaridad entre
muestras ............................ 3.4.2.2 Algoritmo de muestreo
progresivo ............................. 3.4.2.3 Supuestos del
método ............................................ 3.4.2.4 Ejemplo
de la aplicación de la transformación ...............
...............................
3.4.2
4 VALIDACIÓN DE LA METODOLOGÍA PROPUESTA
..........................
4.1 Plan de pruebas.,
...........................................................
V
30 30
31
32 32 34 35 36 37 39 40 40 40 41 41 41 42 44 44 46 47 41 48 49
51 51 53 55 55
62
63
.
-
............................................................ 64
4.2 Plataforma experimental 4.2.1 Módulos de la dimensión de
modelos .........................
4.2.1.1 Módulo generador de instancias aleatorias
............... 4.2.1.2 Módulo para la solución exacta del modelo
..............
4.2.2 Módulos de la dimensión de algoritmos
........................ 4.2.2.1 Módulo para la solución del
problema SAT ............. 4.2.2.2 Módulo para la solución del
problema del diseño de la
distnbucion
...................................................... Módulos de
la dimensión de transformaciones .............
4.2.3.1 Módulo de la transformación por agrupación ............
4.2.3.2 Módulo de la transformación por muestre0 progresivo
4.3 Evaluación experimental del mecanismo de replicación
incorporado al modelo
................................................... 4.3.1
Experimento: efecto de la frecuencia y la selectividad ...... 4.3.2
Experimento: efecto de la capacidad y el costo de
almacenamiento
................................................... 4.4 Evaluación
experimental del método de reducción de la
varianza
................................................................................
4.4.1 Experimento: nivel de la reducción de la varianza
...........
4.5.1 Experimento: nivel de reducción y calidad de la solución .
4.5.2
4.6 Evaluación experimental de la transformación por muestre0
progresivo .........................
.................................... 4.6.1 Experimento: nivel de la
reducción y calidad de la
solucion
............................................................
4.6.2
. . . . 4.2.3
4.5 Evaluación experimental de la transformación por agrupación
.....
Experimento: eficiencia de la transformación
................
.. Experimento: impacto del tamaño de los objetos
............
64 65 67 67 68
68 68 69 69
69 71
14
78 78 81 81 85
87
88 91
5 CONCLUSIONES Y TRABAJOS FUTUROS
........................................... 93
5.1 Conclusiones
..........................................................................................
93
96 5.2 Trabajos futuros
....................................................................................
REFERENCIAS
..................................................................................................
98
vi
-
LISTA DE TABLAS
2.1 Trabajo relacionado con la automatización del diseño de la
distribución 3.1 Elementos del modelo
..................................... .................... 3.2
Restricciones del modelo
........................................................ 3.3
Tiempos de ejecución sin reducción de la varianza
.......................... 3.4 Variables X, Y, 2 sin reducción de
la varianza ............................... 3.5 Tiempos de
ejecución con reducción de la varianza .........................
3.6 Probabilidades conjuntas de la muestra M I
.................................... 3.7 Probabilidades conjuntas
de la muestra M2 .................................... 3.8
Probabilidades conjuntas de la muestra M3
.................................... 3.9 Similaridad entre muestras
consecutivas ................... ............
3.10 Operaciones de la muestra mínima representativa (M3)
.................... 3.11 Matrices de uso y frecuencia de la
instancia transformada .................. 4.1 Parámetros del
generador de instancias aleatorias ........................... 4.2
Una instancia de referencia .......
............................................ 4.3 Instancia de
referencia para un experimento R ................................
4.4 Instancia de referencia configurada para un experimento FM
............. 4.5 Instancia de referencia configurada para un
experimento SM .............. 4.6 Resultados de un experimento R.,
.............................................. 4.7 Resultados de un
experimento FM ............... ......................... 4.8
Resultados de un experimento SM.,
............................................ 4.9 Instancia de
referencia para un experimento R ...............................
4.10 Instancia de referencia configurada para un experimento CAPM
......... 4.1 1 Instancia de referencia configurada para un
experimento CTOM ......... 4.12 Resultados de un experimento R
................................................ 4.13 Resultados de
un experimento CAPM .......................................... 4.14
Resultados de un experimento CTOM
......................................... 4.15 Caso 1 Instancias de
dos familias., ........................................... 4.16
Caso 2 Instancias de cinco familias
........................................... 4.17 Reducción de la
varianza con el Caso 1 ........................................
4.18 Reducción de la varianza con el Caso 2
........................................
29 36 38 43 43 44 57 58 58 59 60 61 66 70 71
72 72 73 14 74 75 75 76 76 71 77 79 79 80 80
vii
-
4.19 Casos para evaluar la transformación por agrupación..
..................... 82 4.20 84 4.21 Resultados de la evaluación
de la eficiencia. 86 4.22 88 4.23 4.24 Resultados del impacto del
tamaño de los objetos.
Resultados de la evaluación del nivel de la reducción y la
calidad ..........
Casos para evaluar la transformación por muestre0 progresivo..
.......... Resultados de la evaluación del nivel de la reducción y
la calidad ..........
.............................
.......................... 92
!
... VI11
-
LISTA DE FIGURAS
1.1 Problema del diseño de la distribución
................................................... 1.2
Arquitectura del sistema
.......................................................................
3.1 3.2 3.3 3.4 3.5 3.6 3 .I 3.8 3.9 3.10 4.1 4.2 4.3 4.4 4.5 4.6
4.1
Dimensiones del enfoque de solución
.......................................... Problema del diseño de
la distribución ..........................................
Transformacion de instancias
.................................................. Conversión de
F,,, i enfe y q h ................. :.
................................ Matriz de patrones de acceso Pk,
................................................
..
Algoritmo de agrupación codificada
...........................................
Matrices de uso y frecuencia de la instancia transformada
................ Algoritmo de muestre0 progresivo
.............................................
Dimensiones de una estrategia de solución
.................................... Módulos de la plataforma
experimental ....................................... Impacto de la
probabilidad de acceso sobre la calidad .........................
Impacto de la probabilidad de acceso sobre el nivel de reducción
......... Eficiencia de 10s algoritmos de agrupación.,
...................................
Impacto de la probabilidad de acceso sobre el nivel de reducción
.........
Matrices de uso y frecuencia de la instancia original
..........................
Matrices de uso y frecuencia de la instancia original
..........................
Impacto de la probabilidad de acceso sobre la calidad
.........................
4 6
31 33 45 46 46 48 49 50 54 56 62 64 84 85 87 91 91
ix
-
Capítulo 1
INTRODUCCI~N
En este capítulo se presenta un panorama general de la tesis, el
cual inicia con la
descripción de los motivos que llevaron a esta investigación y
continúa con la
definición del problema de investigación. Se presentan los
objetivos que se plantea alcanzar y el contexto de la
investigación. Se hace una breve introducción a los
algoritmos heurísticos y se termina con una descripción del
contenido de cada
capítulo de la tesis.
1.1 Justificación
La creciente popularidad del Internet y el Comercio Electrónico,
ha generado una
gran demanda de aplicaciones de bases de datos distribuidas
(BDDs) [Visinescu
20031. Estas aplicaciones son desarrolladas usando Sistemas
Administradores de
Bases de Datos Distribuidas (SABDDs). La mayona de los
manejadores de bases de
datos actualmente permiten dividir las relaciones de una base de
datos con respecto
a los atributos, las tuplas o a ambas. El número de formas
alternativas del diseño de la base de datos, crece explosivamente
con el número de atributos y de tuplas de las
tablas de la base de datos [Agrawal 2004al. Por años, la mayoría
de 10s
administradores de bases de datos, han afinado el diseño de las
bases de datos,
usando procedimientos de prueba y error. Cada iteración del
proceso puede tomar
1
-
Capítulo i INTRODUCCI~N
horas al aplicarse a las grandes bases de datos de la
actualidad, y no existe forma de
asegurar la convergencia hacia algo que pueda considerarse como
un diseño óptimo
[Zilio 20041.
Uno de los problemas que se debe resolver al diseñar una base de
datos
distribuida, es el problema del diseño de la distribución [Ceri
19831. Éste implica la
partición de las tablas o relaciones de la base de datos en un
conjunto de fragmentos
y la ubicación de dichos fragmentos en las diferentes
localidades de la red. Un
fragmento de una relación puede ser horizontal (grupo de
tuplas), vertical (grupo de
atributos) o mixto (grupo de tuplas y atributos) [Ozsu 19991. La
ubicación de los
fragmentos puede ser replicada (varias copias) o no replicada
(una sola copia). Las
operaciones de los usuarios requieren los datos contenidos en
los fragmentos. La
ubicación de los fragmentos en los sitios donde se ejecutan las
operaciones que los
requieren, debe reducir los costos de comunicación del sistema
[Ozsu 19991.
Esta tesis amplía la investigación del problema de la
automatización del
diseño de la distribución iniciada en [Pérez 19991. El problema
que se aborda es el
de la automatización del diseño de la fragmentación horizontal y
la ubicación
posiblemente replicada, de bases de datos distribuidas.
1.2 Descripción del problema de investigación El problema de la
automatización del diseño de la distribución, consiste en la
determinación automática de los esquemas de fragmentación de las
tablas de una
base de datos y de la ubicación de los fragmentos en los
diferentes sitios de la red,
de tal manera que se minimicen los costos de procesamiento de un
conjunto de operaciones dado. El concepto de objeto de bases de
datos es utilizado, para incluir
en la definición formal del problema, los diferentes tipos de
fragmentos. Un objeto
de base de datos (objeto de BD o simplemente objeto) es
cualquier entidad que requiere ser ubicada, y puede ser un
atributo, un grupo de tuplas, una relación o un
archivo. Los objetos son unidades independientes que deben ser
ubicadas en los
sitios de la red. Una definición formal del problema del diseño
de la distribución es
la siguiente: L
-
Capitulo 1 INTRODUCCI~N
Considérense un conjunto de objetos O = {o,, 02, .._, o,,}, un
conjunto de
= {s,, s2, .._, s,,}, en los que se un conjunto de OPeraciones e
= (41, q2, ..., qns], el esquema de [a ubicación
inicial de 10s objetos, 10s objetos requeridos por cada
operación, la frecuencia con
V e se emite cada operación en los diferentes sitios, la
selectividad de las
operaciones sobre 10s objetos, la capacidad de almacenamiento de
10s sitios, 10s costos de comunicación entre los sitios y el costo
de almacenamiento en los sitios,
en un período dado de tiempo. El problema consiste en determinar
un nuevo
esquema de la ubicación posiblemente replicada de los objetos
que se adapte al
nuevo patrón del USO de la base de datos y que minimice el costo
del procesamiento
de las operaciones que incluye: costos de comunicación y de
almacenamiento.
ComPutadoras 0 sitios, interconectados por una red,
La Figura 1.1 muestra un ejemplo simplificado del problema con 4
objetos, 3 sitios y 4 operaciones. Se muestran las tablas en que se
registra la frecuencia de
emisión de las operaciones y la matriz en que se registran los
objetos que son
utilizados por las operaciones. El ejemplo muestra algunos
aspectos importantes de
la versión replicada del problema que se aborda en este trabajo.
En primer término
se observa que los objetos se pueden replicar en uno o varios
sitios, por ejemplo hay
dos réplicas del objeto 02, una en el sitio uno y otra en el
dos. Otro aspecto
importante es que como resultado de la consideración de usuarios
móviles en el
sistema, la misma operación se puede emitir desde dos o mas
sitios diferentes. Tal es
el caso de la operación 3, la cual se ha emitido 5 veces en el
sitio 1 y 4 en el sitio 2.
También se pueden observar las tablas con los registros de la
frecuencia con que se
emiten las operaciones desde los sitios y la matriz de uso en la
que se registran 10s
objetos que han sido solicitados por las diferentes operaciones.
Por ejemplo, la operación 3 ha solicitado los objetos 2 y 4.
De acuerdo a la literatura revisada, los estudios del problema
de la
automatización del diseño de la distribución, basados en la
simulación del sistema
administrador de la base de datos, no toman en consideración el
impacto del tamaño
de las instancias sobre el rendimiento del proceso. En este
trabajo se considera
crítico el desarrollo de mecanismos de compresión de instancias,
para garantizar el 3
-
Capitulo i INTRODUCCI~N
rendimiento de las herramientas automáticas para el diseño de
bases de datos
distribuidas en Internet,
Objetos de BD .& sitios
a Operaciones Objetos de BD '! Figura I , 1 Problema del diseño
de la distribución
Por ejeinplo, la compañía Amazon Inc. opera una base de datos
distribuida
sobre 6 servidores, un catálogo de 10 millones de productos y
4,000 operaciones
diarias [Oracle 20051. El tamaño de las instancias que se
producen en estos escenarios, puede reducir sigiiificativainente el
desempeño de las herramientas
automáticas para el diseño de la base de datos, si no cuentan
con mecanismos de
compresión [Zilio 20041. El diseño de mecanismos de apoyo al
desempeño plantea
una serie de cuestiones. Una de las más relevantes es la
siguiente: dada una
instancia del problema j es posible someterla a una
transformación de compresión
de manera que, la instancia resultante produzca una solución
aproximada de
calidad adecuada de la instancia original? La hipótesis de este
trabajo es que la
respuesta a esta pregunta es positiva.
4
-
Capitulo 1 NTRODUCCIÓN
1.3 Objetivos de la tesis Para continuar con la investigación
del problema de la automatización del diseño de
la fragmentación horizontal y la ubicación replicada de bases de
datos distribuidas,
en esta tesis se propone alcanzar los siguientes objetivos:
a) Desarrollar un modelo matemático del problema del diseño de
la distribución que
incorpore la fragmentación y la ubicación posiblemente replicada
de objetos de
bases de datos.
b) Desarrollar métodos de compresión de instancias que permitan
incrementar, en al
menos un orden de magnitud, el tamaño de la mayor instancia
soluble de la
versión replicada del problema utilizando un modelo dado.
Para cumplir los objetivos planteados, se propone un nuevo
enfoque en el que se
considera que el desempeño del proceso de automatización es un
requisito crítico de
la solución práctica del problema.
1.4 Contexto de la investigación
En esta sección se describen la arquitectura de los sistemas que
se modelan, los
métodos heurísticos no deterministas de propósito general y la
problemática central
1.4.1 Arquitectura del sistema
En esta sección se describe la arquitectura general del sistema
que sirve de
referencia para analizar el problema de la automatización del
diseño de la
distribución. Un sistema de base de datos distribuido con
arquitectura cliente-
servidor, operando sobre Internet, tiene cuatro componentes
fundamentales:
servidores, clientes, datos y enlaces de red.
I
5
-
Capítulo 1 INTRODUCCI~N
i
I
Figural .2 Arquitectura del sistema
Los datos sólo se pueden almacenar en los servidores y pueden
ser
fragmentados y replicados. La unidad de distribución es un
fragmento de una
relación y los datos tienen una distribución inicial dada. Los
cambios en los patrones de acceso a los fragmentos, en periodos de
tiempo determinados, pueden provocar el
movimiento, creación y eliminación de sus réplicas, e incluso la
reconfiguración de los fragmentos.
Los servidores son SABDDs con toda la funcionalidad y
constituyen los
sitios donde residen los datos. Cada par de sitios tiene un
costo de comunicación
asociado, que representa la distancia entre ellos, y se supone
constante. Este es un
supuesto común en este tipo de estudios, que permite simplificar
el análisis del
problema [Visinescu 20031.
Los clientes son los sitios desde donde los usuarios realizan
sus operaciones,
las cuales son transferidas al servidor al que están conectados
mediante enlaces permanentes o intermitentes (inalámbricos). Todas
las operaciones generadas por los
clientes de un servidor, se considera que son emitidas desde el
sitio del servidor.
Los servidores se encuentran conectados a Internet mediante
enlaces de alta
velocidad. La Figura 1.2 muestra las principales características
de una arquitectura
de este tipo.
Para lograr un buen desempeño del sistema, el administrador de
la base de datos debe diseñar los esquemas de fragmentación y de
ubicación de los fragmentos,
6
-
Capitulo i INTRODUCCI~N
tratando de reducir los costos de transmisión derivados de las
operaciones de lectura,
escritura (involucrando consistencia de copias) y reunión de los
fragmentos. Un
diseño Óptimo permite minimizar el costo global de comunicación
requerido para
atender las operaciones [Ozsu 19991.
1.4-2 Métodos heurísticos no deterministas de propósito general
En la subsección 2.1.2 del Capítulo 2, se prueba que la versión
replicada del
problema del diseño de la distribución pertenece, por su
complejidad cornputacional,
a una clase especial de problemas denominados NP-duros. Para
este tipo de
problemas, actualmente no se conocen algoritmos eficientes para
resolver instancias
grandes y se tiene la sospecha de que no es posible
construirlos. En consecuencia la
solución de instancias grandes de problemas NP-duros, sólo se
puede realizar
simplificando el problema o utilizando un método de solución
aproximada [Garey 1979, Papadimitriou 19981. Los métodos
heurísticos no deterministas de propósito
general, denominados metaheurísticos [Glover 19861, son
considerados actualmente
herramientas muy prometedoras para la solución aproximada de
instancias grandes
de este tipo de problemas [Barr 2001, Michalewicz 19991.
Los metabeurísticos ofrecen soluciones “cercanas” a la solución
óptima del
problema con una inversión razonable de recursos [Glover 1986,
Feo 1995,
Michalewicz 1999, Barr 2001, Yagiura 2001, Resende 20031.
Básicamente definen
estrategias de navegación a través del espacio de soluciones que
les permiten
escapar de los óptimos locales y aproximarse al óptimo global.
Actualmente existen
una diversidad de metaheurísticos disponibles, tales como:
Algoritmos Genéticos
[Holland 1975, Goldberg 1989, Romero 1999, Pérez 20041, Recocido
Simulado
[Kirkpatrick 1983, Cemy 1985, Sanvicente 20041, Búsqueda Tabú
[Glover 1986,
Glover 19971, Aceptación por Umbral [Dueck 1990, Pérez 2000b,
Perez 20021,
Colonia de Hormigas [Dorigo 1992, Dorigo 20031, Grasp [Feo 1995,
González-
Velarde 1996, Resende 20031 y Búsqueda Dispersa [Glover
19991.
-
Capítulo i INTRODUCCI~N
En este trabajo se utiliza Aceptación por Umbral para la
solución heurística
del problema, debido a que este metaheurístico ha sido aplicado
con éxito a la
solución de instancias del problema del diseño de la
distribución [Pérez 19993.
1.4.3. Problemática central
La problemática central de este trabajo consiste en desarrollar
métodos de compresión de instancias para incrementar, en al menos
un orden de magnitud, el
tamaño de las soluciones de la versión replicada del problema
del diseño de la
distribución con un modelo dado. La posibilidad de construir una
solución práctica
del problema de la automatización del diseño de la distribución,
depende
criticamente del desarrollo de métodos que permitan resolver
instancias de mayor
tamaño con un mismo conjunto de recursos computacionales [Zilio
20041.
En la sección de trabajo relacionado se presenta evidencia de
que el
desarrollo de métodos eficientes de compresión de instancias, es
actualmente un
problema relevante y abierto. Las investigaciones del problema
de la automatización
de la distribución basadas en modelos [Pérez 1999, Johansson
2000, Huang 2001,
Visinescu 2003, Baiao 20041, proveen soluciones de aplicación
práctica limitada al
no incorporar este tipo de métodos. En contraste, en el contexto
del diseño físico de
las bases de datos se reconoce la relevancia de estos métodos,
por su impacto en el
desempeño de las herramientas automáticas de diseño [Zilio
20041. Sin embargo,
como consecuencia de la limitación de estos enfoques para
validar la calidad de las
soluciones del problema, los métodos de compresión que proponen
resultan insuficientes para incrementar el desempeño de dichas
herramientas.
,/ 1.5 Organización del documento En el Capítulo 2 se presenta
el marco teórico en el que se fundamenta el desarrollo
de los diferentes elementos de este trabajo. En primer término
se prueba que el
problema de investigación es NP-duro. Se describen los
fundamentos teóricos del
muestre0 progresivo y de la técnica de reducción de la varianza
de variables
antitéticas. Finalmente se describen y analizan los trabajos mis
relevantes X
-
.. .
capitulo i INTRODUCCI~N
relacionados con el problcma de la automatización del diseño de
la distribución.
En el Capítulo 3 se presenta el enfoque general que se propone
para la solución del problema de la automatización del diseño de la
distribución replicada
de objetos de base de datos. Para validar el enfoque se
desarrollan un modelo
matemático del problema que incorpora la fragmentación
horizontal y la replicación,
un método para el control estadístico del análisis experimental
que se realiza y dos
transformaciones para la compresión de instancias.
En el Capítulo 4 se describen los experimentos realizados y los
resultados de la validación del modelo y del método para el control
de la varianza. Finalmente se muestran los resultados de la
evaluación experimental de la eficiencia de las
transformaciones propuestas.
En el Capítulo 5 se describen las aportaciones más importantes
de esta
investigación y las líneas de investigación que se identificaron
en el proceso.
I
9
-
Capítulo 2
PROBLEMA DEL DISEÑO DE LA DISTRIBUCIÓN
En este capítulo se describe el marco teórico en que se
fundamenta este trabajo. Este
marco incluye la demostración de que la versión replicada del
problema del diseño
de la distribución es NP-dura, y el fundamento teórico de dos
técnicas estadísticas
que serán utilizadas en capítulos posteriores. Se incluye
también una sección que
contiene una descripción de los trabajos relacionados con el
problema de la
automatización del diseño de bases de datos.
2.1 Marco teórico
En esta sección se presentan algunos elementos de la teoría de
la NP-completez y se
demuestra que la versión replicada del problema del diseño de la
distribución es NP- duro. También se presenta el fundamento teórico
del muestre0 progresivo y de la técnica de reducción de la varianza
mediante variables antitéticas.
2.1.1 Complejidad del problema de investigación En esta
subsección se demuestra que la versión replicada del problema del
diseño de
la distribución es NP-dura.
10
-
Capítulo 2 PROBLEMA DEL DISENO DE LA DISTRIBUCIÓN
I
I
2.1.1.1 Conceptos preliminares
Para demostrar que el problema del diseño de la distribución
replicada de objetos es NP-duro, se utilizarán 10s siguientes
conceptos de la teoría de la NP-completez:
Problema de decisión y algoritmo. Un problema de decisión =
(0,r) es una pareja formada por un conjunto de instancias D, las
cuales se obtienen a partir
de una instancia genérica que se especifica en términos de
varios componentes:
conjuntos, funciones números, etc., y un subconjunto de
instancias-sí Y E D. Una
instancia ¿€Y, si y sólo si, la respuesta a la cuestión del
problema es sí para esa instancia. Un problema de decisión se
asocia con un lenguaje formal usando algún
mecanismo de codificación y un algoritmo con una máquina de
Turing. Un
algoritmo se dice que resuelve un problema de decisión si y sólo
si, el lenguaje
aceptado por la máquina de Turing es el subconjunto de todas las
cadenas asociadas
con las instancias-sí del problema. En las siguientes
definiciones, si no se señala otra
cosa, la palabra problema se usa como sinónimo de problema de
decisión.
Clase P. Es el conjunto de todos los problemas de decisión que
pueden ser
resueltos en tiempo polinomial por un algoritmo determinista. A
los problemas que
pertenecen a esta clase se les denomina tratables.
Problemas intratables. Son todos los problemas de decisión para
los que no
existe un algoritmo determinista de tiempo polinomial que los
resuelva, es decir, son
todos los problemas que están en P". Clase NP. La clase NP es el
conjunto de todos los problemas de decisión que
se pueden verificar en tiempo polinomial con un algoritmo no
determinista. Relación entre P y NP. Como toda máquina determinista
es un caso
particular de una máquina no determinista, se tiene entonces que
P c NP. Transformación polinomial. Se dice que un problema de
decisión X,=(DI,
Y , ) se puede transformar polinomialmente en el problema de
decisión n2=(Dz, Yz), si
y sólo si, existe una función$ DI+ D2 que satisface las
siguientes dos condiciones:
6 5 - 0 2 1 8 11
-
Capítulo 2 PROBLEMA DEL DISEÑO DE LA DISTRIBUCIÓN
1. fes computable con un algoritmo determinista de tiempo
polinomial.
2. Para toda instancia i~ Y,, si y sólo si,j(i)E Y2. En tal caso
se dice que XI s p n2.
Problemas NP-completos y NP-duros. Un problema n es NP-complete
si y
sólo Si, XENp Y V$ENp, $ Ip X. Al conjunto de todos los
problemas NP-completos se les denota por NPC. Un problema de
optimización se dice que es NP-duro, si y
sólo si, su versión de decisión es NP-completo. Para probar que
XENPC, es
suficiente y necesario probar que XENP y que existe x*ENPC tal
que n* íp n. Una
propiedad importante de los problemas NP-completos es que si ~ E
N P C , entonces
TIEP, si y sólo si, P = NP.
Para probar que un problema es intratable, se tiene que probar
que no existe
ningún algoritmo determinista de tiempo polinomial que lo
resuelva o que todo
algoritmo determinista que lo resuelva es de tiempo no
polinomial. Probar
cualquiera de estas proposiciones no es simple, ya que están
cuantificadas
universalmente. Si después de múltiples intentos de resolver un
problema con
algoritmos detemiinistas, se tiene la sospecha de que es
intratablc y no se puede
construir una prueba de su intratabilidad, (,qué se puede hacer
en tal situación?
La teoría de la NP-completez ofrece una alternativa: los
problemas NP-
completos tienen la propiedad de que basta resolver con un
algoritmo determinista
de tiempo polinomial sólo uno de ellos, para probar que P = NP.
Por lo tanto, si se determina un algoritmo determinista de tiempo
polinomial que resuelva un problema
NP-completo, esto es suficiente para resolver una conjetura que
los más importantes
científicos de la computación no han podido resolver [Cook 2000,
CMI 20051. Esto,
si bien no prueba que un problema NP-completo es intratable,
indica que su solución, con un algoritmo exacto de tiempo
polinomial, es tan difícil como resolver
la conjetura señalada. Por lo tanto, la respuesta a la cuestión
planteada es: probar que
el problema es NP-completo, y así justificar la posibilidad de
resolver una versión
simplificada del problema con un método exacto o utilizar un
método aproximado
12
-
Capítulo 2 PROBLEMA DEL DISEÑO DE LA DISTRIBUCIÓN
i
para resolver el problema original [Carey 19871. Mayores
detalles sobre estos
ConcePtos se pueden encontrar en [Carey 1979, Sipser 1996,
Papadimihlou 1998, Cormen 2001].
La demostración que se va a realizar consiste en probar primero
que un
subproblema de la versión de decisión del problema del diseño de
la distribución
replicada de objetos está en la clase NP. Una vez establecido lo
anterior, se probará
que es posible reducir polinomialmente el Problema de la
Distribución de Objetos en
Contenedores (Bin-packing) [Garey 1979, Papadimitriou 19991 a
dicho suproblema.
Esto es suficiente para probar que el subproblema es NP-completo
[Carey 1979,
Papadimitriou 19991. Luego por restricción, la versión de
decisión del problema de
optimización es NP-completo y por tanto el problema es NP-duro
[Garey 19791. Antes de presentar la prueba detallada se introducen
algunas definiciones y notaciones que serán utilizadas en el
desarrollo de la misma.
2.1.1.2 Problema de la distribución de objetos en
contenedores.
Al Problema de la Distribución de Objetos en Contenedores (Bin
packing) se le
denotará de manera simplificada por PDOC (y a su versión de
decisión PDOCd).
PDOC es un problema clásico de optimización combinatoria,
NP-duro, en el cual
hay una secuencia de n objetos O = {a,, a*, ..., a,}, cada
objeto con un tamaño dado (al) tal que O < (ai) I c, y un número
ilimitado de contenedores, cada uno de capacidad c. El objetivo es
determinar el menor número de contenedores rn en los
cuales todos los objetos puedan ser distribuidos, sin rebasar
sus capacidades [Carey
1979, Papadimitriou 19991. Problema PDOC+ El problema de
decisión asociado al Problema de la
Distribución de Objetos en Contenedores [Carey 19791, se formula
de la manera
siguiente:
Instancia: Dados un número ilimitado de contenedores C = {cl,
c2, ...} , cada uno de capacidad c y un conjunto de objetos O =
{a,, a*, ..., a,}, cada uno con un tamaño (ai) tales que O <
t(ai) 5 c. Pregunta: Dado un entero rn, Les posible construir una
partición
13
-
Capítulo 2 PROBLEMA DEL DISENO DE LA DISTNBUCIÓN
I
t
BI, B2, -.> Bm, de 10s objetos, tal que O = B , u B~ U ..., U
B,, y B~ n B ~ = 4 para i+j, de manera que se cumpla ia restricción
c t(a,) 5 c vj, 1 5 j 5 112 ?
*$B,
2.1.1.3 Versión replicada del problema del diseño de la
distribución
A la versión replicada del problema del diseño de la
distribución de objetos se le denotará por PDR (y a su versión de
decisión PD&) [Pérez 2003al. Una definición
formalizada de PDR es la siguiente:
Considérense un conjunto de objetos O = {o,, 02, ..., o,,}, un
conjunto de sitios, S= {SI, sh ..., sW}, donde se ejecutan las
operaciones Q = {q,, q2, ..., qnp}, la ubicación inicial de los
objetos, los objetos requeridos por cada operación, la frecuencia
con
que se emite cada operación en los diferentes sitios, la
selectividad de las operaciones sobre los objetos, la capacidad de
almacenamiento de cada sitio, los
costos de comunicación entre los sitios y el costo de
almacenamiento en los sitios,
en un período dado de tiempo. El problema consiste en determinar
la ubicación
posiblemente replicada de los objetos, que minimice el costo
total del procesamiento
de las operaciones.
Problema PDR,,. El problema de decisión asociado [Garey 19791
al
Problema del Diseño de la Distribución, se formula de la manera
siguiente:
Instancia: Sean un conjunto de objetos O = {o,, 02, ..., o,,},
un conjunto de sitios, S - {s,, s2, ..., s",~} cada uno con una
capacidad ci, en los que se ejecutan un conjunto de operaciones Q =
{q,, q2, ..., qns}, que utilizan uno o varios objetos y pueden
emitirse desde cualquiera de los sitios.
Pregunta: Para un costo dado K, ¿existe una asignación de los
objetos a los sitios tal manera que, se repliquen los objetos en
uno o varios sitios, no se rebase la capacidad
de los sitios y que el costo de procesar todas las operaciones
sea menor que K?
-
Subproblema NR Sea NR el subproblema que se obtiene de P D k ,
si no se realizan operaciones en los sitios, todos los sitios
tienen la misma capacidad y sólo se permite una réplica. El
subproblema NR se formula de la manera siguiente:
instancia: Sean los objetos 0 = {o,, 02, ..., o,,} y los sitios,
S = {si, s t ..., s,,} cada uno con capacidad c, en los que no se
ejecutan operaciones (Q = 4.
14
-
Capitulo 2 PROBLEMA DEL DISENO DE LA DISTRIBUCIÓN
Pregunta: Para un costo dado I% ¿existe una asignación de 10s
objetos a 10s sitios tal que: se repliquen 10s objetos en un SO10
sitio, no se exceda la capacidad de los sitios Y el costo de
procesar todas las operaciones sea menor que K?
Como la asignación es sin repiicación, involucra a todos 10s
objetos y la
restricción relativa ai costo es irrelevante, el subproblema NR
se puede reformular de la manera siguiente:
Instancia: Sean un conjunto de objetos O = {o1, 02, ..., ano}
cada uno de tamaño t(o,) y un conjunto de sitios, S= {SI, s2. ...,
sm} cada uno con capacidad c. Pregunta: ¿Es posible construir una
partición de los objetos BI, B2, ..., B,,, de tal manera que O = B1
u B2 u ..., u B,,, y B, n B, = 4 para i#J, y que se cumpla la
restricción 1 t ( ~ , ) < c Vj, 1 I j I ns ?
o@,
2.1.1.4 PDR es NP-duro Como se señaló anteriormente, para probar
que PDR es NP-duro, basta probar que
NR es NP-completo [Garey 1979, Papadimitriou 19991. Para probar
que NR es NP-
completo, se debe probar que está en NP y luego que es al menos
tan duro como
PDOCd [Garey 1979, Papadimitriou 19991. Como PDOCd es
NP-completo, esto es
suficiente para establecer que NR es NP-completo.
NR está en NP. Para probar que NR está en NP, se debe construir
una
máquina no determinista, que genere aleatoriamente una solución
candidata en
tiempo polinomial y valide en forma determinista su factibilidad
también en tiempo
polinomial [Garey 1979, Papadimitriou 19991.
Una solución candidata de NR es cualquier asignación de los
objetos a 10s sitios. Si n=max{no,ns}, la asignación aleatoria de
un objeto a uno de los sitios se
puede realizar en a lo más n operaciones, por lo tanto la
asignación candidata se
puede generar aleatoriamente en a lo más n2 pasos. Una vez
generada la asignación, la verificación de la restricción de
capacidad
para cada sitio se puede realizar en a lo más n pasos. Por lo
tanto, la verificación para todos los sitios se puede realizar en a
lo más n2 pasos.
Como la complejidad del algoritmo aleatorio que genera la
solución y la I 1
1
15
-
!
CaPiklo 2 PROBLEMA DEL DISENO DE LA DISTMBUCI(IN
verifica es o(nZ), se concluye que NR está en NP. PDoCd 5 P NR
Para probar que PDOCd 5 p NR se debe conshi r una
correspondencia entre las instancias de ambos problemas, de tal
modo que la
correspondencia y SU inversa se puedan realizar en forma
determinista en tiempo Polinomial [Garey 1979, Papadimitriou
19991.
Para establecer la correspondencia entre dos instancias de NR y
PDOCd,
ambas instancias deben tener el mismo número de objetos no y el
parámetro m de
PDOCd, se debe tomar igual al número de sitios ns de NR. Para
transformar las
instancias entre PDOCd, y NR se define la correspondencia de la
manera siguiente:
a) El objeto oi de NR se asocia con el objeto ai de PDOCd.
b) El sitio si de NR se asocia con el contenedor ci de PDOCd. Si
n=max{no,ns}, ambas transformaciones se pueden realizar en a lo más
n
pasos cada una. Por lo tanto la complejidad de la transformación
es O@). La
transformación inversa se define de manera similar y su
complejidad es también
O(n). Por lo tanto, la correspondencia cumple las condiciones
establecidas. Una vez definida la correspondencia, para completar
la prueba se debe probar
que una instancia de PDOCd es una instancia-sí, si y sólo si la
instancia correspondiente es una instancia-sí de NR [Garey 1979,
Papadimitriou 19991. Una
instancia-sí de un problema de decisión es una instancia para la
cual la respuesta a la
cuestión del problema es sí [Garey 1979, Papadimitriou
19991.
Para completar la demostración se debe probar que a toda
instancia-sí de NR
le corresponde una instancia-sí de PDOCd, e inversamente.
Primero se prueba que a toda instancia-sí de NR, le corresponde
una
instancia-sí.de PDOCd . Una instancia-sí de NR, define una
partición B I U Bz LJ ..., U B,,, Bi n
-.
Bj=# para i# j de los objetos o; en lossitios si, tal que C t
(oi) I c v, 1 c j sns. O(EB,
Al aplicar la transformación se tiene ahora una partición BI U
B2 U ..., u B,, ,
B; .n Bj =# para i# j de los objetos ai en los contenedores ci,
tal que
I
16
http://instancia-s�.de
-
Capítulo 2 PROBLEMA DEL DISENO DE LA DISTRIBUCIÓN
C t (a,) I c Y;, 1 I j m. Por lo tanto, la instancia
correspondiente a la instancia ,lidj
de NR es una instancia-sí de PDOCd.
La correspondencia entre las instancias4 de PDOCd y NR, se
establece de
manera similar. Por lo tanto, se concluye que PDOCd S p NR.
Como se señaló, una vez probado que NR es NP-completo, se
concluye que
PDR (la versión replicada del problema del diseño de la
distribución) es un
problema NP-duro.
2.1.1.5 Otra manera de realizar la prueba
Otra forma de probar que PDR es NP-duro, consiste en aprovechar
el hecho
de que NR caracteriza un subconjunto de sí-instancias no
replicadas del problema de
la versión de decisión de PDR. Si se establece una
correspondencia directa (similar a
la usada en la prueba) entre los objetos, sitios y operaciones
de NR y los de la
versión no replicada del problema y se establece una cota K para
el costo del
procesamiento de las operaciones, esta transformación permite en
tiempo polinomial
convertir cada instancia=sí del problema no replicado en una
instancia-sí de NR e
inversaniente. Los detalles de esta prueba son muy similares a
los de la prueba
realizada anteriormente. Dado que la versión no replicada es un
problema NP-duro
[Pérez 2000a], se concluye entonces que PDR es NP-duro.
2.1.2 Muestre0 progresivo
AI diseñar un proceso de muestreo aleatorio, se debe determinar
el tamaño mas
adecuado de las muestras, para garantizar la confiabilidad de
los parametros
estimados de la población [Ross 19991. Cuando se tiene poco
conocimiento de la
distribución de la población, se tiende inicialmente a trabajar
con muestras de tamaño grande y a medida que se tiene información
se reducen los tamaños de las
muestras [Stamatopoulos 19991. El muestreo progresivo es una
alternativa de
solución a este problema. En esta sección se describe la teoría
del muestreo
progresivo [Stamatopoulos 19991.
17
-
t
Capitulo 2 PROBLEMA DEL DISENO DE LA DISTRIBUCIÓN
2.1.2.1 Definición de exactitud
Sean y,,, ymnr y ,d los valores mínimo, máximo y medio de una
población finita
e@,, y2, ..., y ~ } , M = &, yk2, ..., y h } una muestra
aieatoria extraída sin reemplazo de P, cuya media es m*, y R =y,,
-ymi,, el rango de los valores de P.
La exactitud A* de la muestra M es el índice de la proximidad
relativa entre la media de P y la media de M, y está dado por:
Generalmente el rango no se conoce, pero esto no afecta el
estudio de exactitud, porque la población original se puede
normalizar usando
la la
y; - y mi" R
transformación z: P+[O,l], definida como zi = z(yi) =
p, de la población normalizada PN= { z , , z2, ..., z ~ } , está
dada por:
. En tal caso la media
Si zkl, zk2, ..., zkn , son los valores correspondientes bajo la
transformación a los valores de la muestra M, entonces la media de
los valores normalizados m está
dada por:
La exactitud A de la muestra normalizada (con R=l) está dada
por:
Sustituyendo (2.2) y (2.3) en (2.4), se tiene que:
t
Esto significa que la exactitud de una muestra de la población
es igual a la
exactitud de la muestra correspondiente de la población
normalizada.
2.1.2.2 Definición de muestreo progresivo
Dada una población normalizada de tamaño N y media ,u, el
muestreo progresivo es
18
-
Capitulo 2 PROBLEMA DEL DISENO DE LA DISTRIBUCIÓN
proceso que consiste en obtener una secuencia de N muestras
aleatorias
independientes de tamaño n, donde n = k,,, b + l , k,,+2, . . .,
N. EI valor de k,, se adapta Para que la muestra inicial tenga un
significado razonable; por ejemplo, no es
conveniente sea cero Ya que no tiene sentido considerar una
muestra de este
tamaño. La media rn de cada muestra estima la media de la
población con el nivel de
exactitud A = 1 - Im -PI. Si se extrae una muestra de tamaño N,
su exactitud es 1. Para muestras de
menor tamaño, A toma valores entre O y 1. Detalles adicionales
de este desarrollo
pueden ser revisados en [Stamatopoulos 19991.
2.1.3 Técnica de variables antitéticas
Cuando se trabaja con algoritmos aleatorios se deben aplicar
técnicas de reducción
de la varianza para asegurar la calidad de los resultados
experimentales y la solidez
de las conclusiones [Barr 2001, Johnson 2002, Mageoch 2002,
Moret 20021. En esta
sección se describe la técnica de reducción de la varianza de
variables antitéticas
[Ross 19991.
2.1.3.1 Técnicas de reducción de la varianza
Uno de los objetivos de un estudio de simulación es determinar
un parámetro 8,
asociado con algún modelo aleatorio. Para estimar 8, el modelo
se simula para
obtener el dato de salida X tal que 6=E[XJ. Se realizan varias
ejecuciones de la simulación, en las que la i-ésima ejecución
produce la salida X. El estudio concluye después de n ejecuciones y
la estimación de 8 está dada por XM = Ci X./n y SU
varianza por E[(XM- O)*] = Var (XM) = Var(X)/n [Ross 19991. Si
es posible obtener otra estimación de 8 con menor varianza que XM,
se tendria un estimador cuya
determinación requeriría un menor número de experimentos
[MaGeoch 19921.
2.1.3.2 Técnica de variables antitéticas
Sean X y Y variables aleatorias con la misma distribución, tales
que 8 = E[X] = E [ q . Entonces E[(X+Y)/2] = 8, por lo que Z =
(X+Y)/2 es un estimador de 8. Además como: Var(Z) = Var((X+Y)/2) =
% [Var(X) + Var(Y) + 2 Cov(X,y)], se observa que la varianza del
estimador Z se reduce si Cov(X,r) < O [ROSS 19991.
19
-
Capitulo 2 PROBLEMA DEL DISENO DE LA DISTRIBUCIÓN
Para lograr que X e Y estén correlacionadas negativamente, lo
que se puede
hacer es utilizar un generador uniforme de números aleatorios U,
para asignar
números complementarios a ambas variables (A' = U e Y = l-ü).
Detalles
adicionales de este desarrollo pueden ser revisados en [Ross
19991.
2.2 Trabajos relacionados
2.2.1 Fragmentación
La fragmentación es el proceso de dividir las relaciones de la
base de datos en
subrelaciones. El propósito del proceso es colocar en un mismo
fragmento los datos
que son requeridos juntos por varias aplicaciones [Ceri 1984,
Ozsu 19991.
2.2.1.1 Fragmentación vertical
En la fragmentación vertical, la relación se divide
proyectándola sobre algunos de
sus atributos. Cada fragmento está constituido por un conjunto
de atributos, entre los
que se incluye la llave primaria. La llave primaria es utilizada
para reconstruir la
relación mediante la operación de reunión aplicada a los
fragmentos [Ozsu 19991.
2.2.1.2 Fragmentación horizontal
En la fragmentación horizontal, la relación se divide en grupos
de tuplas. Las tuplas
que cumplen una condición dada son integradas al mismo fragmento
[Ozsu 19991.
La fragmentación horizontal reduce el acceso a disco requerido
para ejecutar una
operación, minimiza el número de objetos recuperados que no son
requeridos por
una operación, y permite un alto grado de paralelismo en la
ejecución de las operaciones [Baiao 20001.
2.2.1.3 Fragmentación mixta
La fragmentación mixta divide las relaciones formando grupos que
incluyen varios
atributos y varias tuplas. Este tipo de fragmentación se puede
realizar proyectando la
relación y luego seleccionando las tuplas o de manera inversa
[Ozsu 19991. 2.2.2 Replicación La replicación consiste en colocar
copias de un mismo objeto en diferentes sitios.
Las razones más importantes para replicar los datos son:
asegurar un alto nivel de
20
-
capihh 2 PROBLEMA DEL DISENO DE LA DISTRIBUCI~N
disponibilidad, mejorar la tolerancia contra fallas del sistema
y mejorar su
rendimiento. En sistemas críticos la disponibilidad de los datos
es un requisito de
alta prioridad. Si un servidor falla, se puede recuperar el dato
de otro servidor [Ozsu
1999, Tanenbaum 20021. La tolerancia a fallas tiene que ver con
el problema de
garantizar la consistencia de los datos después de que ocurre
una falla. La mejora en
el rendimiento se logra ubicando copias de los datos lo más
cerca de sus usuarios
[Johansson 20001. Actualmente las compañías de administración de
servicios de
Web más importantes, utilizan esquemas de replicación total con
este propósito
[Akamai 2005, Mirror 2005, Sinocdn 20051.
2.2.3 Ubicación
El problema de la ubicación de los datos consiste en determinar
la mejor ubicación de los fragmentos, considerando un conjunto de
restricciones dadas. Para la
formulación de un modelo del problema se requiere definir qué
factor se va a
optimizar. Algunos factores utilizados en el análisis del
problema son: el espacio de
almacenamiento, el ancho de banda requerido, el número de
réplicas, y/o el costo
total de comunicación [Agrawal2004a].
La ubicación de los datos se puede realizar usando tres
estrategias: no
replicada, parcialmente replicada y totalmente replicada [Ozsu
19991. Cuando se usa
la ubicación parcialmente replicada, el número de réplicas de
cada objeto depende
del patrón de uso de los datos por las aplicaciones. Para bases
de datos distribuidas
en Internet, ésta es la estrategia más adecuada [Visinescu
20031.
2.2.4 Automatización del diseño de bases de datos
Existen dos tipos de estudios del problema de la automatización
del diseño de bases
de datos. Los trabajos tradicionales se basan en un modelo del
manejador de bases
de datos [Ceri 19831. Trabajos muy recientes realizan el estudio
en el contexto de la
implementación de herramientas para el diseño automático de la
base de datos que
interactúan directamente con el manejador de bases de datos
[Agrawal 2004b, Zilio
20041. En esta sección se describen los trabajos
simulación y basados en aplicaciones reales.
más relevantes basados en
-
Capítulo 2 PROBLEMA DEL DISEÑO DE LA DISTHBUCI&,I
2.2.4.1. Estudios basados en modelación
Ceri, Wied~ho ld Y Navathe, realizanron los primeros estudios de
este tipo [ceri I9839 19841. SU enfoque de solución divide el
problema en dos fases senadas:
fragmentación Y ubicación. La idea central del enfoque serial es
que esto permite
trabajar con instancias menos duras que las generadas con un
enfoque integral, Sin embargo el enfoque serial no considera que
muchas de las entradas de ambos
procesos son las mismas [Ozsu 19991. En [Pérez 19991 se saca
ventaja de este hecho
y se demuestra que un enfoque integral es mucho más adecuado que
el serial. A
continuación se describen algunos de los estudios de simulación
más recientes y
relacionados con el problema.
Como se señaló, Pérez Ortega propone usar un enfoque integral
para la
solución de la versión no replicada del problema. Desarrolla un
modelo de
programación lineal entera, al que denomina FURD [Pérez 19991,
en el que integra
la fragmentación vertical y la ubicación no replicada de los
fragmentos. La función
objetivo del modelo incorpora costos de las operaciones de
lectura, costos de
reunión de fragmentos, costos de migración y costos de
almacenamiento. Reporta la
solución de instancias de hasta 500 atributos, 500 sitios y 500
operaciones,
superando significativamente los resultados reportados con el
enfoque serial. Prueba
que esta versión es un problema NP-duro y propone una solución
heurística usando
Aceptación por Umbral [Pérez 2000a, Pérez 2000bl. En [Pérez
20021 propone un
método en línea para configurar los parámetros de control de un
algoritmo de
Aceptación por Umbral. En [Pérez 2003a, 2003bl reporta varias
ampliaciones
realizadas al modelo, entre las que incluye una versión
replicada del problema, Y reporta la solución de instancias
replicadas de hasta 100 atributos, 100 sitios y 100
operaciones. Esta disminución, en el tamaño de la mayor
instancia soluble, muestra
que es más difícil resolver las instancias de la versión
replicada que las de la no
replicada. En [Pérez 2003~1 reporta una solución del problema
usando redes
neuronales. En [Pérez 20041 presenta un mecanismo para ajustar
automáticamente
los parámetros de control de un algoritmo genético de solución
del problema del
diseño de la distribución. Este trabajo de tesis se desarrolla
en el contexto de las 22
-
Capitulo 2 PROBLEMA DEL DISENO DE LA DISTRIBUCIÓN
investigaciones de Pérez Ortega.
Johansson aborda el problema de la ubicación replicada de datos
para un
sistema de base de datos distribuida en una red de alta
velocidad [Johansson 20001.
Propone un modelo del tiempo de latencia de la red, para
incorporarlo como uno de 10s componentes del tiempo de respuesta
del sistema. Formula un modelo, con
parametros realistas, para optimizar el tiempo de respuesta de
un sistema distribuido
de transacciones paralelas que operan sobre datos replicados.
Reporta una simulación para evaluar el nivel de la reducción que se
obtiene con transacciones
paralelas, con una instancia de 1 dato, 3 sitios y una
operación. Caracteriza un
escenario posible con una docena de sitios, cientos de tablas y
miles de operaciones. Huang aborda el problema de la ubicación
replicada de fragmentos en una red
amplia [Huang 20011. Propone un modelo que incorpora los costos
de recuperación
de los fragmentos, el costo de operaciones de lectura y de
escritura y el costo del
protocolo de conexión; y dos soluciones heurísticas de propósito
específico. Reporta
la solución de instancias aleatorias de 3 fragmentos, 4 sitios y
3 operaciones y de 5
fragmentos, 4 sitios y 3 operaciones. Compara sus resultados con
los de [Lin 19951. I Tamer Ozsu aborda el problema de la ubicación
dinámica de fragmentos
replicados, en ambientes de Internet [Visinescu 20031. Propone
un modelo que
simula un sistema físico y una heurística para su solución. El
modelo minimiza el costo total del procesamiento de las
operaciones, considerando el costo de la
recuperación, de la reunión y de la migración de los fragmentos.
Considera un máximo de 4 réplicas, y los parámetros del modelo
permiten especificar instancias
que simulan cargas típicas de Internet. Una aportación
importante de este trabajo es
que señala que las instancias típicas de Internet, muestran un
acceso disperso a los
sitios y los datos. En el simulador que utiliza, se pueden
configurar instancias de hasta 100 fragmentos, 1000 sitios y 50,000
operaciones.
Baiao propone una metodología para la fragmentación de bases de
datos
distribuidas [Baiao 20041. La metodología incluye técnicas para
generar fragmentos
horizontales, verticales y mixtos. Evalúa los esquemas de
fragmentación que se producen, considerando el nivel de
concurrencia en la ejecución de las Operaciones.
23
-
Capitulo 2 PROBLEMA DEL DISENO DE LA DISTRIBUCIÓN
La calidad de las soluciones que se producen con el enfoque de
simulación,
depende de la fidelidad con que el modelo simule los procesos
del manejador y depende también de la configuración realista de los
parámetros. Tiene la ventaja de
que permite aplicar criterios formales de optimalidad.
2.2.4.2 Estudios basados en aplicaciones industriales En estos
estudios se usa el procesador de operaciones del sistema para
evaluar el
costo de las alternativas de diseño [Agrawal 2004b, Zilio 20041.
Estos trabajos
surgen como consecuencia de la estrategia, para desarrollar
software autonómico,
auto administrable y auto configurable, de las compañías
desarrolladoras de SABDDs [Autonomic 20001. Realizan contribuciones
importantes al estudio del
problema de la automatización del diseño de bases de datos,
tales como la
caracterización de nuevos objetos (tablas multidimensionales) y
evaluaciones con
pruebas estándar [TPC 20051. A continuación se describen algunos
de los estudios
basados en aplicaciones industriales más recientes.
Papadomanolakis aborda el problema de la fragmentación de una
base de
datos de escala muy grande [Papadomanolakis 20041. Presenta un
algoritmo
denominado Autopart, que automáticamente genera el esquema de la
fragmentación
física de la base de datos, para una carga representativa de
transacciones. Presenta
resultados experimentales con una base de datos astronómicos
reales, implementada
en SQL Server 2000. Los objetos de la base de datos que se
fragmentan son tablas e índices.
Agrawal reporta una herramienta automática para el diseño físico
de una base
de datos [Agrawal 2004bl. Dada una carga de operaciones,
determina
automáticamente los esquemas de fragmentación y ubicación
física, y una fragmentación de la base de datos lógica. Actualmente
sólo realiza el diseño de un
nodo y están considerando extenderlo a múltiples nodos.
Presentan resultados
experimentales, sobre SQL Server, realizados a partir de pruebas
estándar [TPC
20051.
24
-
Capítulo 2 PROBLEMA DEL DISEÑO DE LA DISTRIBUCIÓN
Z i h repofla una herramienta automática para el diseño de la
distribución
física, sobre múltiples servidores, de índices, vistas
materializadas y tablas multidimensionales, para una carga de
operaciones dada. La herramienta incorpora
un módulo independiente para la compresión de la carga, con el
propósito de
incrementar su escalabilidad. Como el método de agrupación que
utilizan es de baja
eficiencia, sólo lo aplican a la compresión de una fracción de
la carga definida por el
usuario [Chaudhuri 20021. Para evaluar la calidad de los diseños
utilizan la base de
datos universal de DB2 y pruebas estándar [TPC 20051.
La principal ventaja de estos enfoques es que operan
directamente sobre el
manejador de bases de datos, evitando los problemas derivados de
la simulación del
sistema. Su principal limitación es que, como no pueden aplicar
técnicas de
optimización, la evaluación de la calidad de la solución sólo se
puede realizar
mediante pmebas comparativas. Un aspecto relevante del trabajo
de Zilio es que,
identifica el tamaño de la carga como un factor clave que afecta
el rendimiento de
las herramientas para el diseño automático de las bases de
datos.
2.2.5 Muestre0 progresivo
El muestreo aleatorio permite extraer información de grandes
volúmenes de datos,
examinando únicamente una pequeña parte de ellos [Ross 19991. En
aplicaciones
computacionales, es una alternativa para minimizar el consumo de
recursos
requeridos para procesar un gran volumen de datos [Provost
19991. Sin embargo,
para aplicar esta técnica se requiere estimar el tamaño de la
muestra más adecuado
para asegurar la eficiencia del proceso [Stamatopoulos 19991. El
muestreo
progresivo propone examinar progresivamente muestras aleatorias
de tamaño
creciente para evitar el problema [Stamatopoulos 1999, Provost
19991. A
continuación se describen las investigaciones más relevantes
relativas ai muestreo
progresivo.
Eldar reporta una aplicación de muestreo progresivo en el
contexto de la
transmisión de imágenes digitales [Eldar 19971. Propone la
transmisión de muestras
25
-
Capítulo 2 PROBLEMA DEL DISENO DE LA DISTRIBUCIÓN
aleatorias de tamaño creciente, extraídas de la imagen original,
hasta lograr un nivel adecuado de definición de la imagen
transmitida.
Stamatopoulos fundamenta estadísticamente el enfoque de
muestreo
progresivo considerando poblaciones finitas y muestras
aleatorias independientes
extraídas sin reemplazo [Stamatopoulos 19991. El método
propuesto se basa en la
definición de un índice de proximidad entre las medias de las
muestras y la media de
la población.
Provost propone un modelo de aprendizaje automático basado en el
enfoque
de muestreo progresivo [Provost 19991. Prueba que los programas
geométricos de
muestreo son más eficientes que los aritméticos y analiza varias
alternativas para la
detección de la convergencia. Parthasarthy aplica el modelo
propuesto por Provost al
problema de la identificación de reglas de asociación
[Parthasarathy 20021. Baoua,
con base en el modelo propuesto por Provost, aborda el problema
de determinar el
tamaño de la muestra inicial de los programas de muestreo [Baoua
20011.
En el estudio del muestreo progresivo existen aún muchas
preguntas abiertas,
relacionadas con la eficiencia de los programas de muestreo,
criterios de convergencia y el tamaño de la muestra inicial.
2.2.6 Análisis experimental de algoritmos
El estudio del problema de la automatización del diseño de bases
de datos que se
realiza en esta tesis, incorpora entre sus actividades el
desarrollo de un modelo
matemático del problema, de métodos para la compresión de las
instancias y la
evaluación experimental del modelo y los métodos. Los procesos
de evaluación consisten básicamente en el análisis experimental del
desempeño de algoritmos
exactos y heurísticos, en la solución de diferentes casos de
prueba. Para realizar el
estudio experimental del problema, se consideró conveniente
revisar el estado del arte del análisis experimental de algoritmos
para determinar los requisitos fundamentales de un estudio de este
tipo. En esta sección se presenta un resumen de los trabajos más
relevantes que se revisaron.
26
-
capitulo 2 PROBLEMA DEL DISENO DE LA DISTNBUCI~N
Barr Y Johnson %fialan que la efectividad de una metodología se
puede probar mediante análisis teórico o con pruebas experimentales
[Barn 2001, johnson
20021. Señalan también que el análisis teórico resulta muchas
veces limitado para
analizar el desempeño de los algoritmos en aplicaciones reales.
El enfoque del peor caso tiende a producir cotas demasiados
pesimistas, y no provee información del
desempeño de los algoritmos sobre instancias específicas
[McGeoch 19921. El
enfoque del caso promedio requiere la determinación de un modelo
adecuado de la
distribución de los datos asociados a las instancias utilizadas,
lo que muchas veces
resulta dificil de realizar [McGeoch 19921.
Johnson señala que en los últimos años la comunidad de los
analistas teóricos
ha mostrado un creciente interés en el análisis experimental de
algoritmos. Dicho
interés se debe al reconocimiento de que el análisis teórico es
insuficiente para
analizar el rendimiento de los algoritmos del mundo real
[Johnson 20021.
Johnson, Barr, McGeoch y Moret proponen una serie de principios,
para el
diseño de experimentos computacionales que permiten producir
conocimiento
científico relevante [Barr 2001, McGeoch 2002, Johnson 2002,
Moret 20021.
Señalan que el análisis experimental de algoritmos debe incluir
experimentos
relevantes, vinculados con la literatura, que se puedan
reproducir y comparar con los
realizados en otras investigaciones, y que utilicen
implementaciones razonablemente
eficientes y casos de prueba estándar. Para asegurar la solidez
de las conclusiones
recomiendan la incorporación de técnicas de reducción de la
varianza, en los experimentos computacionales.
Pawlikowsky señala que a pesar de que existen varias técnicas de
reducción
de la varianza, estudiadas teóricamente desde los inicios de la
simulación digital, la mayoría se ha utilizado en un número
limitado de aplicaciones prácticas
[Pawlikowsky 19901.
~
McGeoch señala que un objetivo común en los experimentos
computacionales es estimar una cantidad determinada, promediando
los resultados
de un número dado de corridas de un algoritmo, y que el rango de
variación de los resultados determina la confiabilidad de la
estimación [McGeoch 19921. Establece
I 21
-
~. . . . .
Capítulo 2 PROBLEMA DEL DISEÑO DE LA DISTRIBUCI6N
i
que en el análisis expenmental de algoritmos existen muchas
áreas de aplicación de
técnicas de reducción de la varianza, debido a que los
algoritmos son más simples Y
tienen una definición más precisa que la mayoría de los
problemas de simulación.
Actualmente existe un gran número de estudios experimentales
reportados,
pero muy pocos incorporan mecanismos para el control de la
varianza de sus
resultados [Johnson 20021. Por otra parte, el uso de técnicas de
reducción de la
varianza en experimentos con algoritmos heurísticos sólo es
reportado en [McGeoch
1992, McGeoch 20021. Una limitación importante de los enfoques
de estos trabajos,
es que dependen del problema, lo cual limita su aplicación a
otros problemas.
2.2.7 Análisis comparativo La Tabla 2.1 describe las
características más relevantes de los trabajos relacionados
con el problema de la automatización del diseño de bases de
datos. La columna 2
indica si se considera la formación de los fragmentos o
únicamente su ubicación. La columna 3 indica si la ubicación de los
fragmentos se realiza en forma replicada. En
la columna 4 se indica si el enfoque utilizado permite el uso de
criterios formales de optimalidad. La columna 5 se usa para indicar
si se consideran mecanismos de
compresión de las instancias. La columna 6 muestra la
complejidad del algoritmo de
compresión en función del número de las operaciones.
En la Tabla 2.1 se observa que las propuestas Pérez Ortega y de
Zilio son las
que abordan el problema de una manera más completa. Sin embargo,
el enfoque de
Pérez Ortega es insuficiente ya que el tamaño de la mayor
instancia soluble baja de
500 a 100, al incorporar la replicación a su modelo. Este
trabajo, como todos los trabajos revisados de este tipo, tiene la
limitación de que no toma en cuenta que el tamaño de la carga es un
factor determinante del rendimiento del proceso de
automatización del diseño. En contraste Zilio, reconoce la
relevancia de la
compresión de las cargas, pero no considera el impacto de la
compresión en la
calidad de las soluciones. Por lo tanto, los métodos de
compresión que propone, no
garantizan el rendimiento adecuado de las herramientas de
diseño. i
28
-
i
I
Capítulo 2 PROBLEMA DEL DISEÑO DE LA DISTRTBUCIÓN
Tabla 2.1. Trabajo relacionado con la automatización del diseño
de la distribución
En la Tabla 2.1 se observa que las propuestas de Pérez Ortega y
de Zilio son
las que abordan el problema de una manera más completa. Sin
embargo, el enfoque
de Pérez Ortega es insuficiente ya que el tamaño de la mayor
instancia soluble baja
de 500 a 100, al incorporar la replicación a su modelo. Este
trabajo, como todos los
trabajos revisados de este tipo, tiene la limitación de que no
toma en cuenta que el
tamaño de la carga es un factor determinante del desempeño del
proceso de
automatización del diseño. En contraste Zilio, reconoce la
relevancia de la
compresión de las cargas, pero no considera el impacto de la
compresión en la calidad de las soluciones. Por lo tanto, los
métodos de compresión que propone, no garantizan el rendimiento
adecuado de las herramientas de diseño.
En esta tesis se considera que ambos factores son críticos para
la solución
practica delproblema y se propone desarrollar métodos de
compresión de instancias
para incrementar la escala de las soluciones de instancias
replicadas, en al menos un
orden de magnitud, usando un modelo. Esto significa elevar el
tamaño de la mayor
instancia soluble hasta 1000, con un modelo que integre la
fragmentación y la
replicación. En el siguiente capítulo se describen el enfoque de
solución, el modelo
del problema y las transformaciones de compresión que se
proponen.
29
-
i
Capítulo 3
METODOEOG~A PROPUESTA
3.1 Enfoque de solución
En esta sección se describe el enfoque que se propone para la
solución del
problema de la automatización del diseño de la distribución.
3.1.1 Descripción general del enfoque
En este trabajo se propone desarrollar métodos de compresión de
instancias para
incrementar el tamaño de las soluciones de instancias
replicadas, en al menos un
orden de magnitud, usando un modelo. Con este propósito se
propone un enfoque de
solución del problema de la automatización del diseño de la
distribución, que
incorpora métodos eficientes de compresión de las instancias.
Una compresión
eficiente es aquella que permite transformar una instancia del
problema, en otra de
menor tamaño sin afectar significativamente la calidad de la
solución.
El enfoque consiste en considerar que en el proceso de
automatización del
diseño, además de aplicar transformaciones para la compresión de
las instancias, es
posible elegir entre múltiples modelos del sistema y múltiples
algoritmos de
solución.
Como las transformaciones de compresión constituyen los
mecanismos de
30 i
j
I
i I !
!
i I
i I ! ~
I
j
I
! !
!
!
-
Capítulo 3 METODOLOGÍA PROPUESTA
apoyo al rendimiento de las herramientas automáticas de diseño
[Zilio 20041, el
enfoque depende críticamente de la eficiencia de los métodos de
compresión de
instancias. Por lo tanto, si es posible construir este tipo de
métodos, el enfoque es
factible.
3.1.2 Definición formal
Como se señaló anteriormente, la estrategia general de solución
para
automatizar el diseño de la distribución incluye acciones en
tres dimensiones: elegir
una transformación de compresión, seleccionar el algoritmo que
mejor desempeño
ha mostrado en la solución de instancias similares, y
seleccionar un modelo del
problema de bajo costo computacional. Una combinación específica
de este tipo de
acciones, define la estrategia particular de solución que será
aplicada por la
herramienta automatizada. La siguiente definición formaliza esta
idea.
Dados
7z el problema del diseño de la distribución, I 1 I
I: un conjunto de instancias de z,
R: un conjunto finito de transformaciones de compresión de
instancias de T
M. un conjunto finito de modelos de rr, I I
4 A : un conjunto finito de algoritmos de solución para los
modelos de z,
I ! entonces s es una estrategia de solución de una instancia
dada de n, si y sólo si, s es
un elemento del
I Figura. 3.1. Dimensiones de una estrategia de solución
-
!
Capítulo 3 METODOLOGiA PROPUESTA
Para una instancia dada i E I, el enfoque consiste en
determinar
automáticamente una estrategia s = (5, ak, m,), donde r, E R, ak
E A y ml E M, la cual permita resolver la instancia i usando la
transformación r,, el algoritmo a k y el modelo mi. La Figura 3.1
muestra los principales elementos de este enfoque.
En las siguientes secciones se describen los diferentes
elementos que se requieren para validar el enfoque propuesto.
3.2 Dimensión de modelos
En esta dimensión se propone el uso de diferentes modelos del
problema que se
desea resolver. La idea es que, dada una instancia del problema
se elija
automáticamente entre varios modelos, el que produzca la mejor
solución al menor
costo posible. Particularmente, para el problema del diseño de
la distribución existen varios modelos de diferente costo
computacional [Pérez 1999, 2000,2000a1. En esta
sección se desarrolla un modelo replicado que incorpora la
posibilidad de distribuir
diferentes tipos de objetos de una base de datos (objetos de BD
o simplemente
objetos): grupos de tuplas, atributos, relaciones y archivos.
Esta característica
permite tener un solo modelo que, en función del tipo de
objetos, puede realizar
fragmentación horizontal, vertical o mixta.
3.2.1 Descripción del problema
El problema del diseño de la distribución de una base de datos
distribuida, consiste
en determinar la fragmentación y la ubicación de los objetos de
BD, de tal manera que se minimice el costo total de la transmisión
de los datos requeridos por el
procesamiento de todas las aplicaciones. Un objeto de BD es una
entidad de una
base de datos que requiere ser ubicada, la cual puede ser un
atributo, un conjunto de tuplas, una relación, o un archivo. Los
objetos de BD son unidades independientes
que deben ser ubicados en los sitios de una red. Una definición
formal del problema
es la siguiente:
I 32
-
Capitulo 3 METODOLOG~A PROPUESTA
I
a Objetos de BD Figura. 3.2. Problema del diseño de la
distribución
Considérense un conjunto de objetos de BD O = {o,, 02, ...,
o,,}, una red de computadoras que consiste de un conjunto de sitios
S = {s,, s2, ..., sns}, donde un conjunto de operaciones Q = {q,,
q2, ..., qnq} son ejecutadas, los objetos de BD requeridos por cada
una de las operaciones, el esquema de la ubicación inicial de
los
objetos de BD, y las frecuencias de acceso de las operaciones a
cada uno de los sitios. El problema consiste en determinar los
nuevos esquemas de fragmentación y ubicación, posiblemente
replicada, que se adapten a los cambios en el patrón de uso
de la base de datos y que minimicen los costos de transmisión,
migración y
almacenamiento. La Figura 3.2 muestra una instancia del problema
con 4 objetos de BD, 3 sitios y 4 operaciones, así como la
frecuencia de emisión de las operaciones y
la matriz de uso de los objetos de BD por las operaciones [Ceri
1983, Kulkami
19891.
\
I I
I
I
I I 33
-
Capítulo 3 METODOLOGíA PROPUESTA
1 1
.
3.2.2 Consideraciones sobre la información de entrada del
modelo. El diseño de la distribución de una base de datos
distribuida tiene el propósito de
adaptar los esquemas de fragmentación y de ubicación a una nueva
manera de
explotación. Ceri señala que para realizar el diseño de una base
de datos distribuida
se necesita conocimiento preciso y suficiente de los
requerimientos de las aplicaciones [Ceri 19831. Kulkarni señala al
respecto que el diseño de la distribución
tiene como entradas, un esquema global de todos los objetos
globales (relaciones) y datos relativos a la carga esperada de los
diferentes tipos de transacciones que serán
emitidas por los usuarios [Kulkarni 19891. La forma en que será
explotada la base de
datos, se especifica a través de los parámetros del modelo. Con
estos parámetros, se define una instancia particular del modelo. Al
resolver dicha instancia se determina
el diseño de la distribución Óptima de los datos para las
condiciones de explotación
especificadas.
Los parametros asociados a la base de datos son: el número y el
tamaño de los objetos de la base de datos, y la selectividad
promedio de las operaciones sobre
cada uno de los objetos.
Los parámetros correspondientes a las operaciones realizadas por
los usuarios
son: el número de operaciones, la frecuencia de emisión de cada
operación en los
diferentes sitios y los objetos requeridos por cada una de las
operaciones.
Los parámetros relativos a los sitios son: el número de sitios,
y la capacidad y el costo de almacenamiento de cada uno de los
sitios.
Los parámetros asociados a la red son: el tamaño en bytes del
paquete de comunicaciones de la red y el costo de transmisión entre
los sitios. Este Último parámetro se determina en función de la
velocidad de transmisión entre los sitios.
Este es un supuesto común, realizado en el aná