S.E.P S.E.I.T. D.G.I.T.
CENTRO NACIONAL DE INVESTIGACIÓN Y DESARROLLO TECNOL~GICO
cenidet
UN MODELO MATEMÁTICO GENERADOR DE ESQUEMAS DE UBICACIÓN Y REPLICACIÓN PARA BASES DE DATOS
DISTRIBUIDAS
E I
T E S I S PARA OBTENER EL GRADO DE M A E S T R O E N C I E N C I A S EN CIENCIAS COMPUTACIONALES P R E S E N T A : ROSA LINA MONDRAG~N IBARRA
CUERNAVACA MORELOS JULIO DE 2001
Centro Nacional de Investigación y Desarrollo Tecnológico FORMA C3
REVISION DE TESIS
Cuernavaca, Morelos a 5 de junio de 2001
Dr. Raúl Pinto Elias 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: "Un Modelo Matemático Generador de Esquemas de Ubicación y Replicación para Bases de Datos Distribuidas", realizada por la C. ROSA LlNA MONDRAGÓN IBARRA, 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 revisión de tesis
a. Cd,lC&. M.C Mario Guillén Rodríguez Co-Director de tesis Director de tesis
INTERIOR INTERNADO PALMIRA S/N. CUERNAVACA. MOR. MeXICO APARTADO POSTAL 5-164 CP 62050. CUERNAVACA. TELS. (73)12 2314.12 7613 , I 8 7741. FAX (73) 12 2434 EMAIL [email protected] cenidet
'.
Centro Nacional d e Investigación y Desarrollo Tecnológico FORMA C4
AUTORIZACION DE IMPRESIÓN DE TESIS
Cuernavaca, Morelos a 15 de Junio de 2001
C. Rosa Lina Mondragón lbarra 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 Computacionaies en relación a su trabajo de tesis: Un Modelo Matemático Generador de Esquemas de Ubicación y Replicación para Bases de Datos Distribuidas, 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.
INTERIOR INTERNADO PALMIRA SIN. CUERNAVACA. MOR. MÉXICO APARTADO POSTAL 5-164 CP 62050. CUERNAVACA TELS. (73)12 2314.12 7613 . I 8 7741 F A X (731 ! ? 2434 EMAIL ortizacenidet.edu.mx
crclninlclt
Dedicación
Con todo cariño y admiración a mi madre LASTENIA BARRA BARRERA
por su comprensión, confianza, apoyo y por enseñarme con su ejemplo el deseo
de constante superación.
A mi padre
por cuidarme, protegerme y estar siempre conmigo.
Q ROSALIO MONDRAG~N ALVAREZ
Agradecimientos
Al Centro Nacional de investigación y Desarrollo Tecnológico por brindarme la oportunidad de realizar mis estudios de postgrado.
A mi asesor de tesis Dr. Joaquín Pérez Ortega por dirigir el desarrollo de este proyecto y por compartir conmigo sus horas de trabajo, sus experiencias y conocimientos. Gracias por ayudarme y proporcionarme esas palabras de ánimo en los momentos complicados.
A mis revisores de tesis Dr. Rodolfo A. Pazos Rangel, M.C. José Antonio Zárate Marceleño, M.C. Mario Guillén Rodriguez y Dr. José Torres Jiménez por sus valiosos comentarios que ayudaron a enriquecer el presente trabajo de investigación.
A Joaquín Armenta Trujillo por compartir conmigo todos esos momentos de diferentes matices, por su comprensión, tiempo y ayuda invaluable.
A cada uno de los maestros del Cenidet por sus conocimientos transmitidos.
A Cosnet por el apoyo económico brindado para realizar mis estudios.
... 111
Tabla de Contenido
Página .. Capítulo 1 Introduccion ............................................................................................ 1
.. 1.1 Introduccion ............................................................................................. 2
1.2 Motivaciones ............................................................................................ 3 . . . . . 1.3 Descnpcion del problema ........................................................................ 5
1.4 Objetivo de la tesis ................................................................................... 8
1.5 Alcances ................................................................................................... 8 . . . 1.6 Organizacion de la tesis ........................................................................... 9
Capítulo 2 Estado del arte ......................................................................................... 1 1
2.1 Problema de ubicación de archivos ........................................................ 12
2.2 Fragmentación y ubicación de datos ...................................................... 13
2.3 Replicacion de datos ............................................................................... 17 . . .
Capítulo 3 Metodología Tradicional de Diseño de Base de Datos Distribuid as ..... 23
3.1 Metodología tradicional de Diseño de BDDs ........................................ 24
3.1.1.1 Análisis de requerimientos de distribución ............................................ 24
. . 3.1 . 1 Análisis de Requenmientos ..........................................................
3.1.2 Diseño conceptual global ...... 3.1.3 Diseño lógico global .............
......................... 26 ............................... 26
3.1.4 Diseño de la distribución .......................... .......................................... 26
3.1.5 Diseño físico ............................................................. ....................... 26
3.2 Diseño de la distribución ............. ......................... ....................... 27 .. 3.2.1 Fragmentacion ........................................................................................ 27
3.2.2 Problema de ubicación y replicación de datos ....................................... 28
iv
Capítulo 4 Replicación en SQL Server ...................................................................... 29
.. 4.1 Intmduccion ............................................................................................ 30
4.2 SQL Server .............................................................................................. 30
4.2.1 Arquitectura Cliente/Servidor .................................................................. 31
4.2.2 Sistema administrador de bases de datos relaciona1 ................................ 31
4.2.3 Transact-SQL ........................................................................................... 31
4.3 Replicacion .............................................................................................. 32
4.4 Componentes de la replicacion ................................................................ 32
. . . . . .
. . 4.5 Suscnpciones ........................................................................................... 33
. . .. 4.5.1 Suscnpciones de extraccion ..................................................................... 34
4.5.2 Suscnpciones de insercion ....................................................................... 34 . . .. . . . . 4.5.3 Suscnpciones anonimas ........................................................................... 35
4.6 La base de datos de distribución .............................................................. 35
4.7 Agentes de replicacion ............................................................................. 35
4.7.1 Agente de instantáneas ............... i ............................................................ 35
. . .
4.7.2 Agente de lector de registro ..................................................................... 36
4.7.3 Agente de distnbucion ............................................................................. 36
4.8 Planificación de la replicación en SQL Server ........................................ 36
. . . .
4.8.1 TemporizaciÓn y latencia de los datos replicados ................................... 36
4.8.2 Autonomía del sitio ................................................................................. 37
4.8.3 Métodos de distribución de datos ............................................................ 38
4.9 Tipo de replication seleccionado ............................................................ 39
. .
. . . . . . 4.9.1 Duplication transactional ................................................................
4.9.1.1 El agente de instantáneas ......................................................................... 40
4.9.1.2 El agente de lector de registro .................................................... 4.9.1.3 El agente de distnbucion ............................................................ . . . .
4.9.1.4 Limpieza .................................................................................................. 41
4.9.1.5 Suscriptores de actualización inmediata .................................................. 41 .
V
Capítulo 5 Modelo matemático propuesto ................................................................ 43
.. 5.1 Introduction ........................................................................................... 44
5.2 Funcion objetivo ................................................ ; .................................... 44
5.2.1 Costos de transmisión de datos para aplicaciones de consulta ............... 44
5.2.1.1 Frecuencia de acceso en aplicaciones de lecturahj ................................ 45
. . ..
5.2.1.2 Atributos por consulta q km ...................................................................... 45
5.2.1.3 Número de paquetes de comunicación lkm ............................................. 45
5.2.1.4 Costo de transmisión entre el sitio i y el sitioj C, ................................. 46
5.2.2 Costos de transmisión de datos para aplicaciones de escritura ............... 46
5.2.2.1 Costo de actualizacion cu ....................................................................... 47 . . .
5.2.2.2 Frecuencia de acceso en aplicaciones de escrituraf’u ........................... 47
5.2.2.3 Tamaño en bytes de la i n t n ~ ~ n de SQL 1; ......................................... 48
5.2,2.4 Costo de comunicación entre el sitio de la copia primanap y el sitio i CPi ............................................................................................... 48
5.2.3 Costos de transmisión para copiar datos de un nodo a otro .................... 48
5.2.3.1 Parámetro d, ............................................................................................ 49
5.3 Restricciones intrínsecas del problema ................................................... 49
5.4 Solucion del modelo ................................................................................ 50 .. 5.4.1 Método de ramificar y acotar .................................................................. 50
.. 5.5 Complejidad del modelo ......................................................................... 53
5.5.1 Ubicacion no replicada ............................................................................ 53
5.5.2 Ubicación replicada ........ ................................................................... 54
. . .
Capítulo 6 Casos de prueba ...................................................................................... 56
6.1 Casos de pruebas en el modelo .............................................................. 57 6.1.1 Prueba 1 : Aplicaciones de lectura ......................................................... 57
6.1.2 Prueba 2: Aplicaciones de escritura ....................................................... 61
6.1.3 Prueba 3: Aplicaciones de lectura y escntura ........................................ 63 vi
6.1.4 Prueba 4: Cambio en frecuencias de aplicaciones ................................. 66
6.1.5 Prueba 5: Capacidad de almacenamiento restringida. ........................... 71
Capítulo 7 Comentarios fmales y trabajos futuros .................................................. 77
7.1 Comentarios finales ............................................................................... 78
7.2 Sugerencias de trabajos futuros ............................................................. 79
vii
Lista de Figuras
Figura Título Página
1.1
1.2
1.3
3.1
4.1
4.2
4.3
5.1
5.2
6.1
6.2
6.3
6.4
6.5
6.6
6.7
Ubicación inicial de las tablas y estadísticas de explotación en el tiempo to ........ 6
Cambios en las estadísticas de explotación en el tiempo t , .................................. 7
Nuevo esquema tomando en cuenta las frecuencias de acceso en el tiempo t2.8
Metodología tradicional del diseño de BDDs ..................................................... 25
Comunicación entre un cliente y un servidor con SQL Server ........................... 30
Componentes de la replicacion ........................................................................... 33
Suscripciones de inserción y de extracción ........................................................ 34
Ubicación no replicada de fragmentos ............................................................... 54
Ubicación replicada de fragmentos ..................................................................... 55
Esquema de ubicación y replicación para aplicaciones de sólo lectura .............. 60 .
. . .
Esquema de ubicación y replicación para aplicaciones de sólo escrituras .......... 63
Esquema de ubicación y replicación para aplicaciones de lectura y escritura .... 65
mismo número de frecuencias ............................................................................. 68
de frecuencias diferentes ...................................................................................... 71
Esquema de ubicación y replicación para aplicaciones de lectura con
Esquema de ubicación y replicación para aplicaciones de lectura con número
Esquema de ubicación y replicación con espacio de almacenamiento suficiente para ubicar los atributos ...................................................................... 73
Esquema de ubicación y replicación con espacio de almacenamiento . . restringido en Sz .................................................................................................. 76
... VI11
Lista de Tablas
Tabla Título Página
1.1
2.1
2.2
6.1
6.2
6.3
6.4
6.5
6.6
6.7
6.8
6.9 6.10 Capacidad de almacenamiento en disco para cada sitio ....................................... 74
Tablas que intervienen por consultas .................................................................... 6
Caractensticas principales de los modelos de ubicación de archivos .................. 21
Caractensticas principales de los modelos de ubicación de fragmentos ............. 22
Capacidad de almacenamiento en disco para cada sitio ...................................... 57
Tamaño en bytes de cada atributo ....................................................................... 58
Atributos m usados por consulta k ....................................................................... 58
Frecuencias de emisión de la consulta k desde cada sitioj .................................. 58
Costo de transmision entre sitios ......................................................................... 59 Frecuencias de emisión de la consulta k desde cada sitioj .................................. 66
Atributos m usados por consulta k ....................................................................... 67
Frecuencias de emisión de la consulta k desde cada sitioj .................................. 69
. . Selectividad de las consultas ................................................................................ 59 . . . . .
ix
cenidet Capitulo 1
Capítulo
Introducción
En este capitulo se describe el problema de tesis, las.motivaciones, los objetivos y los alcances de la presente investigación.
1.1 Introducción
En general las grandes organizaciones requieren tanto de s o h a r e como de
hardware para realizar sus actividades, sin embargo, como consecuencia del crecimiento en
la tecnología de comunicaciones, de Sistemas Administradores de Bases de Datos
Distribuidas (SABDD) y el decremento en los costos de las computadoras, dichas
organizaciones han optado por utilizar redes de comunicación para computadoras
incluyendo internet, logrando así que sea más factible la implementación de Sistemas de
Bases de Datos Distribuidas (SBDD).
Aún cuando los SBDD proporcionan una mejor disponibilidad de los datos, una
mejor seguridad, confiabilidad, reducción en los costos de comunicación y mejoramiento
en el desempeño, son considerablemente complicados y sofisticados, por lo que su diseño
lógico presenta una variedad de problemas como son: integridad, control de recuperación,
ubicación y replicación de datos.
El diseño lógico en un sistema distribuido es un factor importante y complicado que
determina la ubicación de los datos en el sistema, si se toma en cuenta que la naturaleza de
los sistemas distribuidos es dinámica, con cambios en la topología de la red, frecuencias
de accesos, costos y recursos, el problema se vuelve aún más complejo.
Hoy en día, los administradores de los sistemas son los encargados de realizar la
ubicación, replicación y monitoreo de la información en los nodos de la red, dicha
actividad es efectuada de manera estática, se determina en el momento del diseño de la
base de datos distribuida y permanece sin cambios (diseño estático) hasta que el
administrador considera un nuevo diseño. En la mayona de los SBDD, el diseño estático
afecta de manera importante el desempeño total del sistema, esto se debe principalmente a
que el tiempo y los costos requeridos para el procesamiento de las consultas y
actualizaciones, dependen en gran parte del lugar donde residen los datos y de las
frecuencias de accesos.
cenidet Capítulo I
Es predecible fácilmente, que un sistema distribuido con un diseño de distribución
estático, pueda irse degradando severamente en su desempeño por su incapacidad de
respuesta a los cambios en la explotación de los datos.
El objetivo de este trabajo es desarrollar un módulo de software factible de ser
incorporado a un SABDD, dicho módulo permitirá evitar la degradación de los sistemas
ante cambios en los patrones de explotación de los datos mediante la utilización de datos
estadísticos de explotación del sistema y un modelo matemático para la fragmentación,
ubicación y replicación.
La principal aportación de este trabajo consiste en obtener un nuevo método de
solución al problema de la degradación de los sistemas al cambiar a nuevos esquemas de
ubicación y replicación que se adapten a los patrones de explotación de acceso a los datos.
1.2 Motivaciones
El presente trabajo de investigación se enfoca principalmente al proceso de diseño
de distribución de bases de datos distribuidas, el cual consiste de fragmentación, ubicación
y replicación de datos. La investigación fue motivada por las siguientes observaciones:
1. La principal motivación de las grandes organizaciones para utilizar un sistema de
base de datos distribuida es que se adapta de manera natural a su estructura
administrativa. Por ejemplo: la organización puede estar dividida en plantas y éstas
pueden estar en sitios geográficamente distantes, cada planta tendría su propia información almacenada en computadoras y estarían conectadas por medio de una
red. Así pues, un sistema distribuido permitirá que la estructura de la base de datos
refleje la estructura de la organización [Dat,1995]. Sin embargo para obtener
beneficios tales como: control local, disminución de tiempos de respuesta y costos
reducidos de comunicación, se requiere obtener una ubicación y replicación óptima
de datos [Kul,l989].
3
cenidet Capítulo 1
2. El problema más difícil para el desarrollo de bases de datos distribuidas es la falta de metodologías y herramientas de apoyo al diseño [Osz,I991; Gar, 1992; Ku1,1991;
Cer,1987].
3. Tradicionalmente se ha considerado que el diseño de distribución (DD) consta de dos
fases cenadas. En contraste con esta creencia generalizada, resulta más sencillo
resolver el diseño de distribución de manera simultánea [Per,1997]. Con el desarrollo
del modelo FURD (Fragmentación, Ubicación y Reubicación de Datos) se iniciaron
los trabajos en esta dirección, en esta tesis se continúa en la misma dirección.
4. En el área de DD, se han realizado numerosas investigaciones, sin embargo, no
existe un puente entre los modelos teóricos y los manejadores comerciales, en este
sentido el presente trabajo tiene como finalidad el adaptar un modelo teórico de DD
para poder ser aplicable en el diseño de Bases de Datos Distribuidas (BDD) que
trabajen sobre manejadores comerciales.
5. En la actualidad, se considera el DD de manera estática, esto es, se establece con el
diseño inicial de la base de datos distribuida, el cual permanece fijo hasta que el
administrador del sistema interviene para realizar cambios [Wol, 19921. Un sistema
distribuido con un diseño de distribución estático puede irse degradando severamente
en su desempeño por su incapacidad de respuesta a los cambios en la explotación de
los datos [Wol,l992], en contraste con lo anterior, en este trabajo se pretende evitar
la degradación de los sistemas mediante esquemas de replicación adaptativos.
6. La replicación es clave para incrementar el desempeño, la disponibilidad y la
tolerancia a fallas [Cou,l994]. Además, la replicación es una herramienta que se ha
incorporado en las últimas versiones de los SABDD.
cenidet Capítulo I
1.3 Descripción del Problema
De manera simplificada se puede enunciar el problema de la siguiente manera:
El problema consiste en la ubicación y replicación de fragmentos, de tal manera que
el costo total en que incurra la transmisión por aplicación procesada por un SABDD sea
minimizado.
A continuación se presenta de manera matemática el problema:
Dado un conjunto de tablas T={tl, 12. ..., t n } , una red de comunicación para
computadoras que consiste de un conjunto de sitios S={si, s2, .... s,} en donde se ejecutan
una sene de aplicaciones Q=(q,,- q2. ..., qn), un esquema inicial de ubicación y replicación
de datos, y las frecuencias de acceso de cada consulta desde cada nodo. Obtener un
nuevo esquema optimizado de ubicación y replicación que permita realizar un
procesamiento más eficiente de las aplicaciones de lectura y escritura,
adaptándose a nuevos patrones de explotación de la base de datos, minimizando
los costos de transmisión.
Para complementar la definición se presenta un ejemplo sencillo que
ilustra el problema.
En la Figura 1. I , se muestra un primer esquema de ubicación de una base
de datos distribuida, en las tablas se muestran tanto datos estadísticos como las
consultas que se llevan a cabo en cada sitio y las frecuencias de acceso.
La Tabla 1 . 1 , nos muestra las entidades de datos involucradas para una
consulta dada, se indica con un 1 si la entidad de datos está involucrada en dicha
consulta, en caso contrario se indica con un O.
5
Capitulo 1 cenidet
as
Inicialmente, desde el sitio SI se ejecutan las consultas q1, q2 y q3, y se
encuentran ubicadas las tablas ti, t 2 y t 3 . De igual manera en s2 se ejecutan las
consultas q i y q4, y se encuentra ubica la tabla t 4 . En el sitio s3 se ejecuta la
consulta 45 y se encuentra ubicada la tabla t 5 .
Esta distribución es adecuada y minimiza costos de transmisión, sin
tiempo los requerimientos de información para los embargo, a través del
usuarios pueden cambiar.
Figura 1.1 Ubicación inicial de las tablas y estadísticas de explotación en el tiempo 7 0 .
6
Capitulo 1 cenidet
En la Figura 1.2, se muestra como en el sitio s2 se incrementa la frecuencia de
ejecución de la consulta 41, que involucra a tl y t2 . Este cambio en la explotacih de los
datos sugiere un cambio de esquema.
Consulta Frecuencia
conaul~l Frecuencia (*I Tablas
Datos m estadisticos
Figura 1.2 Cambios en las estadísticas de’explotación en el tiempo T,.
En la Figura 1.3, se realiza el cambio de esquema de replicación tomando en cuenta
la explotación de los datos. Se replican ti y t2, indicándose como ti’ y 12’.
7
Capítulo 1 cenidet
Datos a estadísticos
Figura 1.3 Nuevo esquema tomando en cuenta las frecuencias de acceso en el tiempo r l .
1.4 Objetivo de la Tesis
Objetivo General
Desarrollar un módulo computacional que permita evitar la degradación de una
aplicación distribuida que funcione sobre la plataforma de SQL Server para Internet,
mediante la generación de nuevos esquemas de ubicación y replicación que se adapten a
los cambios en los patrones de explotación de los datos.
1.5 Alcances
J El módulo desarrollado incorpora un modelo de optimización matemático para
la ubicación y replicación, llamado FURD Extendido. Como método de
solución se emplea el de “ramificar y acotar”.
8
J El modelo solamente incluye el tipo de replicación transaccional, usado en el
SMBDR SQL Server 7.0.
J Las pruebas funcionales se realizaron tanto en red local como en internet
J Las pruebas en red local, se realizaron en la red local del Centro Nacional de
investigación y Desarrollo Tecnológico (CENIDET), cuyas características son:
tipo Ethernet, velocidad 10 mbps, topología estrella.
J Las pruebas en internet, se realizaron utilizando dos computadoras, una de ellas
ubicada en CENIDET y la segunda en el instituto de Investigaciones Eléctricas
(iiE), ambas con direcciones E' fijas.
No es propósito de esta tesis:
X Probar el modelo utilizando un manejador diferente a SQL Server 7.0.
X Utilizar diferentes métodos de solución para el módelo.
X Utilizar diferentes tipos de replicación proporcionados por el manejador SQL
Server 7.0.
1.6 Organización de la Tesis
La organización de la tesis es de la siguiente manera:
Capítulo 2 Ubica esta tesis en el contexto de otras investigaciones relacionadas. Se
revisan trabajos enfocados a resolver el problema de la fragmentación,
ubicación y replicación.
9
Capítulo 1 cenidet
Capítulo3 Se describe la metodología de diseño tradicional para bases de datos
distribuidas. Esta metodología ha sido desarrollada como una extensión al
diseño de bases de datos centralizadas.
Capítulo4 Se presenta un panorama general de la replicación en SQL Server, se
describen los tipos de replicación que se manejan, cada uno de los elementos
que intervienen, y cómo se relacionan.
Capítulo 5 Describe un modelo matemático que unifica la fragmentación, ubicación y
replicación de fragmentos.
Capítulo 6 Muestra ejemplos que prueban la funcionalidad del modelo implementado
en el presente trabajo de investigación.
Capítulo 7 Muestra las conclusiones a las que se llegaron durante esta investigación y
se sugieren trabajos que pueden dar continuidad a esta investigación.
10
cenidet Capitulo 2
Capítulo
Estado del Arte
En este capíhdo se abordarán los aspectos referentes al estado del arte. Se
presenta una breve descripción de los trabajos referentes al diseño de la distribución y
replicación.
0 1 - 0 5 5 7
2 Estado del Arte
El problema de ubicación y replicación ha sido ampliamente estudiado por diversos investigadores que han propuesto diferentes metodologías para el diseño de
bases de datos distribuidas, iniciando con el problema de ubicación de archivos FAP
(por sus siglas en inglés, File Assignment Problem) a finales de los setentas y principios
de los ochentas. La investigación sobre el FAP es descrita en la sección 2.1.
Recientemente la fragmentación y ubicación de datos en bases de datos distribuidas ha
recibido una atención considerable como se muestra en la sección 2.2. La replicación de
datos provee algunos de los principales beneficios de los sistemas distribuidas. El
problema de la replicación es revisado en la sección 2.3.
2.1 Problema de Ubicación de Archivos
Los primeros modelos de distribución consideraron el archivo como la unidad de
ubicación. Chu fué el primero en articular el FAP [Chu,1969]. Formuló el problema como un modelo de programación entera para un número fijo de copias de cada archivo,
con el objetivo de minimizar costos, tomando en cuenta tiempos de respuesta y
capacidad de almacenamiento. El modelo fue extendido por Casey relajando las
restricciones relacionadas al número de copias y marcando la diferencia entre consultas
y actualizaciones [Cas,l972]. Eswaran mostró que la formulación de Casey era un problema NP-Completo y sugirió una solución heurística al problema [Esw,l974].
Muchos investigadores han modificado el FAP, variando las suposiciones y
niveles de generalización. Ramamoorthy mostró que los costos de comunicación para
operaciones de reunión pueden reducirse replicando los archivos, su modelo supone que
la consulta es procesada en el sitio donde se requiere el resultado sin transmisiones entre
los sitios donde se ubican los archivos [Ram,l979].
Mahmoud incorporó la capacidad del canal en el FAP [Mah,1976]. Morgan
incorporó la ubicación de los programas con los archivos [Mor,l977].
12
Irani combinó la ubicación de archivos, la topología de la red, y la capacidad de los canales en un solo problema [Ira,1979]. Chen generalizó el problema considerando
el costo total de un sistema de base de datos distribuida incluyendo el costo de las
computadoras, bases de datos, programas, enlaces de comunicación y costos de
operación [Che,l980]. Dowdy provee un excelente estudio de investigación sobre el
FAP [Dow,1982]. Jain desarrolló una metodología multi-criterio para la toma de
decisiones combinando la selección del procesador, ubicación de archivos y diseño de la
red [Jai,1986]. Jain consideró -las diferencias en el costo del procesamiento de una
transacción en diferentes computadoras, usando un modelo de programación para la
selección del procesador y la ubicación de archivos [Jai,l987].
2.2 Fragmentación y Ubicación de Datos
Los términos fragmentación, descomposición y particionamiento, se han
utilizado como sinónimos por los diferentes investigadores en el area. La investigación
original de particionamiento fue desarrollada en el contexto de bases de datos centralizadas cuando los beneficios de particionar archivos de datos se daba entre
memoria primaria y memoria secundaria [Eis,1976; Mar,1977]. Hoffer y Babad desarrollaron modelos para particionamiento vertical appando atributos con la
finalidad de minimizar espacio de almacenamiento y costo tanto de lecturas como de
escrituras [Hof,1976; Bab,1977]. Kulkami menciona que la complejidad de los modelos
mencionados es intratable para problemas prácticos [Ku1,1989].
En el área de bases de datos distribuidas los investigadores han tratado el
problema de fragmentación y ubicación de datos en un ambiente distribuido. Un
excelente estudio sobre estrategias de ubicación en bases de datos distribuidas aparece en [Hev,1988].
Chang y Cheng desarrollaron una metodología para descomposición estructural
(particionamiento de bases de datos).
13
cenidet Capitulo 2
El proceso de descomposición estructural de bases de datos requiere relaciones en tercera forma normal, vistas de usuarios específicas, atributos en las vistas y atributos
llave. El proceso inicia con las vistas de usuario desde una base de datos integrada,
después se mapean las vistas con el esquema general. Una vez que el proceso se ha
terminado, la fragmentación de datos ocurre basándose en los traslapes de campos,
cada traslape define un nuevo fragmento [Cha, 19801.
Chang y Liu describen un método para ubicar fragmentos de datos dentro de una
base de datos dishibuida usando el trabajo de Chang y Cheng. Su función objetivo consiste en minimizar costos de transmisión y concurrencia. El costo de concurrencia se
obtiene mediante una función lineal de un número de mensajes necesarios para una
actualización y es válido sólo para topología estrella [Cha,1982].
Cen desarrolló un algoritmo para ubicar un conjunto de fragmentos horizontales
en una red de computadoras. Su solución involucró identificación de transacciones
importantes, estadísticas, fragmentos horizontales candidatos, relaciones de datos
(tamaños y cardinalidades) y una estrategia de cada transacción (número de tuplas de
cada relación accedida). Diseñó un modelo de programación lineal entero que minimiza
el costo global del procesamiento de una transacción para obtener una ubicación no
replicada. La replicación de fragmentos se introduce a través del uso de heuristicas
“codiciosas”, se inicia con una base de datos no replicada y progresivamente se ubica una copia de cada fragmento en cada sitio y se observa el efecto en el costo global para
todas las transacciones [Cer,1983].
Navathe desarrolló algontmos para ubicar fragmentos verticales de relaciones
basadas en aiributos, los cuales son accedidos por transacciones comunes.
Se realiza la fragmentación vertical en tres contextos diferentes: bases de datos
centralizadas con una sola jerarquía de memoria, bases de datos centralizadas con
diferentes jerarquías de memoria y bases de datos distribuidas. AI referirse al contexto de bases de datos distribuidas, la fragmentación vertical se realiza basándose en la
optimización de costos.
14
Como dato de entrada utiliza una matriz de uso de atributos (MUA) que identifica los atributos usados por cada consulta. Con esta matiz y la frecuencia global
de ejecución de cada consulta, construye la matriz de afinidad entre atributos (MAA),
que es una matriz cuadrada, cuyos elementos representan la medición de una cohesión
imaginaria entre cada par de atibutos. Esta medida de la cohesión está en proporción
directa de la frecuencia con que ambos atributos son accedidos por las consultas, y no
tiene ninguna relación con el sitio desde donde la transacción se emite. Esta última
matriz de MAA sirve como entrada al Algoritmo de Energía de Cohesión (AEC), que
permuta filas y columnas de una matiz cuadrada, formando bloques de elementos sobre
la diagonal principal. Estos bloques tienen la característica de estar formados por
elementos de valor similar, debido a que la función objetivo usada por el AEC tiende a
agrupar los valores grandes de la matiz, también se agmpan los valores pequeños. De esta manera, se forma una nueva matriz a la que le llaman matriz agrupada de afinidad
de atributos (MAAA). La matiz MAAA es la entrada de un algoritmo recursivo, que
evalúa la ubicación de cada partición vertical binaria posible en todos los sitios de la red
(mZ casos para m sitios), Puede obtenerse una fragmentación n-aria, repitiendo el
proceso recursivamente en cada partición obtenida hasta que no se produzcan mejoras
con una nueva partición [Nav,1984].
Hale usó información semántica para formación de fragmentos. Las vistas
individuales del usuario se representan usando el modelo entidad-relación (E-C-R). La principal contribución de esta investigación es la representación semántica de la
información de las vistas individuales de los usuarios y su relación con el esquema
global, usando un esquema semántica equivalente [Ha1,1986].
Ceri reconoce que la fragmentación de datos (DF), ubicación de datos (DA),
transformación de consultas (QT) (desde relaciones globales para fragmentos), optimización de consultas (QO) y la evaluación (E) de una alternativa dada son
problemas de optimización relacionados. Presenta un esquema de entidad relación del
diseño de un diccionario de datos, el cual almacena toda la información requerida
durante el proceso de diseño. Esta información es la entrada y salida para cada uno de los sub-problemas mencionados
La interacción entre estos sub-problemas es modelada con la siguiente, DF + DA+ QT + QO 3 E, donde la salida de DF es la entrada para DA y así sucesivamente. Presentan dos herramientas, una rápida y una más lenta. Las dos
herramientas consideran Únicamente pariicionamiento vertical. La herramienta rápida es
recomendada para problemas grandes, y se salta los pasos QT y QO, procede de DF + DA+ E. La herramienta lenta realiza la secuencia completa. La principal contribución
de esta investigación es la representación de la información de entrada-salida de las
diferentes etapas del problema en una forma semántica en el diseño de diccionarios de
datos [Cer,1986].
Ceri, Pemici y Wiederhold investigaron tratamientos metodológicos para el
diseño de bases de datos distribuidas. Especificamente, las metodologías ascendente y
descendente. Los autores presentan DATAID-D, una metodología descendente para el
diseño de distribución, teniendo formas sistemáticas de representar y usar datos
estadísticos acerca del uso de una base de datos, con ayuda de un caso de estudio
[Cer,1987]. Para el enfoque ascendente, se usa una metodología heurística similar a la
presentada en [Cer,1983].
Ramirez realiza una extensión al modelo matemático FURD [Per,1997], dicha
extensión consiste en el 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 una red. Para dar solución al modelo FURD extendido, se exploraron
dos métodos, un exácto y un heurístico.
Como método exacto se usó el método de ramificar y acotar y como heunstico
una variante de Recocido Simulado, llamado Aceptación por Umbral [Ram,l999].
Cruz profundiza en la caracterización de los métodos de solución empleados en el
diseño de la distribución de la base de datos, el propósito principal de esta investigación
es contestar la pregunta ¿para qué tamaño del problema conviene utilizar un método de
solución exacto y para cuál un heurístico? considerando que el problema pertenece a la
clase de problemas NP-completos.
cenidet Capitulo 2
En particular, en este trabajo se estudia el problema de la fragmentación vertical y
ubicación de datos empleando el modelo FURD. Como método de solución exacto
utiliza ramificar y acotar y como método heuristic0 aceptación por umbral [Cm,1999].
2.3 Replicación de Datos
La replicación selecciona copias de fragmentos de datos en más de un sitio en
una base de datos distribuida. L a replicación puede proveer ventajas y desventajas.
Como ventajas se incluye confiabilidad, disponibiliad y posibilidad de procesamiento
en paralelo. Como desventajas se incluyen control de concurrencia, integridad y
recuperación. Estos beneficios y costos son dificiles de evaluar.
Yoshida evalúa esquemas donde se consideran múltiples copias de datos,
principalmente se enfocan en el tiempo de respuesta y costos de comunicación, para ello
hacen uso de simulaciones, comparan dos sistemas el WOUND-WAIT y el DIE-WAIT.
Los esquemas son derivados de un análisis de las relaciones entre las vistas de usuarios
determinadas por las aplicaciones y la ubicación de datos óptima. En una simulación en
que se comparan ambos sistemas, se consideran parámetros como: las vistas de los
usuarios en cada sitio, ubicación de los datos, el radio de actualización, el tiempo de
transmisión comparando el tiempo de procesamiento, y el tamaño de la porción de datos
considerados.
La ubicación de datos Óptima en las que se prefiere el tiempo de respuesta al
considerar múltiples copias que son visibles entre los sitios, nos proporcionará las bases
para realizar las vistas del usuario, de tal forma que coincidan éstas con las copias de los
datos. El tiempo entre llegadas no afecta el costo de comunicación, pero si tiene efecto en el tiempo de respuesta [Yos,1985].
Apears presenta un modelo que hace posible comparar costos por no especificar
las ubicaciones para los planificadores producidos por algoritmos de procesamiento de
consultas arbitrarias.
17
El modelo se aplica en algoritmos heunsticos y “ramificación y acotamiento” para minimizar varias funciones de costos. El autor hace uso de grafos para realizar
suposiciones heuristicas y dar fundamento a sus razonamientos.
Para minimizar el costo de transmisión total, propone un método que determina
los fragmentos a ser ubicados, partiendo de las relaciones en el esquema conceptual, las
actualizaciones y consultas ejecutadas por los usuarios. La ubicación de fragmentos
depende del planificador de procesamiento para satisfacer las peticiones de los usuarios,
basándose en esto, el planificador puede satisfacer las peticiones de diferentes formas,
debido a que los fragmentos se colocan donde la operación así lo requiera. Se utilizan
planificadores estáticos y dinámicos para la ubicación de los datos [Ape,1988].
Stefano consideró una base de datos distribuida con replicación parcial de objetos de datos localizados en una red de anillo de n sitios sujeta a fallas en el canal y
la ubicación en los sitios es seleccionada aleatoriamente. Suponen que cada sitio en la
red puede mantener cualquier número de copias de varios objetos, pero cada sitio debe
mantener cuando más una copia de un objeto en particular. Manejan probabilidades de
lectura y escritura exitosa a los objetos. Las ubicaciones las consideran de dos tipos:
ubicación dependiente, en la que los objetos se ubican en base a UM estrategia en
particular; y ubicación independiente, en donde la ubicación se realiza sin conocer la
ubicación de otros objetos [Ste,1994].
March realizó la ubicación de datos y operaciones en un sistema de
computadoras distribuido. El método que se propone consta de tres pasos: En el primer
paso se analiza el conjunto de consultas para definir el conjunto de fragmentos del
archivo a ubicar. En el segundo paso cada consulta se descompone en un conjunto de consultas simples, cada una de las cuales hace referencia a los fragmentos del archivo, esto puede requerir de operaciones de reunión o unión adicionales si los datos
solicitados han sido fragmentados. En el tercer paso los fragmentos resultantes y las
consultas son usados como entrada para un modelo de optimización resuelto mediante
algoritmos genéticos.
cenidet Capitulo 2
La función objetivo minimiza los costos de operación del sistema incluyendo
comunicación, entrada-salida al disco, procesamiento de CPU y almacenamiento.
Considera las operaciones de lectura y escritura entre los distintos sitios, el mecanismo
de control de concurrencia, así como las resiricciones de capacidad en los nodos y en los
enlaces de la red.
Determina dónde se ubicarán los datos, el grado de replicación y cuál de las
copias de los datos será usada por la consulta y en qué sitio se efectuarán las
operaciones tales como select, project, union yjoin [Mar, 19951.
Tamhankar propone una metodología integrada para fragmentación, ubicación y
replicación de datos en múltiples sitios, de forma tal, que los objetivos de diseño en
términos de tiempo de respuesta, disponibilidad para transacciones y restricciones en
almacenamiento sean adecuadamente direccionados.
La metodologia propuesta se presenta en dos distribuciones que se detallan a
continuación:
Distribución Primaria: El enfoque se desvía hacia los objetivos de diseño de toda la
aplicación.
Paso I: Se reúne la información clave (sitios de actualización, costo de la
actualización, sitios de consulta, y costo de la consulta) para tomar las
decisiones de distribución. Esta información se usa como base para la
realización del análisis detallado de cómo los datos serán fragmentados,
replicados y ubicados. E1 resultado de este paso es una matnz de distribución la cual especifica la distribución de los datos.
Distribución Secundaria: El enfoque se desvía hacia casos individuales de la aplicación.
Paso II: Se relaciona con las transacciones que requieren de una respuesta rápida.
19
Capitulo 2 cenidet
fusu 111: Se'concentra en transacciones que requieren una alta disponibilidad de
los datos.
Puso IY: Dirige los requerimientos relacionados con el espacio de almacenamiento
en sitios específicos.
Dentro de cada paso se realizan varias iteraciones para alcanzar los resultados
deseados. La metodología propuesta es demostrada usando un caso de estudio con dos
aplicaciones diferentes. Se reporta como resultado un mejoramiento de un 35-40 % en el
costo total de tiempo de respuesta [Tam,l998].
Reyes extiende el modelo matemático FURD [Per,1997] con la finalidad de
incorporar costos derivados de tener réplicas de fragmentos e incluir consultas de
lectura y escritura. El modelo toma en cuenta las siguientes consideraciones: Las
unidades de almacenamiento de datos se restringen únicamente a fragmentos verticales,
las capacidades de CPU y las operaciones U 0 de los nodos se consideran ilimitadas, no
así la capacidad de almacenamiento en disco para cada sitio, los costos de
almacenamiento y CPU se asumirán iguales para todos los nodos, se asume que la red
esta completamente conectada, el costo de procesamiento local y el costo de acceso a
disco son ignorados [Rey,2001].
En la Tabla 2.1 se muestran las características principales de los modelos
presentados en la sección 2.1
Así mismo en la Tabla 2.2 se muestran las caractensticas principales de los
modelos presentados en las secciones 2.2 y 2.3. En la penúltima columna (Perez,2000)
se muestran las caractensticas del modelo desarrollado en el presente trabajo de
investigación, el cual contrasta con los trabajos anteriores en el sentido de que es el
único que modela el funcionamiento de un SABDD.
20
Minimizar J 4
tiempo de J 4
Probabilidad J de lectura y
. . .. . .L^ ., * . . . . escntura
.j 4 . : : . . . -. . ,.< ~
' s . ,' . , . . . . . . . i . . ... i .... . . . .Program= ' . .
~~
Capacidaddel J 4 J J
canal
Towlogia de J
21
Capitulo 2 cenidet
. ,. . 'rabia 2.2 Caraciensticas principales de los modelos de ubicación de fragmentos. Modelos Chang' . Ceri Navathe ' I , . Yoshiba 'Ceri ' Apears . Stefaao Mb&b, '"'.Tamhaoluir. Perez . .Reyes
1998 . 2000 ' . 2091 'f.i 4'
, !<* . '.I985 ':. 1986. 1988'',:. 1994 1995 . . . . . . . . . . . . . . ./ . . . . . . . ..
. . . . . . . . . . . . . . . . . . . . . , .>', ,
I '*'!,' .I , ' ..'!'.; . . . . " . . ' ,;,' ..o:., :, . ,, . , :, , .
, ' . ,,, c. :.* ' , I . . . .
,. . . - . . . . . . .. . . . . . . . . . . . . . . . . . . . . . .
, 1 .~ . . - . ' ., . . " .I:/ (,.
. . _ .. . . . . . . . . . . . . . . . . . 3 . ,' ', . J ' . .Parcial. 8 ' 4. , ' . '
I 1 . . . . . . . . . . . . . . . . . . . Método de Función Programación Algoritmo de Solución. Lineal Lineal Entera Energía de
Cohesión
Programación Ramificar Algoritmos Heurística y Acolar Genéticos
Ramificar Ramificar y Acotar, y Acotar Recocido Simulado
Lectura y J J Escritura
J J J
... .*,,J(< . . . . . . .. .. J 4 ' . , J . . . ,
. . .
~~
., , ,. . . ... . - _ . J . .
. . . . . . . . . . . . . . . . . . . . . ' i; > /
Capacidadde <' I . . _ . Almacenamicnlo , .
Minimizar Costos J costos Costos de Costos de Clobales para Comunicación- ' Comunicación
Transac.
Costos de Costos de Costos de Costo total de Comunic. Operaciones Transm. Transm.
22
Capitulo 3 r-irlnt
Capítulo
Metodología Tradicional de Diseño de BDDs
En este capítulo se describe la metodología tradicional para bases de datos
distribuidas. Esta metodología ha sido desarrollada como una extensión al diseño de
bases de datos centralizadas.
Capitulo 3 cenidet
3.1 Metodología Tradicional de Diseño de BDDs
El diseño de la distribución es aún un problema presente en SABDD
comerciales. Su objetivo es determinar las unidades de datos adecuadas para almacenar,
ya sean fragmentos o relaciones completas, así como su ubicación a través de los nodos
de una red. Dado que los accesos a los datos en una BDD, representan costos de
transmisión dependientes de la ubicación física de los mismos, el diseño de la
distribución es un factor relevante en el desempeño de los sistemas distribuidos, ya que
influye directamente en la eficiencia del procesamiento de las consultas. El diseño de la
distribución es solamente una parte del diseño total de una BDD, es en esta fase en
donde se realiza la principal aportación del presente trabajo de investigación.
El proceso de diseño de una base de datos centralizada incluye análisis de
requerimientos, diseño conceptual, diseño lógico y diseño fisico. Este proceso es la
plataforma para la realización del diseiio de una base de datos distribuida mediante la
adición de dos fases: análisis de requerimientos distribuidos y diseño de la distribución.
A continuación se describen cada UM de las fases de la metodología tradicional de
diseño incluyendo el diseño de la dishibución. En la Figura 3.1 se presenta de manera
esquemática el proceso de diseño.
3.1.1 Análisis de Requerimientos
En esta fase se lleva a cabo la recolección de los requerimientos del usuario, es
decir, se obtiene la información referente a las expectativas del usuario. En esta fase se
analizan los objetivos estratégicos de la organización y se determinan los
requerimientos de información que los satisfagan.
3.1.1. I Análisis de Requerimientos de Disíribución
En esta fase se obtiene la frecuencia con la que las aplicaciones se ejecutan
desde cada uno de los sitios, y se recolectan los criterios para la determinación de la
fragmentación sobre la base de datos.
24
cenidet Capitulo 3
+ Usuarios + ANÁLISIS DE REQUERIMIENTOS
1 DISEÑO CONCEPTUAL GLOBAL
1 J
v L-7 DISENO LÓGICO GLOBAL ANÁLISIS DE REQUERIMIENTOS
DE DISTRIBUCI~N
FRAGMENTACI~N VERTICAL
FRAGMENTACI~N HORIZONTAL
FRAGMENTACI~N UBICACI~N Y MIXTA
DISENO DE DISEÑO LÓGICO LA D I S T R I B U C I ~ N
E
u ct E
.=. Q
-0 - .. s
BASESDEDATOSOPERA
Figura 3.1 Metodología tradicional de diseño de BDDs.
25
Capítulo 3 cenidet
3.1.2 Diseño Conceptual Global
El objetivo de esta fase es trasladar los requerimientos del usuario a un modelo
formal, independiente del SABD empleado. En esta fase se integran los requerimientos
de transacciones globales que describen operaciones que el sistema ejecuta sobre los
datos, asi como información estadística sobre estas operaciones. La salida de esta fase
es el esquema conceptual global y el esquema de transacciones globales.
3.1.3 Diseño Lógico Global
En esta fase se lleva a cabo el mapeo del esquema conceptual global hacia el
SABD empleado. Se realiza la normalización del modelo de datos, se definen todas las
restricciones de integridad, se optimiza el esquema de datos para soportar las
transacciones más importantes y críticas, y se especifican las consultas que soporta el
SABD. Su salida es el esquema de datos lógico y el acceso lógico a tablas.
3.1.4 Diseño de la Distribución
En esta fase se determinan las unidades de información en que se dividirá la base
de datos (fragmentos), asi como la ubicación de cada una de ellas a través de los sitios.
Esta fase se ha desarrollado normalmente en dos pasos senados: la fragmentación y la
ubicación de fragmentos
3.1.5 Diseño Físico
En esta fase se establece el mapeo de los esquemas locales al almacenamiento
fisico disponible en el sitio, tomando en cuenta las características y capacidades del
SABD empleado. Se definen las estructuras fisicas para la implementación de la base de
datos y su salida es el lenguaje de definición de datos.
26
capítulo 3
3.2 El Diseño de la Distribución
En esta sección se hablará más a detalle de los aspectos referentes a las etapas,
que de manera separada, dan lugar al diseño de la distribución, es decir, determinación
de fragmentos y determinación de su ubicación y replicación.
3.2.1 Fragmentación
La fragmentación de los datos se ha sugerido en la literatura como una forma de
mejorar el desempeño de los sistemas administradores de bases de datos. Se argumenta
que una relación completa no es una unidad de distribución de datos adecuada
considerando que (1) generalmente las aplicaciones están definidas sobre sólo una parte
de la relación y (2) cuando una misma relación es accedida desde diferentes sitios
pueden suceder dos cosas. Por una lado, todos los sitios que realicen el acceso, excepto
el que almacena la relación, generarán un gran volumen de transferencia de datos (la
relación completa). Por otro lado, se puede replicar la relación completa dando lugar a
un gran volumen de datos adicionales (que no son requeridos por la aplicación). Cou la
finalidad de obtener las unidades de datos adecuadas para su distribución, las relaciones
se pueden dividir de manera horizontal o de manera vertical.
3 En el caso de la fragmentación horizontal la relación R se divide en varios
subconjuntos rl, rz, ___, r., donde cada subconjunto tiene el esquema de relación
original, es decir, cada fragmento tiene los mismos atributos que la relación
original R. Los fragmentos se determinan en base a un predicado que distingue a
las tuplas del fragmento, asignándoles el máximo potencial de localidad con
respecto a las aplicaciones.
P En la fragmentación vertical, también llamada partición de atributos, la
relación R es divida en vanos subconjuntos rl, rz, ..., r,, donde cada fragmento
es resultado de una proyección sobre la relación original. En este caso, cada
fragmento debe incluir la llave primaria de la relación original. El objetivo de
este tipo de fragmentación es agxupar aquellos atributos que son utilizados
juntos con frecuencia.
27
Capitulo 3
D Existe un tercer tipo de fragmentación, la fragmentación mixta. En este caso se
realizan n hgmentos, donde cada uno se obtiene alternando la fragmentación
horizontal y vertical sobre la relación original o sobre un ñagmento previo.
3.2.2 Problema de Ubicación y Replieaeión de Datos
La segunda etapa en el diseño de la dishibución es la ubicación y replicación de
los datos. Esta etapa implica el siguiente problema: si se tiene un conjunto de
fragmentos F = Ifi,fi, ...,J,}, y una red de comunicaciones con un conjunto de sitios S=
{s,, s2, ___, sn) y un conjunto de aplicaciones Q = {qi, qz, ..., 4,,}, el problema consiste
en encontrar la ubicación y replicación Óptima de F en S de manera que el
procesamiento de las consultas Q sea el mas eficiente.
La ubicación y replicación de datos es un problema complejo y su solución no es
trivial debido al número de parámetros que intervienen en el modelado y a la
complejidad de la solución. El espacio de soluciones es muy amplio aun para problemas
de tamaño pequeño. En el capítulo 5 se presenta un modelo matemático que ayuda a
solucionar el problema de ubicación y replicación.
28
Capítulo
Replicación en SQL Server
En este capítulo se presenta un panorama general de la replicación en SQL Server, se
describen los tipos de replicación que se manejan, cada uno de los elementos que intervienen, y como se relacionan.
4.1 introducción
Con la creciente dependencia con respecto a los datos en el mundo de la
empresa, ha comenzado a tomar importancia que los datos estén en el sitio correcto en
el momento correcto. En el pasado, los datos de la empresa se creaban y distribuían por
medio del papel y libros, haciendo que la distribución fuera costosa y llevara tiempo.
Con la llegada de las computadoras, la distribución de los datos empezó a ser más
sencilla. Los primeros sistemas informáticos que se implementaron arnpiiamente fueron
sistemas centralizados. Con ellos, la distribución de datos no era necesaria. Toda la
información que se creaba en la computadora estaba disponible para el resto de la
organización. Cuando los sistemas cliente/servidor empezaron a predominar, no era
extraño que las empresas almacenaran datos en vanas computadoras, ubicadas en
diferentes zonas geográficas. Debido a esto, las computadoras tenían que determinar
cómo los usuarios que necesitaran los datos podían acceder a ellos fácilmente y a
tiempo [Bjeletich, 19991.
4.2 SQL Server
SQL Server es un Sistema Administrador de Bases de Datos Relaciona1
(SABDR), con arquitectura cliente/servidor, que usa Transact-SQL para enviar
peticiones entre la máquina denominada cliente y la máquina denominada servidor (Fig.
4.1).
A P L I C A C I ~ N SQL SERVER
Resultados
Transact SQL GpJ3 SABDR
CLIENTE SERVIDOR,
Figura 4.1 Comunicación entre un cliente y un servidor con SQL Server.
30
Capitulo 4 cenidet
4.2.1 Arquitectura ClientdServidor
SQL Server usa arquitectura clientelstmidor para dividir la carga de trabajo en
tareas que se ejecuten en la máquina servidor de las tareas que se ejecutan en las
computadoras clientes.
> El cliente tiene la responsabilidad de realizar operaciones lógicas y presentar los
datos a los usuarios. El cliente puede estar en una o más computadoras, pero
cabe mencionar que también puede ser instalado en la computadora servidor.
> El servidor de SQL administra bases de datos y asigna los recursos tales como:
memoria y operaciones de disco entre múltiples solicitudes.
4.2.2 Sistema Administrador de Bases de Datos Relaciona1
El (SABDR) es responsable de las siguientes actividades:
3 Mantener la relación entre los datos de una base de datos.
> Asegurar que los datos sean almacenados correctamente (que las reglas de
integridad de las tablas no se violen).
F Recuperación de los datos a un estado consistente en caso de que ocurra una
falla en el sistema.
4.2.3 Transact-SQL
El Instituto Nacional Americano de Estándares (por sus siglas en inglés, ANSI)
y la Organización Internacional de Estándares (por sus siglas en inglés ISO) han
desarrollado estándares para SQL. Transact-SQL soporta el estándar publicado en 1992,
llamado ANSI SQL-92.
SQL Server utiliza Transact-SQL como lenguaje de programación y como
medio para realizar consultas. Transact-SQL es una versión del Lenguaje Estructurado
de Consultas (por sus siglas en ingles SQL).
31
cenidet Capitulo 4
SQL es un conjunto de comandos por medio de los cuales se especifica la
información que se quiere obtener o modificar en la base de datos.
4.3 Replicación
La replicación es el proceso de copiar datos de una base de datos a otra y
mantener un enlace entre ambas de tal forma que los cambios efectuados en cualquiera
de las bases de datos se vean reflejados en todas las bases de datos designadas a tener
UM copia.
Utilizar replicación proporciona las siguientes ventajas:
1. Disminuye el tráfico en la red y carga innecesaria en el servidor, debido a que
los datos se encuentran en diferentes sitios.
Los datos pueden viajar de un único servidor
proporciona una alta disponibilidad y descentralización de los datos.
2. a varios servidores, lo que
4.4 Componentes de la Replicación
Existen 3 diferentes componentes en la replicación, estos componentes son el
servidor de publicación, el servidor de distribución, y el servidor de suscripción (Figura
4.2).
El servidor de publicación contiene la o las bases de datos que se van a publicar.
para Permite que los datos de las bases de datos publicadas estén disponibles
suscripción, y envía actualizaciones al servidor de distribución.
El servidor de distribución contiene la base de datos de distribución (a la cual
también se le denomina base de datos de almacenamiento y reenvío), y almacena los
cambios que fueron enviados desde la base de datos de publicación a los servidores de
suscripción. Cabe mencionar que la maquina que contiene el software para el servidor
de distribución puede también contener el software para el servidor de publicación. Un
servidor de distribución puede dar soporte a varios servidores de publicación.
32
cenidet Capítulo 4
El servidor de suscripción contiene una copia de la base de datos que está
siendo distribuida. Cualquier cambio hecho en la base de datos distribuida se envía y se
aplica a la copia. Los suscriptares al igual que los publicadores pueden realizar
actualizaciones sobre los datos, sin embargo, un suscriptor que actualiza no es lo mismo
que un publicador.
Es importante mencionar dos conceptos que se utilizan durante la suscripción:
artículo y publicación.
Un articulo es simplemente UM sola tabla o un subconjunto de filas o columnas
de una tabla, que está disponible para su publicación. Un artículo siempre es parte de
una publicación. Una publicación es un grupo de uno o más artículos, y es la unidad
básica de la replicación.
O Mantiene las bases de datos fuente.
O Permite a los datos estar disponibles para replicación.
*:e Recibe los datos modificados. I
I .:. Almacena las I I coDias de los datos. I I I
e:. Recibe y almacena los cambios.
;'= ~...~ O Envia los cambios . " al suscriptor.
Figura 4.2 Componentes de la replicación
4.5 Suscripciones
Antes de que un servidor de suscripción pueda recibir datos procedentes de un
servidor de publicación, debe suscribirse a artículos o publicaciones. Las suscripciones
pueden ser de extracción o de inserción (Figura 4.3).
33
4.5.1 Suscripciones de Extracción
El servidor de suscripción configura y administra las suscripciones de
extracción. En este caso, el servidor de suscripción extrae la publicación del servidor de
publicación. La ventaja más importante es que las suscripciones de extracción permiten
a los administradores del sistema, en los servidores de suscripción, elegir las
publicaciones que quieren recibir. En las suscnpciones de extracción, publicar y
suscribir son acciones separadas no necesariamente realizadas por el mismo usuario.
Normalmente, este tipo de suscripción es el mejor cuando la publicación no requiere
una alta seguridad.
4.5.2 Suscripciones de Inserción
El servidor de publicación crea y gestiona las suscripciones de inserción. En la
práctica, el servidor de publicación inserta la publicación en el servidor de suscripción.
La ventaja de utilizar este tipo de suscnpciones es que toda la administración se realiza
en una ubicación central. La publicación y la suscripción pueden realizarse al mismo
tiempo y se pueden configurar muchos suscnptores a la vez.
Publicación
- Suscripción inserción , A Suscriptor I
Suscripción Entraccion -19cTI
Publicación B
}H Suscriptor 2
Figura 4.3 Suscripciones de inserción y de extracción.
34
Capítulo 4 cenidet
4.5.3 Suscripciones Anónimas
Una suscripción anónima es un tipo especial de suscripción de extracción que,
normalmente, se usa cuando se están publicando bases de datos en Internet.
Generalmente la información acerca de los suscnptores, incluyendo los datos de
rendimiento, se almacena en el servidor de distribución. En el caso de que se tenga una
gran cantidad de suscriptores o que no se desee disponer de información detallada de
ellos, se pueden permitir las suscnpciones anónimas a una publicación. Las
suscripciones anónimas siempre son creadas por el suscnptor. Éste es responsable de
asegurar que la suscripción esté sincronizada.
4.6 La Base de Datos de Distribución
La base de datos de distribución es un tipo especial de base de datos, instalada
en el servidor de distribución. Esta base de datos se conoce como la base de datos de
almacenamiento y reenvío, que contiene todas las transacciones que esperan a ser
distribuidas a cualquier suscnptor. Esta base de datos recibe las transacciones enviadas
desde cualquier base de datos publicada y las almacena hasta que se envían a los
suscriptores.
4.7 Agentes de Replicación
SQL Server contiene agentes de replicación, que son responsables de las
diferentes acciones que se llevan acabo durante el proceso de replicación.
4.7.1 Agente de Instantáneas
El agente de instantáneas es responsable de preparar el esquema y los archivos
de datos iniciales de los procedimientos almacenados y tablas publicadas, almacenar la
instantánea en el servidor de distribución y registrar información sobre el estado de
sincronización en la base de datos de distribución. Cada publicación tendrá su propio
agente de instantáneas, que se ejecuta en el servidor de distribución.
35
Capitulo 4 cenidet
4.7.2 Agente de Lector de Registro
El agente de lector de registro es responsable de trasladar las transacciones
marcadas para duplicación desde el registro de transacciones de la base de datos
publicada a la base de datos de distribución. Cada base de datos publicada utilizando la
duplicación transaccional dispone de su propio agente de lector de registro, que se ejecuta en el servidor de distribución.
4.Z3 Agente de Distribución
El agente de distribución traslada los trabajos de instantáneas y transacciones
almacenadas en la base de datos de distribución a los suscriptores. Cuando se crea una
nueva suscripción de inserción, las publicaciones transaccionales y de instantánea
definidas para sincronización inmediata tendrán su propio agente de distribución, que se ejecutará en el servidor de distribución. Aquellas publicaciones para las que la
sincronización inmediata no se habilite, compartirán un agente de distribución, que se ejecutará en el servidor de distribución. Las suscnpciones de extracción para
publicaciones transaccionales o por instantánea tienen un agente de distribución que se
ejecuta en el suscriptor.
4.8 Planificación de la Replicación en SQL Server
El proceso de compartir y trasladar datos se denomina a menudo distribución de
datos. Cuando se elige un método para distribuir datos, se deben tener en cuenta vanos
factores. Estos factores son: temponzación y latencia de la replicación; la independencia
o autonomía de las ubicaciones individuales, y la capacidad de particionar los datos para
evitar conflictos.
4.8.1 Temporización y Latencia de los Datos Replicados
Hay disponibles dos modelos en el proceso de distribución de datos: el modelo
denominado coherencia transaccional inmediata, el cual requiere que los datos deben
36
Capítulo 4 cenidn
estar sincronizados en todo momento, y el modelo denominado coherencia transaccional
latente, en el cual la sincronización de los datos no es estricta.
SQL Server implementa la distribución de datos según el método de coherencia
transaccional inmediata a través de un protocolo de compromiso en dos fases. Este
protocolo, denominado a veces 2PC, asegura que las transacciones sean comprometidas
o anuladas en todos los servidores. De esta forma, se asegura que todos los datos en
todos los servidores estén sincronizados en todo momento. Uno de los principales
inconvenientes de la coherencia transaccional inmediata es que requiere una red de área
local (por sus siglas en inglés LAN) de alta velocidad para funcionar. Este tipo de
solución no es factible para entomos grandes con muchos servidores, ya que se pueden
producir intenupciones de red ocasionales.
La coherencia transaccional latente se implementa en SQL Server a través de la
replicación. La replicación permite que los datos se actualicen en todos los servidores,
pero el proceso no se realiza de forma simultánea. El resultado son datos “en tiempo
casi real”. Esto se conoce como coherencia transaccional latente, ya que existe un
retardo entre los datos actualizados en el servidor principal y los datos replicados. En
este escenario, s,i se pudieran detener las modificaciones de datos en todos los
servidores, todos los servidores acabarían teniendo los mismos datos. A diferencia del
modelo de coherencia en dos fases, la duplicación funciona tanto en redes de área local
como de área extendida, con enlaces lentos o rápidos.
4.8.2 Autonomía del Sitio
Cuando se planifica una aplicación distribuida, se debe tener en cuenta el efecto
que tendrá en un sitio una operación realizada en otro. Esto se conoce como autonomía
del sitio. Un sitio con una autonomía completa puede continuar funcionando sin
conectarse a ningún otro sitio. Las aplicaciones que utilizan el protocolo de compromiso
en dos fases, confian en que todos los demás sitios podrán aceptar de forma inmediata
cualquier cambio que se les envíe. En el caso de que un sitio no esté disponible,
entonces ninguna transacción podrá comprometerse en ningún servidor.
37
4.8.3 Métodos de Disíribución de Datos
Después de determinar la latencia transaccional y la autonomía del sitio, es
importante seleccionar el método de distribución de los datos que mejor se ajuste a las
necesidades de la empresa. Cada mktodo de distribución de datos proporciona una
cantidad diferente de autonomía del sitio y latencia.
Transacciones distribuidas. Las transacciones distribuidas aseguran que todos los
sitios tienen exactamente los mismos datos en todo momento.
Duplicación transaccional con suscriptores de actualización. Los usuarios
pueden modificar los datos en la ubicación local y dichos cambios se aplican a la base
de origen al mismo tiempo. Eventualmente, los cambios se duplican a otros sitios. Este
tipo de distribución de datos combina la duplicación y las transacciones distribuidas.
Duplicación iransaccional. Con la duplicación transaccional los cambios se
hacen sólo en la ubicación de origen y se envían a los suscnptores. Puesto que los cambios sólo se efectúan en un sitio, no se producen conflictos.
Duplicación de instantáneas con suscriptores de actualización. Este método es
muy similar a la duplicación transaccional con suscriptores de actualización, ya que los
usuarios pueden modificar los datos en la ubicación local y dichos cambios se aplican a
la base de datos de origen al mismo tiempo. Después la publicación completa que se ha
modificado se duplica a todos los suscriptores. Este tipo de duplicación proporciona una
mayor autonomía que la duplicación transaccional.
Duplicación de instantáneas. Una copia completa de la duplicación se envía a
todos los suscriptores, lo que incluye tanto los datos modificados como los no
modificados.
Duplicación de mezcla. Todos los sitios hacen cambios en los .datos locales de
forma independiente y luego actualizan el publicador.
38
4.9 Tipo de Replicación Seleccionado
Para el desarrollo del presente trabajo de investigación se utilizó el tipo de
replicación transaccional con suscriptores actualizables. A continuación dicho tipo se
describe ampliamente.
4.9.1 Duplicación Transaccional.
Es el proceso de capturar las transacciones del registro de transacciones de la
base de datos publicada y aplicarlas a las bases de datos de suscripción. Con la
duplicación transaccional de SQL Server se puede publicar parte de una tabla, la tabla
completa o uno o más procedimientos almacenados, como si fueran un artículo. Todos
los cambios se almacenan en la base de datos de distribución, y luego se envían y
aplican a las bases de datos suscritas, en el mismo orden en que originalmente se hicieron. En la duplicación transaccional, los cambios se realizan en el publicador. Estos
cambios se propagan a los demás sitios casi en tiempo real. Dado que, normalmente, los
cambios sólo se hacen en el servidor de publicación, no se producen conflictos.
Usualmente, los suscriptores de inserción tardan en recibir las actualizaciones desde el
publicador un minuto o menos, dependiendo de la velocidad y disponibilidad de la red.
Los suscnptores también pueden establecer suscnptores de extracción. Esto es Útil para
usuarios desconocidos, que no siempre se conectan a la red.
El agente de instantáneas, el agente de lector del registro y el agente de
distribución realizan la duplicación transaccional. El agente de instantáneas crea los
archivos que contienen el esquema de la publicación y los propios datos. Los archivos
se almacenan en la carpeta de instantáneas del servidor de distribución y luego los
trabajos de distribución se registran en la base de datos de distribución. El agente de
lector de registro supervisa el registro de transacciones en la base de datos de
distribución. El agente de distribución pasa a los suscriptores la instantánea inicial y las
transacciones almacenadas en la base de datos de distribución.
39
Capitulo 4 cenidet
4.9.1.1 El Agente de Instantáneas
El agente de instantáneas es el proceso que asegura que ambas bases de datos
partan del mismo punto inicial. Este proceso se conoce como sincronización. El proceso
de sincronización se realiza cada vez que hay un nuevo suscnptor en una publicación.
La sincronización sólo ocurre una vez para cada nuevo suscriptor y asegura que
el esquema y los datos de la base de datos sean réplicas exactas en ambos servidores.
Después de la sincronización inicial, todas las actualizaciones se hacen mediante
duplicación.
, En el momento en el que un nuevo servidor se suscribe a una publicación, se
realiza la sincronización. Después de que el proceso de sincronización se ha iniciado y
los archivos de datos se han creado, cualquier inserción, aciualización y borrado se almacena en la base de datos de distribución. Estos cambios no se duplicarán en la base
de datos de suscripción mientras no se complete el proceso de sincronización.
Cuando se inicia el proceso de sincronización, sólo se ven afectados los nuevos
suscnptores. Cualquier suscnptor que ya haya sido sincronizado y que haya recibido
modificaciones no se verá afectado. El conjunto de sincronizaciOn se aplica a todos los
servidores que estén esperando la sincronización inicial. Después de que el esquema y
los datos se han creado de nuevo, todas las transacciones que se han almacenado en el
servidor de distribución se envían al suscriptor.
4.9.1.2 El Agente de Lector de Registro.
Después de que la sincronización inicial ha tenido lugar, el agente de lector de
registro pasa las transacciones del servidor de publicación al servidor de distribución.
Todas las acciones que modifiquen datos en una base de datos, se almacenan en el
registro de transacciones de dicha base de datos. Este registro no sólo se usa en el
proceso automático de recuperación, sino también en el proceso de duplicación.
40
Se crea un artículo para publicación y se activa la suscripción, todos los
elementos de dicho artículo se marcan en el registro de transacciones. Para cada
publicación de una base de datos, un agente de lector de registro lee el registro de
transacciones.
Cuando este agente encuentra un cambio en el registro, lo lee y lo convierte en
instrucciones de SQL que se corresponden con la acción que se tomó en el artículo. A
continuación, las instrucciones de SQL se almacenan en una tabla en el servidor de
distribución. Éste leerá los cambios y los ejecutará en el servidor de suscripción.
4.9.1.3 El Agente de Distribución
Una vez que se han pasado las transacciones a la base de datos de distribución,
el agente de distribución inserta los cambios en los suscriptores o los extrae del
distribuidor, dependiendo de cómo se hayan configurado los servidores. Todas las
acciones que modifican los datos en el servidor de publicación, se aplican a los
servidores de suscripción en el mismo orden en que se realizaron.
4.9.1.4 Limpieza
Al momento de que se instala la duplicación en un servidor SQL Server, se
añaden tres tareas para mantener el proceso de duplicación en ejecución durante largos
periodos de tiempo: la limpieza del agente, la limpieza de transacciones y la limpieza
del historial. Estas tareas conservan la información de las transacciones durante un
periodo de tiempo, denominado periodo de conservación, luego, las transacciones se
borran de la base de datos de distribución.
4.9.1.5 Suscriptores de Actualización Inmediata.
Se pueden configurar las publicaciones para admitir suscnpciones de
actualización inmediata, en las que el suscriptor puede modificar los datos duplicados.
41
Este proceso utiliza el compromiso en dos fases para enviar transacciones ai
publicador, de modo que se pueda escribir una aplicación como si estuviera
actualizando un único sitio. En esta configuración, sólo el publicador y el suscnptor que
requiera modificar los datos necesitan estar disponibles. Después de realizado el cambio
en el suscnptor y enviado al publicador, se puede enviar a los restantes suscriptares de
la publicación. Los suscnptores que realizan actualizaciones no tienen autonomía
completa, ya que el publicador debe estar disponible en el momento de la modificación
de los datos.
42
Capítulo 4 cenidet
.Capítulo
Modelo Matemático Propuesto
En este capítulo se presenta un modelo que unifica la fragmentación,
ubicación y replicación de datos. Las expresiones matemáticas desarrolladas
modelan el funcionamiento de la replicación de tipo transaccional del Sistema
Aministrador de Bases de Datos Relaciona1 SQL Server.
5.1 Introducción
En este trabajo se desarrolla un modelo que considera a los atributos como
unidades de datos independientes que pueden ubicarse y replicarse en los diferentes
sitios de una red. El problema de diseño de disiribución es formulado como un problema de programación lineal entera. En particular, se modela la fragmentación,
ubicación y replicación del comportamiento de la replicación transaccional de datos en
un ambiente distribuido empleado por el Sistema Administrador de Bases de Datos
Relaciona1 (por sus siglas en inglés, SABDR) SQL Server.
Otra característica del modelo es que permite generar nuevos esquemas de
replicación que se adaptan a los cambios en los patrones de acceso en las aplicaciones
de lectura o escritura. Logrando así, que el esquema de la base de datos se adapte a la
característica dinámica de un sistema distribuido y evitando la degradación de dicho
sistema.
En la siguiente sección se describe el modelo de fragmentación, ubicación y
replicación dinámica de datos, así mismo se explican los términos que lo componen, los
paráinetros que intervienen, y la forma de cómo obtener sus valores.
5.2 Función Objetivo
La expresión (1) representa la función objetivo desarrollada en este trabajo de
investigación, la cual modela los costos de transmisión y de acceso a los datos usando
tres términos, cada uno de los cuales con sus respectivos parámetros se explican en las
siguientes subsecciones.
5.2.1 Costos de Transmisión de Datos para Aplicaciones de Consulta
44
Capitulo 5 cenidet
La expresión (2) modela los costos de transmisión de los datos necesarios para
satisfacer cada una de las aplicaciones de lectura que son efectuadas desde cada uno de
los sitios. Esto es, para cada consulta que se efectúa desde cada nodo se multiplica la
frecuenciaAi con que se realiza la aplicación de lectura k desde el sitio j por el costo de
acceder a cada uno de los aiributos que participan en la aplicación.
S.2.I .I Frecuencia de Acceso en Aplicaciones de Lectura fe
Este parámetro puede ser obtenido a traves del monitoreo de las aplicaciones de
consultas que se realizan en un SABDD. Como lo muestra [Kauffinan,2000], dicho
parámetro puede ser obtenido empleando principios de Bases de Datos Activas.
Para el desarrollo de pruebas de este trabajo de investigación, a este parametro
se le asignaron valores mínimos que nos permitieran validar la funcionalidad del
modelo.
5.2. I .2 Atributos por Consulta qkm
Este parámetro se obtiene a partir del análisis de las aplicaciones de lectura mas
relevantes en el sistema.
5.2.1.3 NUmero de Paquetes de Comunicación lkm
Este parámetro puede ser obtenido a través de la expresión (2.1),
donde:
p , : se refiere al tamaño en bytes del atributo ni
45
sk : selectividad de la aplicación de lectura k (número de tuplas retornadas cuando la
consulta k es ejecutada [Elm,1989])
PA : tamaño del segmento del paquete de comunicación. Este parámetro puede variar
entre las distintos tipos de redes. Cuando es necesario que se fragmenten los
paquetes que se desplazan de una red que admite paquetes de gran tamaño, a otra
cuyo tamaño de los datos tenga un limite inferior. El tamaño de los paquetes se
ajusta al sitio cuyo tamaño sea menor. Cuando tiene lugar una fragmentación de
paquetes, se copia la información sobre el origen y el destino en cada uno de los
nuevos paquetes creados. También se guarda en cada uno de ellos la información
necesaria para que el dispositivo receptor pueda ensamblar los paquetes
fragmentados y formar la secuencia original [Ray,1998]. Durante. la
configuración de conexión, cada sitio anuncia el tamaño de sus paquetes, si un
sitio no tiene activada esta opción por omisión se utilizan 536 bytes. Con fines prácticos y para el desarrollo de este trabajo se les estableció un tamaño de 536
bytes.
5.2.1.4 Costo de Transmisión entre el Sitio i y el Sitio j c;,
Experimentalmente se puede obtener con los siguientes pasos:
1. Para cada sitio medir el tiempo que tarda el manejador en hacer una consulta que
acceda a atributos ubicados en cada uno de los sitios del sistema.
Realizar nuevamente la operación anterior en tiempo diferente.
Obtener un promedio de tiempo de transmisión para cada sitio.
Asignar un costo para cada unidad de tiempo.
2. 3.
4.
5.2.2 Costos de Transmisión de Datos para Aplicaciones de Escritura
46
La expresión (3) modela los costos de transmisión de los datos necesarios para
satisfacer cada una de las aplicaciones de escritura que son efectuadas desde cada uno
de los sitios.
Esto es, para cada aplicación de escritura que se efectúa desde cada nodo se
multiplica la frecuencia y, con que se realiza la consulta k desde el nodoj por el costo
del protocolo de actualización cu, y esto a su vez por el costo de acceder a cada uno de
los sitios que contienen atributos replicados en la aplicación de escritura.
5.2.2.1 Costo de Actualización cu
Debido a que este costo puede variar de un sistema administrador de bases de
datos a otro, este aspecto se incluye como un parámetro cuyo valor debe ser
suministrado por el diseñador de la base de datos.
Experimentalmente se puede obtener con los siguientes pasos:
1. Medir el tiempo que tarda el manejador en ejecutar una aplicación de
actualización desde un sitio hacia la copia primaria.
Medir el tiempo de propagación de las actualizaciones hacia los sitios que
contienen las réplicas.
Repetir los pasos 1 y 2 en diferente tiempo.
Obtener un promedio de tiempo de actualización de datos.
Asignar un costo para una unidad de tiempo.
2.
3.
4.
5 .
S.2.2.2 Frecuencia de Acceso en Aplicaciones de Escritura f ’h ,
Este parámetro es obtenido de la misma forma que como se explica en la
sección 5.2.1.1, la diferencia radica en que en f k, se monitorean las aplicaciones de
escritura.
41
5.2.2.3 Tamaño en Bytes de la Instrucción de SQL I
@,)/PA (3.1) donde:
Pk : tamaño en bytes de la instrucción ken SQL para efectuar una actualización
PA : tamaño del segmento del paquete de comunicación.
5.2.2.4 Costo de Comunicación entre el Sitio de la Copia Primuria p y el Sitio i cpi
Dado que el protocolo de actualización de réplicas utilizado por SQL Server es
el método de copia primaria, se requiere que el diseñador determine un sitio y que será
designado a tener la copia primaria. El sitio p contiene todos los atributos involucrados
en el sistema.
Experimentalmente se puede obtener con los siguientes pasos:
1. Medir el tiempo que tarda el manejador en transmitir datos desde el sitio de la
copia primaria hacia cada uno de los sitios que contienen réplicas de datos.
Realizar nuevamente la operación anterior en tiempo diferente.
Obtener un promedio de tiempo de transmisión para cada sitio.
Asignar un costo para cada unidad de tiempo.
2. 3.
4.
5.2.3 Costos de Transmisión para Copiar Datos de un Nodo a Otro.
La expresión (4) modela los costos de transmisión para copiar los datos del sitio p
designado a ser la copia primaria hacia un nodo designado a tener una copia o réplica de
datos. Es decir, el costo de transmisión del atributo m desde el sitio de la copia primaria
'a otro sitio se multiplica por el número de paquetes de comunicación requeridos para
transmitir el atributo m.
48
5.2.3. I Parametro d,,,
Parámetro que puede ser obtenido a través de la expresión (4.1)
@,,, * CA)/PA
donde:
pm : CA :
PA :
tamaño en bytes del ahibuto m;
cardinalidad de la relación;
tamaño del segmento del paquete de comunicación.
(4.1)
5.3 Restricciones Intrínsecas del Problema
Debido a que se consideran ahibutos replicados, se especifica que todos los
atributos deben estar almacenados al menos en el sitio designado a contener la copia
primaria. Cuando existan copias de ahibutos, se modela la consideración de usar la
copia con menor costo al efectuarse una consulta. Se considera la restricción de
ubicación mientras no se exceda la capacidad del sitio. Estas restricciones se expresan
de la siguiente manera:
1) x _ = I V m
todos los atributos deben estar ubicados en el sitio que será
designado a contener la copia primaria.
donde:
p = sitio donde reside la copia primaria;
cada atributo m debe ser ubicado en un sitio i que ejecute
al menos una consulta k que lo use;
49
Capítulo 5
3) ns xmi - wjm, 2 o J
V m , i
m
Vi
cuando exista un atributo m ubicado en un sitioj, puede ser
accedido desde un sitio i;
donde:
ns= número de sitios del problema a resolver;
modela la condición de acceder desde el sitioj a sólo un
sitio i donde se encuentre ubicado el atributo m;
la suma de los atributos que forman un
fragmento asignados en el sitio i no debe
exceder su capacidad;
donde:
CSi=capacidad del sitio i.
5.4 Solución del Modelo
El modelo presentado es formulado como un problema de programación lineal
entera y puede ser resuelto mediante las técnicas de programación lineal tradicional. Se
escribió un programa en C++ ver 1.0 que a partir de los datos de entrada genera los
coeficientes de la función objetivo y las restricciones del modelo. El número de
variables de decisión y de restricciones de un modelo a resolver, están en relación
directa con el número de atributos que intervienen en la aplicación y el número de sitios
en la red.
La solución es obtenida mediante la utilización de bibliotecas comerciales de
Programación Lineal Entera de la compañía LINDO, las cuales utilizan como método
de solución el algoritmo de “Ramificar y Acotar”.
50
Capítulo 5 cenidet
5.4.1 Método de Ramificar y Acotar
La idea general del método de ramificar y acotar, es realizar una partición
del conjunto de soluciones factibles de un problema dado, en subconjuntos que
no se traslapen. Posteriormente se calculan los limites para el valor de la mejor
solución en cada subconjunto. Después por medio de un análisis se eliminan
ciertos subconjuntos (la solución que no era factible no se incluye en la nueva
región factible). De esta manera se enumeran parcialmente (en oposición a la
enumeración total) todas las soluciones factibles existentes. El proceso de dividir
y eliminar continúa hasta que puede demostrarse que ninguno de los
subconjuntos tiene una solución óptima que sea mejor que una solución entera
calculada con anterioridad.
Las estrategias que se utilizan en el método de ramificar y acotar son
Ramificación y Acotamiento.
La estrategia de Ramificación consiste en dividir la región factible en
segmentos dando como resultado nuevos subproblemas menores. El proceso de
solución al nivel del subproblema será más simple. El propósito de la
ramificación 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.
La estrategia de Acotamiento obtiene límites de las soluciones. Se tiene un
límite superior del óptimo global en el momento en que el algoritmo produzca
una solución entera. Este límite cambia siempre que una mejor solución entera
aparece durante la ejecución del algoritmo. Por otro lado, el costo mínimo de
cada subproblema creado por ramificación establece un limite inferior para el
valor de la mejor solución entera de este subproblema. Una buena estrategia de
acotamiento 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.
51
Capitulo 5 cenidet
A continuación se presenta el algoritmo del método de Ramificar y Acotar.
Paso 1. Inicialización
El método inicia considerando que el problema lineal relajado cubre la
región factible completa, a la cual se le llama 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. En caso contrario, se continúa con los siguientes pasos.
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, se obtiene en x la mejor solución lineal del subproblema correspondiente,
la cual se convierte en una cota inferior z (x ) que delimita el valor de la mejor
solución entera del nodo. Cada nodo es un problema candidato para ser elegido
en el siguiente paso.
Paso 4. Selección
Se selecciona un nodo candidato desde el cual se ramifica. Cada nuevo
nodo se sondea o se excluye. Para esto, se determina la mejor solución lineal del
nodo, si es entera, entonces se encontró un Óptimo local del problema original,
pero no es necesariamente el Óptimo 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 una
solución entera, la solución Óptima global no se encuentra en el subespacio de la
región factible representada por el nodo. Por lo tanto, el nodo puede ser ignorado.
52
Capitulo 5 cenidet
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 o podados. La
mejor de todas las soluciones enteras es aquélla con el menor costo. Si existe,
hemos encontrado el óptimo global, si no existe, el problema no tiene solución.
5.5 Complejidad del Modelo
La ubicación y replicación de datos es un problema complejo y su solución no es
trivial debido al número de parámetros que intervienen en el modelado y a la
complejidad de la solución, ya que el espacio de soluciones es muy amplio aún para
problemas de tamaño pequeño.
La formulación del problema ha sido considerado como NPCompleto
[Lin,1995]. Ademas, si se considera que esta ubicación puede ser resuelta considerando
réplicas, esto es, permitiendo que los fragmentos se encuentren replicados en diversos
sitios de la red, el número de alternativas crece considerablemente.
Para mostrar el número de posibles alternativas que debenan evaluarse si se
hiciera una enumeración exhaustiva de todas las posibles ubicaciones de los fragmentos,
se presenta un ejemplo que consta de 5 sitios y 4 fragmentos.
En las siguientes secciones se calcula el número de posibles asignaciones.
5.5.1 Ubicación no Replicada
Si no existen réplicas de los fragmentos en los sitios, el número de ubicaciones
paraffragmentos ens sitios está dado por sf[Dow, 19821.
53
Capítulo 5 cenidet
Los calculos se realizan como se muestra en la Figura 5.1, dando lugar a
5*5*5*5 = 54= 625 alternativas.
4 diferentes ubicaciones del fragmento A en los sitios Fragmento A
4 diferentes ubicaciones del fragmento B en los sitios
Fragmento B
4 diferentes ubicaciones del fragmento C en
Fragmento C los sitios
4 diferentes ubicaciones del fragmento Den los SltlOS
Fragmento D
Figura 5.1 Ubicación no replicada de fragmentos.
5.5.2 Ubicación Replicada
Si existen réplicas de los fragmentos en los sitios, entonces el numero de
alternativas se incrementa notablemente (2’-lf[Per,1999].
Como lo muestra la figura 5.2 para este caso existen (z4 -1 )5 = 759 375
altemativas.
54
Capítulo 5 cenidet
L Fragmento A
Fragmento B
Fragmento C
If__t_Lf Fragmento D
Figura 5.2 Ubicación replicada de fragmentos.
2'- I ubicaciones del fragmento A en los sitios
2 4 - I ubicaciones del fragmento A en los sitios
z 4 - 1 ubicaciones del fragmento A en los sitios
2'- I ubicaciones del fragmento A en Inc sitios
55
Capítulo 6
Capítulo
Casos de Prueba
En este capítulo se presentan diferentes casos de pruebas realizados al modelo.
Dichas pruebas tienen como propósito mostrar la funcionalidad del modelo
implementado en el presente trabajo de investigación.
Capitulo 6 cenidet
6.1 Casos de Pruebas en el Modelo
En las siguientes secciones se describen diferentes casos de prueba realizados al
modelo, el objetivo de cada prueba, los resultados esperados, los datos de entrada, así
como los resultados obtenidos.
Los casos de prueba presentados en este capítulo han sido diseñados de un
tamaño mínimo, con la finalidad de que el lector verifique que el modelo genera
esquemas de ubicación y replicación que se adaptan a los datos estadísticos de entrada.
Sin embargo, el modelo es capaz de funcionar para casos de prueba que involucren 500
restricciones y 1000 variables.
6.1.1 Prueba 1: Aplicaciones de Lectura
Objetivo de la prueba:
Demostrar que el uso de réplicas, cuando se tienen sólo consultas de
lectura, reduce los costos de transmisión debido a que los accesos se realizan
en la copia local.
Datos de entrada:
> 3 sitios Si, S2, S3 .
hLa capacidad de almacenamiento en disco para cada sitio i (CSJ se muestra en la
Tabla 6- 1.
Tabla 6.1 Capacidad de almacenamiento en disco para cada sitio.
~
57
Capítulo 6 cenidet
pm
m1
P 3 aplicaciones kl , k2, k3. k Las aplicaciones kl, k2, k3 son de lectura.
P3 atributos mi, m2, m3.
P El tamaño en bytes de cada atributo m (pm) se muestra en la Tabla 6.2
Tamaño en bytes del atributo
10
4km mi
ki
k2
ki
J
P En la Tabla 6.3 se muestra cómo cada consulta k utiliza diferentes atributos m
( q k m ) .
m2 7 m
J J
J
J
hi si s2
ki 50
k2 50
k3
P En la Tabla 6.4 se muestra cómo cada consulta k se efectúa con diferente
frecuencia desde cada sitioj (f&).
s3
50
P El tamaño en bytes del bloque de comunicación (PA) es de 536.
P L a seiectividad de cada consulta se muestra en la Tabla 6.5.
58
cenidet Capitulo 6
Tabla 6.5 Selectividad de las consultas.
Ci SI Sl o s2 10
s3 20
>El costo de actualización (Cv) es de 5 .
P El sitio designado a contener la copia primaria es el sitio I .
PEl costo de transmisión (Cji) entre sitios se muestra en la Tabla 6.6.
'S2 s3 10 20
O 30
30 O
Tabla 6.6 Costo de transmisión entre sitios.
Resultados esperados:
Debido a que las frecuencias con que se ejecutan las consultas desde cada uno de
los sitios son las mismas, se espera que en Si se ubiquen los atributos nti, rn2, rn3. En S2
el aiributo m2. En S3 el atributo m3.
Formulación del modelo:
SUBJECT TO
2) X1,l +X2,1 +X3,1 = 3
3) 3X1 ,1 -W1, l , 1 -W2 ,1 ,1 -W3 ,1 ,1~= O
4) 3X2,1-W1,2,1-W2,2,1-W3,2,1>= O
5) 3 X2,2 - W1,2,2 - W2,2,2 - W3,2,2 >= O
6 ) 3X3,1-W1,3,1-W2,3,1-W3,3,1>= O 59
Capitulo 6 cenidet
7) 3 X3,3 - W1,3,3 - W2,3,3 - W3,3,3 >= 0
8) Wl, l , l = 1
9) w1,2,1 +w1,2,2 = 1
11) w2,1,1 = 1
12) w2,2,1 + w2,2,2 = 1
10) W1,3,1 + Wl,3,3 = 1
13) W2,3,1 + W2,3,3 = 1
14) W3,1,1 = 1
15) W3,2,1 + W3,2,2 = 1
16) W3,3,1 + W3,3,3 = 1
17) 50 X1,l + 100 X2,l + 150 X3,l <= 800
18) 1OOX2,2<= 500
19) ljOX3,3<= 500
END
Resultados de la prueba:
En la Figura 6.1 se muestra la ubicación y replicación de los atributos, el valor
de la función objetivo y el tiempo de solución del modelo.
Aplicación de lectura Tiempo de Solución del Modelo en seg: 0.060000 u
Funcion Objetivo = 7.462687
Figura 6.1 Esquema de ubicación y replicacióo para aplicaciones dc sólo lectura.
60
Capitulo 6 cenidet
Conclusión:
Debido a que en esta prueba sólo se tienen consultas de lectura los atributos se
replican en los sitios donde se efectúan consultas que los usen. De esta forma se
disminuyen los costos de transmisión entre sitios, debido a que los accesos se realizan
de manera local. Si no existieran réplicas, el valor de la función objetivo se
incrementaria debido a que mz y mj se ubicarian en un solo sitio, y los demás sitios que
efectuaran consultas que involucraran dichos atributos, tendrían que acceder al sitio de
ubicación del atributo.
6.1.2 Prueba 2: Apliraciones de Esrritura
Objetivo de la prueba:
Mostrar que, cuando se tienen únicamente aplicaciones de escritura, no es
conveniente tener réplicas de los atributos.
Datos de entrada:
Los datos de entrada son iguales que para la prueba que se muestra en la sección
6.1 . I , la única diferencia radica en que las consultas para la prueba 2 son de escritura, es
decir:
> Las consultas k,. kz, k3 son de escritura.
Resultados esperados:
Que los datos permanezcan en el sitio destinado a contener la copia primaria.
Formulación del modelo:
MIN 934.7015 X2,2+2804,104X3,3+ 18 W1,2,2+ 55 W1,3,3 + 18 W2,2,1
+ 55 W3,3,1
61
Capítulo 6 cenidet
SUBJECT TO
2) X1,l +x2,1 +x3 ,1 = 3
3) 3x1,1-w1,1,1-w2,1,1-W3,1,1>= 0
4) 3 x2,1 -w1,2,1 -w2,2,1 - W3,2,1 >= 0
5) 3 X2,2 - W1,2,2 - W2,2,2 - W3,2,2 >= O 6) 3X3,1-W1,3,1-W2,3,1-W3,3,1>= O
7) 3 X3,3 - W1,3,3 - W2,3,3 - W3,3,3 >= O 8) W l , l , l = 1
9) w1,2,1 +w1,2,2 = 1
11) w2,1,1 = 1
12) w2,2,1 + w2,2,2 =
10) W1,3,1 + W1,3,3 = 1
13) W2,3,1 + W2,3,3 =
14) W3,1,1 = 1
15) W3,2,1 + W3,2,2 =
16) W3,3,1 + W3,3,3 =
17) 50X1,l + 1OOX2,l + 150X3,l <= 800
18) 1OOX2,2<= 500
19) 150X3,3<= 500
END
Resultados de la prueba:
En la Figura 6.2 se muestra la ubicación y replicación de los atributos, el valor
de la función objetivo, y el tiempo de solución del modelo.
Conclusión:
Cuando se tienen aplicaciones únicamente de escritura, no es conveniente replicar los atributos. Lo anterior es porque las réplicas se deben mantener consistentes,
lo que significa que si se realiza una aplicación de escritura sobre un atributo y dicho
atributo tiene réplica, existirá un costo por mandar la aplicación de escritura sobre la
réplica, incrementando así el valor de la función objetivo del modelo.
62
Capítulo 6 cenidet
A Atributo
Aplicación de escritura
Tiempo de Solución del Modelo en seg: 0.020000
Funcion Objetivo = 73.000000
Figura 6.2 Esquema de ubicación y replicación para aplicaciones de sólo escritura
6.1.3 Prueba 3: Aplicaciones de Lectura y Escritura
Objetivo de la prueba:
Demostrar que, cuando se tienen consultas tanto de lectura como de escritura, el
modelo optimiza el costo de transmisión en el sistema.
Datos de entrada:
Los datos de entrada son iguales que para la prueba que se muestra en la sección
6.1.1, la diferencia se establece a continuación:
P Las consultas k , y k2 son de lectura y k3 es de escritura.
63
Capítulo 6 cenidet
Resultados esperados:
Se espera que el atributo m3 no se replique debido a que k3 es una aplicación de
escritura.
Formulación del modelo:
MIN 1.865672 X2,2 + 1404.851 X3,3 + 18 W1,2,2 + 55 W1,3,3 + 18 W2,2,1
+ 55 W3,3,1
SUBJECT TO 2) X1,l +X2,1 +X3,1 = 3
3) 3 X1,l -Wl , l , l - W2,1,1 - W3,1,1 >= O
4) 3 X2,l - W1,2,1 - W2,2,1 - W3,2,1 >= O
5) 3 X2,2 - W1,2,2 - W2,2,2 - W3,2,2 >= O
6) 3 X3,l - W1,3,1 - W2,3,1 - W3,3,1 >= O
7) 3 X5,3 - W1,3,3 - W2,3,3 - W3,3,3 >= O
8) WI,l,l = 1
9) w1,2,1 + w1,2,2= 1
11) w2,1,1 = 1
12) w2,2,1 + w2,2,2 = 1
IO) W1,3,1 + W1,3,3 = 1
13) W2,3,1 + W2,3,3 = 1
14) W3,1,1 = 1
15) W3,2,1 + W3,2,2 = 1 16) W3,3,1 + W3,3,3 = 1
17) 50 X1,l + 100 X2,l + 150 X3,l <= 800
18) IOOX2,2<= 500
19) 150X3,3<= 500
END
64
Capítulo 6 cenidet
Resultados de la prueba:
En la Figura 6.3 se muestra la ubicación y replicación de los atributos, el valor
de la función objetivo y el tiempo de solución del modelo.
sitios
/m\ Atributo
Atributo Replicado
Aplicación de Lectura
Aplicación de Escritura
Tiempo de Solución del Modelo en seg: 0.050000
Funcion Objetivo = 56.865673
Figura 6.3 Esquema de ubicación y replicación para apticaciones de lectura y escritura.
Conclusión:
Cuando existen aplicaciones tanto de leciura como de escritura, el modelo
matemático optimiza los costos totales de transmisión de las aplicaciones. Para el caso
específico de la presente pmeba, se tiene que k, (aplicación de lectura) y k3 (aplicación
de escritura) utilizan m3. El modelo no replica m,, porque las frecuencias y los costos de
transmisión son los mismos, además m j se encuentra inicialmente ubicado en el sitio de
la copia primaria
65
Capitulo 6 cenidet
kz
ki
6.1.4 Prueba 4: Cambio en Frecuencias de Aplicaciones
10
10
Objetivo de la prueba:
Demostrar que, al cambiar las frecuencias de ejecución de las
aplicaciones, se genera un nuevo esquema de ubicación y replicacidn que
optimiza los costos de transmisión.
Para demostrar esta prueba se presenta en la subsección 6.1.4.1 un caso de
prueba con un número determinado de frecuencias de ejecución de aplicaciones, y en la
subsección 6.1.4.2 se realizan modificaciones en las frecuencias de ejecución de dicho
caso.
6.1.4.1 Esquema de Ubicación y Replicación para Aplicaciones de Lectura con Mismo
Número de Frecuencias
Datos de entrada:
Los datos de entrada son iguales que para la prueba que se muestra en la sección
6.1.1. Las diferencias se establecen a continuación:
>Las consultas k, .k2 y k3 son de leciura.
>En la Tabla 6.7 se muestra cómo cada consulta k se efectúa con diferente
frecuencia desde cada sitio j fij).
Tabla 6.7 Frecuencias de emisión de la consulta k desde cada sitio j.
Capitulo 6 cenidet
qkm
ki
k2
k3
mi m2 m3
J J J
J J
J
Resultados esperados:
Debido a que las frecuencias con que se ejecutan las consultas desde cada uno de
los sitios son las mismas, se espera que en Si se ubiquen los atributos mi, mz. m3. En S,
los atributos m2. m3. En S3 el atributo m3.
Formulación del modelo:
MiN 0.9328358 X1,2 + 1.865672 X2,2 + 5.597015 X3,3 + W1,1,2 + 3 W1,2,2
+ 11 W1,3,3 +W2,1,1 + 3 W2,2,1 + 11 W3,3,1
SUBJECT TO 2) X1,l +X2,1 +X3,1 = 3
3) 3 X1,l - Wl,l, l - W2,1,1 - W3,1,l >= O
o 5) 3X2,1-W1,2,1-W2,2,1-W3,2,1>= O
6) 3 X2,2 - W1,2,2 - W2,2,2 - W3,2,2 >= O
7) 3 X3,i - W1,3,1 - W2,3,1 - W3,3,1 >= O
8) 3 X3,3 - W1,3,3 - W2,3,3 - W3,3,3 >= O
4) 3 x1,2 - w1,1,2 - w2,1,2 - w3,1,2 >=
9) Wl,I, l +w1,1,2= 1
10) w1,2,1 + w1,2,2 = 1
12) w2,1,1 + w2,1,2 = 1
11) W1,3,1 + W1,3,3 = 1
13) W2,2,1 + W2,2,2 = 1
14) W2,3,1 + W2,3,3 = 1
15) W3,1,1 + W3,1,2 = 1
61
Capítulo 6 cenidet
16) W3,2,1 + W3,2,2 = i
17) W3,3,1 + W3,3,3 = i
18) 50 x1,1 + 100 x2,1,+ 150 x3, l <= 800
19) 50 X1,2 + 100 X2,2 <= 500
20) 150X3,3<= 500
END
Resultados de la prueba: '
En la Figura 6.4 se muestra la ubicación y replicación de los atributos, el valor
de la función objetivo, y el tiempo de solución del modelo.
Frecuencia 1 Frecuencia 10.
Sitios
A Atributo
Frecuencia
Tiempo de Solución del Modelo en seg: 0.060000
Funcion Objetivo = 8.395522"
Figura 6.4 Esquema de ubicación y replicación para aplicaciones de lectura con mismo número de frecuencias.
68
Capitulo 6 cenidet
hi Si ki 50
kz
k3
6.1.4.2 Esquema de Ubicación y Replicación para Aplicaciones de Lectura con Número
de Frecuencias Diferentes
sz s3
1
10
Datos de entrada:
Los datos de entrada son iguales que para la prueba que se muestra en
la subsección 6.4.1.1. La diferencia se establece a continuación:
3 En la Tabla 6.9 se muestra cómo cada consulta k se efectúa con diferente
frecuencia desde cada sitioj cf&
Tabla 6.9 Frecuencias de emisión de la consulta k desde cada sitio j.
Resultados esperados:
Debido a que la frecuencia con que se ejecuta k, se incrementó y la frecuencia
con que se ejecuta kz disminuyó, se espera que en SI se ubiquen los ahibutos mi, m2, n13,
y en S3 se ubique el atributo m3.
Formulación del modelo:
MIN 0,9328358 X1,2 + 1.865672 X2,2 + 5.597015 x3,3
+ 9 W1,1,2 + 18 W1,2,2+55 W1,3,3 + 11 W3,3,1
SUBJECT TO
2) X1,l + X2,l + X3,l = 3
3) 3 X1,l - Wl, l , l - W2,1,1 - W3,1,1 >= O
4) 3x1,2-w1,1,2-w2,1,2-w3,1,2>= O
69
Capítulo 6 cenidet
5 ) 3 m , 1 -w1,2,1 - w2,2,1 - W3,2,1 >= 0
6) 3 X2,2 - W1,2,2 - W2,2,2 - W3,2,2>= 0
7) 3 X3,l - W1,3,1 - W2,3,1 - W3,3,1 >= O
8) 3 X3,3 - W1,3,3 - W2,3,3 - W3,3,3 >= O
9) Wl,l , l +w1,1,2= 1
10) w1,2,1 + w1,2,2 = 1
12) w2,1,1 + w2,1,2 = ' 1 13) W2,2,1 + W2,2,2 = 1
14) W2,3,1 + W2,3,3 = I
15) W3,1,1 + W3A2 = 1
16) W3,2,1 + W3,2,2 = 1
17) W3,3,1 + W3,3,3 = 1
18) 50 X1,1+ 100 X2,l + 150 X3,i <= 800
11) W1,3,1 + W1,3,3 = 1
19) 50 X1,2 + 100 x2,2 <= 500
20) 1SOX3,3<= 500
END
Resultados de la prueba:
En la Figura 6.5 se muestra la ubicación y replicación de los atributos,
el valor de la función objetivo, y el tiempo de solución del modelo.
70
Capítulo 6 cenidet
Frecuencia 50
S2
GI Frecuencia
1
Tiempo de Solución del Modelo en seg: 0.060000
Fuiicion Objetivo = 5.597015
Frecuencia 10
Sitios
A Atributo
Replicado
Aplicación de Lectura
gura 6.5 Esquema de ubicación y replicacih para aplicaciones de lectura con número frecuencias diferentes.
Conclusión :
Al cambiar las frecuencias de ejecución de las aplicaciones, el modelo obtiene
nuevos esquemas de ubicación y replicación que optimizan los costos de transmisión.
6.1.5 Prueba 5: Capacidad de Almacenamiento Restringida
Objetivo de la prueba:
Mostrar que, cuando se restringe la capacidad de almacenamiento en disco en
cada sitio, se repercute en el esquema de ubicación y replicación así como también en el
valor de la función objetivo.
71
Capítulo 6 cenidet
Para demostrar esta prueba se presenta en la subsección 6.1.5.1 un caso de
prueba cuyos sitios tienen capacidad de almacenamiento suficiente para ubicar los
atributos, y en la subsección 6.1.4.2 se presenta el caw en el cual existe un sitio que no
tiene capacidad de almacenamiento suficiente y obliga al modelo a ubicar los atributos
optimizando los costos de transmisión.
6.1.5.1 Esquema de Ubicación y Replicacibn con Espacio de Almacenamiento
Suficiente para Ubicar los Atributos
Datos de entrada:
Los datos de entrada son iguales que para la prueba quc se muestra en la sección
6.1.4.1.
Resultados esperados:
Se espera que en Si se ubiquen los atributos mi, r n z , mi. En Sz los atributos W ,
ni]. En SI el atributo n i l .
Formulación del modelo:
MIN 0.9328358 X1,2 + 1.865672 X2,2 + 5.597015 X3,3 + Wl,1,2 + 3 W1,2,2
+ 11 W1,3,3 +W2,1,1 + 3 W2,2,1 + 11 W3,3,1
SUBJECT TO 2) X1,l +X2,1 +X3,1 = 3
3) 3Xl,l-W1,1,l-W2,1,1-W3,1,1>= O
4) 3X1,2-W1,1,2-W2,1,2-W3,1,2>= O
5) 3 X2,l - W1,2,1 - W2,2,1 - W3,2,1 >= O
6) 3 X2,2 - W1,2,2 - W2,2,2 - W3,2,2 >= O
7) 3 X3,l - W1,3,1 - W2,3,i - W3,3,1 >= O
8) 3 X3,3 - W1,3,3 - W2,3,3 - W3,3,3 >= O
72
Capítulo 6 cenidet
9) Wl,l,l + w1,1,2= 1
10) w1,2,1 + w1,2,2= 1
12) w2,1,1 + w2,1,2 = 1
11) W1,3,1 + W1,3,3 = 1
13) W2,2,1 + W2,2,2 = ' 1 14) W2,3,1 + W2,3,3 = 1
15) W3,1,1 + W3,1,2= 1
16) W3,2,1 + W3,2,2 = 1
17) W3,3,1 + W3,3,3 = 1
18) 50 X1,l + 100 X2,1 + 150 X3,l <= 800
19) 50 X1,2 + 100 X2,2 <= 500
20) 15OX3,3 <= 500
END
Resultados de la prueba: En la Figura 6.6 se muestra la ubicación y replicación de los atributos, el valor
de la función objetivo, y el tiempo de solución del modelo.
A A A
SI S,
€3 500 Bytes
a Sitios
A Atributo
Atributo Replicado ,A ,..?Y ,.j>
Tiempo de Solución del Modelo en seg: 0.060000
Funcion Objetivo = 8.395522
Almacenamiento
Figura 6.6 Esquema de ubicación y replicación con espacio de almacenamiento suficiente para ubicar los atributos.
73
Capitulo 6 cenidet
6.1.5.2 Esquema de Ubicación y Replicación con Espacio de Almacenamiento Restringido en SZ
Datos de entrada:
Los datos de entrada son iguales que para la prueba que se muestra en la sección
6.1. I . En esta prueba se restringe la capacidad de almacenamiento en SZ.
F La capacidad de almacenamiento se muestra en la tabla 6.1 O.
Tabla 6.10 Capacidad de almacenamiento en disco para cada sitio.
s3 500
Resultados esperados:
Se espera que en S, no exista ubicación de atributos debido a que no se tiene la
capacidad de almacenamiento necesaria.
Formulación del modelo:
MIN 0.9328358 X1,2 + 1.865672 X2,2 + 5.597015 X3,3 + W1,1,2 + 3 W1,2,2
+ 1 1 W1,3,3 + W2,l , I + 3 W2,2,1 + 1 1 W3,3,1
SUBJECT TO 2) X1,l +X2,1 +X3,1 = 3 3) 3X1,1-W1,1,1-W2,1,1-W3,1,1>= O
4) 3X1,2-W1,1,2-W2,1,2-W3,1,2>= O
5) 3X2,1-W1,2,1-W2,2,1-W3,2,1>= O
6) 3 X2,2 - W1,2,2 - W2,2,2 - W3,2,2 >= O
74
Capítulo 6 cenidet
7) 3x3,~-W1,3,1-W2,3,1-W3,3,1>= O
8 ) 3 X3,3 - W1,3,3 - W2,3,3 - W3,3,3 >= O
9) WI, l , l +w1,1,2= 1
IO) w1,2,1 + w1,2,2 = 1
12) w2,1,1 + w2,1,2 = 1
1 I ) W1,3,1 + W1,3,3 = 1
13) W2,2,1 + W2,2,2 = 1
14) W2,3,1 + W2,3,3 = 1
15) W3,1,1 + W3,1,2 = 1
16) W3,2,1 + W3,2,2 = 1
17) W3,3,1 + W3,3,3 = 1
18) 50 X1,l + 100 X2,1+ I50 X3,l <= 800
19) 50 X1,2 + 100 X2,2 <= 5
20) 150 X3,3 <= 500
END
Resultados de la prueba:
En la Figura 6.7 se muestra la ubicación y replicación de los atributos, el valor
de la función objetivo, y el tiempo de solución del modelo.
Conclusión:
La capacidad de almacenamiento de cada uno de los sitios repercute en los
esquemas de ubicación y replicación generados con el modelo matamático propuesto,
así como también en el valor de la función objetivo. En la prueba mostrada en la
subsección 6.1.5.2, la capacidad de almacenamiento de S2 es muy pequeña (5 bytes) y
no se pueden ubicar los atributos mi y m2. Por lo tanto, la aplicación kz que utiliza los
aiributos mi y mz , tendrá que acceder al sitio donde se encuentren ubicados (Si), lo cual
incrementa el valor de la función objetivo.
75
Capitulo 6 cenidet
Capacidad de Almacenamiento
Tiempo de Solución del Modelo en seg: 0.060000
Funcion Objetivo = 9.597015
Figura 6.7 Esquema de ubicación y replicación con espacio de almacenamiento restringido en s,.
76
Capítulo 7
Capítulo
-~ ~
Comentarios Finales y Trabajos Futuros
En este capítulo se presentan las conclusiones obtenidas con el presente trabajo
de investigación, incluyendo trabajos futuros relacionados.
Capitulo 7 cenidet
7.1 Comentarios Finales
En este trabajo se muestra que es factible evitar la degradación de una aplicación
distribuida que funciona sobre la plataforma de SQL Server, mediante la
implementación del modelo FURD extendido, el cual genera nuevos esquemas de
ubicación y replicación que se adaptan a los cambios en los patrones de explotación de
los datos.
Uno de los aspectos relevantes de esta investigación fue el desarrollo de un
conjunto de expresiones matemáticas que modelan el funcionamiento de la replicación
de tipo transaccional del sistema manejador de bases de datos SQL Server versión 7.0.
De acuerdo a la literatura especializada no aparece reportado trabajo previo alguno que
haya seguido el método de solución de esta investigación.
Otros resultados relevantes fueron los siguientes:
1. El trabajo desarrollado es pionero en modelar la ubicación y replicación de
datos enfocada hacia un manejador de bases de datos comercial.
2. De acuerdo con la literatura especializada, se han propuesto diversos métodos para
el diseño de la distribución, los cuales han dividido e1 problema en fases seriadas.
En contraste con estos métodos, el modelo matemático propuesto muestra, que es
factible integrar ubicación 'y replicación en un solo paso, permitiendo resolver el
problema de una manera más eficiente.
3. Se formuló una función objetivo que permite ubicar y replicar los atributos de las relaciones en los nodos de manera optimizada, minimizando los costos de
transmisión de datos y considerando restricciones de capacidad de los sitios.
4. La formulación del modelo permite su solución utilizando paquetes comerciales de
programación lineal entera. Para este trabajo se utilizó el paquete comercial llamado
LMDO, el cual utiliza como método exacto de solución el de Ramificar y Acotar.
78
It
Capitulo 7 cenidet
5. Se tipifican las consultas como aplicaciones de lechira o escritura, modelando de
esta forma la realidad de manera más fiel.
6 . Tradicionalmente se realizaban copias de fragmentos completos. Con el modelo
propuesto, se obtiene una,granulandad más fina de las réplicas de datos, al permitir
replicar a nivel de atributos.
7. La implementación del modelo matemático sirve de apoyo para diseñadores de
bases de datos, principalmente porque se minimizan los costos de transmisión de
datos y existe una mayor disponibilidad de ia información.
7.2 Sugerencias de Trabajos Futuros
Existen dos líneas para continuar con los trabajos de esta investigación, una está
relacionada con el manejador de bases de datos a utilizar y la otra es extender el
modelo matemático.
Manejador de Bases de Datos:
P Diseñar modelos para ubicación y replicación utilizando tipos de replicación
diferentes al presentado en este trabajo con el manejador Microsoft SQL Server
7.0.
b Diseñar modelos para ubicación y replicación utilizando un manejador de bases
de datos diferente como por ejemplo ORACLE.
b Implementar el modelo como un módulo de un manejador de bases de datos, con
la finalidad de automatizar el diseño de distribución de datos.
Extender el modelo matemático:
P Integrar en el modelo restricciones de capacidad de canales de comunicación.
3 Análisis de sensibilidad de los parámetros involucrados en el presente modelo.
79
Referencias cenidet
REFERENCIAS
[Ape,1988]
[Bab,1977]
[Cas,l972]
[Cer,1983]
[Cer,1987]
[Cha,1980]
[Cha,1982]
[Che,1980]
[Chu,1969]
[Cou,1994]
Apears P.M.G., “Data Allocation in Distributed Database Systems”, ACM Transactions on Database Systems. Vol. 13, No. 3, 1988, pp. 263 - 304.
Babad J., “A Record and File Partitioning Model”, Comunications of The ACM, Vol. 20, No. 1, 1977, pp.22-30.
Casey R.G., “Allocation of Copies of a File in a information Network”, AFIPS, 1972, SJCC. 40, PP.617-625.
Cen S. Navathe S. y Wiederhold G., “Distribution Design of Logical Database Schemes”, IEEE Trans. on Software Engineering, 1983, vol. SE- 9, NO. 4, pp. 487-503.
Cen S. Pemici B. y Wiederhold G., “Distributed Database Design Methodologies”, Proc. IEEE, 1987, vol. 75, No. 5, pp. 533-546.
Chang S.K., y Cheng W.H., “A Methodology for Structured Database Descomposition”, IEEE Transactions on Software Enginiering, 1980, pp. 205-218.
Chang S.K., y Liu, A.C., “File Allocation in a Distributed Database”, Journal of computer and information Sciencie, 1982.
Chen P.P.S., y Akoka J., “Optimal Desing of Ditnbuted Iinformation Systems”, LEEE Transactions on Computers, 1980, pp.1068-1080.
Chu W.W., “Optimal File Allocation in Multiple Computer Systems”, IEEE Transactions on Computers, 1969, pp. 885-889.
Coulons G. Dollimore J. Y Kindberg T., ”Distributed Systems Concepts and Design”, Addison-Wesley Publishing Company, 1994, Cap. 11.
80
Referencias a [Date,1995] Date C.J., “An Introduction to Database Systems”, Addison-Wesley
Publishing Company, Volume I, 6th ed. 1995.
Dowdy L.W. y Foster D.V. “Comparative Models of the File Assignment Problem”, ACM Computing Surveys, vol. 14, no. 2, 1982, pp. 288-313.
[Dow,1982]
[Eis,1976] Eisner M. y Severance D. “Mathematical Techniques for Efficient Record Segmentation in Large Chared Databases”, ACM, 1976.
[Elm,1989] Elmasn y Navaje., “Fundamentals of Database Systems”, Edit. Benjamin and Cummings, 1989. pp. 150.
[Esw,1974] Eswaran K.P., ‘:Placement of Records in a File and File Allocation in a Computer Network”, iFP, North-Holland, 1974.
[Ha1,1986] Hale D. “A Framework for Distributed Database Fragment Allocation Utilizing Semantic Meta-data to Compose Data Fragments”, Ph.D. Dissertation, University of Wisconsin-Milwaukee, 1986.
[Hev,1988] Hevner A. R. y,Rho A,, "Distributed Data Allocations Strategies”, In Advances in Computers, 1988, pp. 121-155.
[Hof,1976] Hoffer J. “An Integer Programming Formulation of Computer Database Desing Problems”, International Journal Of Computer and Information Sciences 11, 1976, pp.29-48.
[Ira,1979] Irani K.B. y Kabbaz N.G., “A Model for a Combined Comunication Network Design and File Allocation for Distributed Databases”, Proc. 1” International Conference On Distributed Computer Systems, 1979.
[Jai,1986] Jain H.K. y Duiia A,, “Distributed Computer System Design: A Multicntena Decision-Making Methodology”, Decision Science, 1986, pp.437-453.
[Jai,1987] Jain H.K. y Kulkami U.R., “Simulation Model o f a Distributed DBMS”, Joint National Meeting of ORSNTIMS, New Orleans, 1987.
81
[Kau,2000]
IKu1,1989]
[Mar,1977]
[Mar,1995j
[Mab,1976j
[Mor,1977]
[Nav,1984]
[Ozs,1999j
[Per,1998]
IRayJ9981
Kauffmann M., “Módulo para la Detección y Registro de Eventos Relevantes para el Diseño Adaptable de Bases de Datos Distribuidas Empleando Reglas ECA”, tesis de maestría, Departamento de Ciencias Computacionales, Centro Nacional de Investigación y Desarrollo Tecnológico, Cuernavaca, Mor., Feb. 2000.
Kulkami U.R., “An integrated Support System for Design of Distributed Data Bases”, tesis Ph D. The University of Wisconsin-Milwaukee, May 1989.
March S. y Severance D., ‘The Determination of Efficient Record Segmentation and Blocking Factors for Shared Data Files”, ACM Transactions on ‘Database Systems, 1977.
March S. y Rho., “Allocating Data and Operations to Nodos in Distributed Database Desing”, Transactions on Knowledge and Data Enginneering, vol. 7, 1995.
Mahmoud S. y Riordon J.S. “Optimal Allocation of Resorces in Distributed Information Networks”, ACM Transactions on Database Systems, 1976, pp. 993-1003.
Morgan H.L. y Levin K.D., “Optimal Program and Data Locations in Computer Networks”, Comunications ACM, 1977, pp.315-321.
Navathe S. Cen S. Wiederhold G. y Dou J., “Vertical Partitioning Algorithms for Database Design”, ACM Transactions On Database Systems, Vol. 9. No. 4. Stanford, 1984, pp. 680-710.
Ozsu M. y Valduries P., “Principles of Distributed Database Systems”, Prentice Hall, N .J., 1999.
Perez J. Romero D. Frausto J. Pazos R. Rodriguez G. y Reyes F., “Dynamic Allocation of Vertical Fragments in Distributed Databases UCing the Threshold Accepting Algorithm”, Proceeding of the loth iASTED International Conference on Parallel and Distributed Computing and System, Las Vegas, 1998, pp 210-213.
Ray J., ‘TCP/IP”, edit. Prentice Hall, 1998, pp 198,
Referencias
[Ram,1979]
[Ram,1999]
[Rey,2001]
[Tam,1998]
[Tan,1997]
Ramamoorthy C.V. y Wah B.W., “The Placement of Relations on a Distributed Relational Database”, Proceedings 1 I’ International Conference on Distributed Computer Systems, 1979.
Ramírez P.S., “Extensión al Modelo FURD para Incorporar los Costos de Almacenamiento y de Acceso a Fragmentos”, tesis de maestría, Dpto. de Ciencias Computacionales, Centro Nacional de investigación y Desarrollo Tecnológico, 1999.
Reyes S. F., “Extensión al Modelo FURD para Incorporar la Replicación de Datos”, tesis de maestría, Dpto. de Ciencias Computacionales, Centro Nacional de Investigación y Desarrollo Tecnológico, Cuernavaca, Mor. Próxima a publicación, 2001.
Tamhankar A.M. y Sudha Ram., “Database Fragmentation and Allocation: an integrated Methodology and Case Study”, 1998.
Tanenbaum AS., “Redes de Computadoras”, Edit. Prentice Hall, 3“ Edición, 1997.
83