Documentos de Académico
Documentos de Profesional
Documentos de Cultura
1. INTRODUCCIN ................................................................................................ 5
2. JUSTIFICACIN............................................................................................... 10
3. INTENCIONALIDADES FORMATIVAS............................................................ 12
UNIDAD 1 FUNDAMENTOS DE BASES DE DATOS DISTRIBUIDA ................. 14
CAPITULO 1 CONCEPTOS BSICOS. ............................................................... 14
1.2. QU ES COMPUTACION DISTRIBUIDA? .................................................... 15
1.3. QUE ES UNA BASE DE DATOS DISTRIBUIDA............................................. 16
1.4. VENTAJAS ............................................................................................................. 23
1.5. DESVENTAJAS ..................................................................................................... 24
CAPITULO 2 APLICACIONES ............................................................................. 26
2.1 INTRODUCCIN .................................................................................................... 26
2.2 ESTADO DEL ARTE.............................................................................................. 26
2.3 APLICACIONES ..................................................................................................... 28
CAPITULO 3 SISTEMAS DE BASES DE DATOS ............................................... 28
3.1 INTRODUCCIN .................................................................................................... 29
3.2 BASE DE DATOS DISTRIBUIDA(BDD) ............................................................ 30
3.3 SISTEMA DE BASES DE DATOS DISTRIBUIDA(SBDD).............................. 30
3.4 SISTEMA DE MANEJO DE BASES DE DATOS DISTRIBUIDA(SMBDD) . 30
3.4.2 El problema de diseo ........................................................................................ 34
3.4.3 Objetivos del Diseo de la Distribucin de los Datos. ................................ 35
3.4.4 Enfoques al problema de diseo de bases de datos distribuidas ........... 36
UNIDAD 2 ARQUITECTURA DE BASE DE DATOS DISTRIBUIDA ................... 37
CAPITULO. 4. NIVELES DE TRANSPARENCIA EN SBDD................................ 37
4.1 INTRODUCCIN .................................................................................................... 37
4.2 independencia lgica de datos ......................................................................... 37
4.3 independencia fsica de los datos.................................................................... 38
4.4 transparencia al nivel de red ............................................................................. 38
4.5 transparencia sobre replicacion ....................................................................... 38
4.6 transparencia a nivel de fragmentacin de datos........................................ 39
1. INTRODUCCIN
Este curso ofrece a los alumnos los conceptos y aspectos fundamentales de los
sistemas de bases de datos distribuidos y presentar los problemas ms importantes
para su funcionamiento y uso de los mismos para asi desarrollar aplicaciones que
den soluciones a problemas reales de manejo de datos.
El curso tiene 3 crditos acadmicos los cuales comprenden el estudio independiente y
el acompaamiento tutorial, acompaado de talleres que fortalecen el proceso del
aprendizaje:
Ensear a los estudiante los conceptos y principios del manejo y diseo de bases
de datos distribuidos.
Conceptos Bsicos
Aplicaciones
Sistemas de bases de datos distribuidas
Unidad 2.
Unidad 3.
Diseo de base de datos distribuidas
Diseo de la Distribucin de los Datos.
Enfoques al problema de diseo de bases de datos distribuidas
Fragmentacin
Unidad 4
Para el desarrollo del curso es importante el papel que juega los recursos tecnolgicos
como medio activo e interactivo, buscando la interlocucin durante todo el proceso de
dilogo docente-estudiante.
Los materiales impresos en papel, se han convertido en el principal soporte para
favorecer los procesos de aprendizaje autodirigido.
Sitios Web: propician el acercamiento al conocimiento, la interaccin y la
produccin de nuevas dinmicas educativas.
Sistemas de interactividades sincrnicas: permite la comunicacin a travs de
encuentros presnciales directos o de encuentros mediados (Salas de
conversacin, audioconferencias, videoconferencia, tutoras telefnicas, foros)
Sistemas de interactividades diferidas: permite la comunicacin en forma diferida
favoreciendo la disposicin del tiempo del estudiante para su proceso de
enseanza aprendizaje, mediante la utilizacin de correo electrnico, foros,
grupos de discusin.
El acceso a documentos adquiere una dimensin de suma importancia en tanto la
informacin sobre el tema, exige conocimientos y planteamientos preliminares, por tal
razn es imprescindible el recurso a diversas fuentes documentales y el acceso a
2. JUSTIFICACIN
Las bases de datos distribuidas ofrecen diversas ventajas a los diseadores y usuarios
de bases de datos. Entre las ms importantes se encuentra la transparencia en el
acceso y localizacin de informacin. Sin embargo, el diseo y administracin de bases
de datos distribuidas constituye un gran desafo que incorpora problemas no
encontrados en bases de datos centralizadas.
El estudiante se apropia del conocimiento sobre la arquitectura, diseo y administracin
de las bases de datos distribuidas para producir soluciones computacionales y
aplicarlas a diferentes reas del conocimiento.
.
El estudiante encontrara una forma de aprendizaje paso a paso que le permite
apropiarse del conocimiento bsico y lgico, aprendiendo a aprender para luego el solo
generar sus nuevas necesidades de aprendizaje y por consiguiente ser complemento
de su formacin.
Las competencias que promueve el curso y que son necesarias son:
COGNITIVA: Capacidad de apropiarse de un conjunto de conocimientos a travs del
desarrollo, monitoreo y aplicacin de procesos de pensamiento.
COMUNICATIVA: Capacidad de comprender, expresar mensajes y de desarrollar
procesos argumentativos, apoyados en las relaciones interpersonales.
CONTEXTUAL: Capacidad de ubicar el conocimiento en el contexto cientfico, poltico,
cultural, tecnolgico, social y en el plano regional nacional e internacional, y la
capacidad para aplicarlo en procesos de produccin.
3. INTENCIONALIDADES FORMATIVAS
3.1 PROPSITOS
Fomentar en el estudiante
3.3 METAS
Al finalizar el curso Bases de Datos Distribuida , el estudiante estar en capacidad de:
Aplicar de manera eficiente los esquemas de fragmentacin y localizacin de
informacin.
Manejar consultas a sitios distribuidos y entender los mecanismos de control de
concurrencia y confiabilidad en bases de datos distribuidas.
Disear y hacer la administracin de bases de datos distribuidas
Proponer soluciones lgicas a la solucin de problemticas computacionales de
manejo de datos en bases de datos distribuidas
3.4 COMPETENCIAS
Tendr manejo de consultas a sitios distribuidos y entender los mecanismos de
control de concurrencia y confiabilidad en bases de datos distribuidas.
El software del cliente que soporta casi todas las tareas de distribucin y maneja las
interfaces de usuario.
El software de comunicaciones (algunas veces junto con el sistema operativo
Distribuido) proporciona las primitivas de comunicacin que utiliza el cliente para
transmitir instrucciones y datos entre los sitios necesarios.
Existen componentes a distribuir, para realizar una tarea. En computacin distribuida
los elementos que se pueden distribuir son:
Estas doce reglas no son todas independientes entre s, ni son por fuerza exhaustivas,
ni tienen todas la misma importancia cada usuario le dar
diferentes grados de
3. Operacin continua.
En un sistema distribuido, lo mismo que en uno no distribuido, idealmente nunca
debera haber necesidad de apagar o dejar de funcionar Es decir, el sistema nunca
debera necesitar apagarse para que se pueda realizar alguna funcin, como aadirse
un nuevo sitio o instalar una versin mejorada del DBMS en un sitio ya existente.
3. Independencia con respecto a la localizacin.
La independencia con respecto a la localizacin (tambin conocida como transparencia
de localizacin),
la consulta de datos
es
centralizado. Lo esencial es que, en una consulta donde estn implicados varios sitios,
habr muchas maneras de trasladar los datos en al red para satisfacer la solicitud, y es
crucial encontrar una estrategia suficiente. Por ejemplo, una solicitud de unin de una
relacin Rx almacenada en el sitio X y una relacin Ry almacenada en el sitio Y podra
llevarse a cabo trasladando Rx a Y o trasladando Ry a X, o trasladando las dos a un
tercer sitio Z.
8. Manejo distribuido de transacciones.
Este manejo tiene dos aspectos principales, el control de recuperacin y el control de
concurrencia, cada uno de los cuales requiere un tratamiento ms amplio en el
ambiente distribuido. En un sistema distribuido, una sola transaccin puede implicar la
ejecucin de programas o procesos en varios sitios ( en particular puede implicar a
actualizaciones en varios sitios ). Por esto cada transaccin est compuesta de varios
agentes, donde un agente es el proceso ejecutado en nombre de una transaccin dada
en determinado sitio. Y el sistema necesita saber cundo dos agentes son parte de la
misma transaccin.
No puede haber un bloqueo mutuo entre dos agentes que sean parte de la misma
transaccin.
9. Independencia con respecto al equipo.
Las instalaciones de cmputo en el mundo real por lo regular incluyen varias mquinas
diferentes IBM, DEC, HP, UNISYS, PC, existe una verdadera necesidad de poder
integrar los datos en todos esos sistemas y presentar al usuario "una sola imagen del
sistema". Por tanto conviene ejecutar el mismo DBMS en diferentes equipos, y adems
lograr que esos diferentes equipos participen en un sistema distribuido.
El rendimiento Cuando se distribuye una gran base de datos por mltiples sitios, las
consultas locales y las transacciones tienen mejor rendimiento porque las bases de
datos locales son ms pequeas. A parte de esta distribucin, se puede conseguir lo
siguiente en estos sistemas:
1. Reducir el nmero de transacciones ejecutndose por sitio.
2. Un paralelismo entre las consultas ejecutando varias en sitios diferentes.
3. descomposicin consultas en subconsultas que puedan ejecutarse en paralelo.
4. Aumento de la fiabilidad y la disponibilidad ya comentadas en el objetivo
5. Los procesos de expansin se hacen ms sencillos en sistema distribuido. cuando
se quiere aadir un sitio en nuestro sistema distribuido, el resto de operaciones que se
ejecutan en los dems no se vern afectados.
6. la autonoma de estos sistemas es grande.
1.5. DESVENTAJAS
Hay una menor seguridad en cuanto al control de acceso a los datos:
Control de replicas y errores que puedan producirse en la red.
Mayor complejidad en el diseo e implementacin del sistema. Adems si la
replicacin de datos no se hace de forma adecuada, las ventajas se pueden
transformar en desventajas.
Excesivos costos en el intento de conseguir la transparencia mencionada
anteriormente.
Falta de estndares y de experiencia, una vez ms en estos modelos avanzados de
BD.
No se puede garantizar al 100 % el rendimiento y la fiabilidad.
Para garantizar las ventajas anteriormente descritas, es necesario que el software del
DDBMS proporcione las siguientes funciones adicionales a las que un sistema
centralizado ya tiene de por si:
CAPITULO 2 APLICACIONES
Estructura temtica
2.1 introduccin
2.2. Estado del arte de las BDD)
2.3 Aplicaciones
2.1 INTRODUCCIN
Se muestran las diferentes aplicaciones de las BDD y Los ambientes en los que se
encuentra con mayor frecuencia as mismo las caractersticas de las bases de datos
distribuidas en la actualidad con algunas de sus restricciones mas frecuentes.
Objetivo general
Mostrar al estudiante las diferentes aplicaciones de las BDD y su funcionamiento, as
como el estado del arte de estas aplicaciones en donde se pueden determinar algunas
necesidades de estos sistemas.
2.2 ESTADO DEL ARTE
Cuando los beneficios del uso de BDD son claramente demostrables en las
aplicaciones, en la actualidad muchos de los desarrollos se encuentran nicamente en
sistemas complejos y con poca informacin de su manejo. A continuacin se discute el
estado actual de las bases de datos comerciales respecto de cuatro logros potenciales
asequibles en BDD.
Manejo transparente de datos distribuidos, fragmentados y replicados. Comercialmente
an no se soporta la replicacin de informacin. La fragmentacin utilizada es
nicamente de tipo horizontal, mas adelante se tratara este tema. La distribucin de
Mejor escalabilidad de las BD. Tener sistemas escalables de manera fcil y econmica
se ha logrado por el desarrollo de la tecnologa de microprocesadores y estaciones de
trabajo. Sin embargo, respecto de la escalabilidad, la comunicacin de la informacin
tiene un costo el cual no se ha estudiado con suficiente profundidad.
2.3 APLICACIONES
La aplicacin de BDD para el manejo de informacin por las caractersticas de software
y hardware requerido para su implementacin solo es posible verse funcionando en
grandes empresas o emporios comerciales tales como:
Organismos gubernamentales y/o de servicio pblico.
La industria de la manufactura, particularmente, aquella con plantas mltiples.
Aplicaciones de control y comando militar.
Supermercados de cadena
Lneas de transporte areo.
Servicios de seguridad
Cadenas hoteleras.
Servicios bancarios y financieros.
En donde el volumen de informacin es grande y las caractersticas de ubicacin
geogrfica hacen necesario esta implementacin.
CAPITULO 3 SISTEMAS DE BASES DE DATOS
Estructura temtica
3.1 introduccin
3.2. Base de Datos Distribuida (BDD)
3.3 Sistema de Bases de Datos Distribuida (SBDD)
3.4 Sistema de Manejo de Bases de Datos Distribuidos (SMBDD)
3.4.1 Aspectos importantes de los SMBD distribuidos
3.4.2 El problema de diseo
3.4.3 Objetivos del Diseo de la Distribucin de los Datos.
3.4.4 Enfoques al problema de diseo de bases de datos distribuidas
3.1 INTRODUCCIN
En este capitulo se hace una descripcin de los sistemas de multiprocesamiento y
como pueden administrar bases de datos usualmente a travs de un solo sistema de
manejo de base de datos, el uso de los procesadores que se utilizan para distribuir la
carga de trabajo del sistema completo o incluso del propio SMBD y como se acta
sobre una sola base de datos que reside en un solo sitio de una red de computadoras y
que es accesada por todos los nodos de la red, as como los objetivos del diseo de la
distribucin los enfoques y el problema del diseo.
Objetivo general
Determinar los conceptos de BDD,
Nodo w
DBMw
BDw
DTMx
DBMx
BDx
DTMy
DBMy
BDy
Nodo x
Programa
de consulta
o
transaccin
Nodo y
Programa
de consulta
o
transaccin
Nodo z
Programa
de consulta
o
transaccin
DDB
DTMz
Interfaz de accin
Interfaz de solicitud
DDBMS
diferentes
edificios
departamentos
de
una
misma
organizacin
pero
geogrficamente en la misma ubicacin, entonces, estn conectados por una red local
(LAN)
Cali
Bogota
Red de
comunicacin
Neiva
Medelln
debe manejar un solo directorio global. Sin embargo, si existen tambin usuarios
locales, el directorio combina informacin local con informacin global.
2. Procesamiento de consultas. El procesamiento de consultas es de suma
importancia en bases de datos centralizadas. Sin embargo, en BDD ste
adquiere una relevancia mayor. El objetivo es convertir transacciones de usuario
en instrucciones para manipulacin de datos. No obstante, el orden en que se
realizan las transacciones afecta grandemente la velocidad de respuesta del
sistema. As, el procesamiento de consultas presenta un problema de
optimizacin en el cual se determina el orden en el cual se hace la menor
cantidad de operaciones. Este problema de optimizacin es difcil, por lo que en
tiempos razonables solo se pueden obtener soluciones aproximadas. En BDD se
tiene que considerar el procesamiento local de una consulta junto con el costo
de transmisin de informacin al lugar en donde se solicit la consulta.
3. Control de concurrencia. El control de concurrencia es la actividad de
coordinar accesos concurrentes a la base de datos. El control de concurrencia
permite a los usuarios acceder la base de datos en una forma multiprogramada
mientras se preserva la ilusin de que cada usuario est utilizndola solo en un
sistema dedicado. El control de concurrencia asegura que transacciones
mltiples sometidas por usuarios diferentes no interfieran unas con otras de
forma que se produzcan resultados incorrectos. En BDD el control de
concurrencia es an ms complejo que en sistemas centralizados. Los
algoritmos ms utilizados son variaciones de aquellos usados en sistemas
centralizados: candados de dos fases que se profundizan mas adelante,
ordenamiento por estampas de tiempo simples y mltiples y control de
concurrencia optimista. Un aspecto interesante del control de concurrencia es el
manejo de nter bloqueos. El sistema no debe permitir que dos o ms
transacciones se bloqueen entre ellas.
4. Confiabilidad. En cualquier sistema de bases de datos, centralizado o
distribuido, se debe tener en cuenta que la informacin sea confiable. As cada
consulta o actualizacin de la informacin se realiza mediante transacciones, las
rplicas en un sistema, el trabajo de ste es mnimo por lo que se puede obtener una
eficiencia mayor. Sin embargo, el usuario puede olvidarse de mantener la consistencia
de las rplicas teniendo as datos diferentes.
ENO ENOMBRE
TITULO
E1
Ingeniero
Juan Prez
Elctrico
E2
Carlos Parra
Analista de
Sistemas
E3
Armando
Ingeniero
Guzmn
Mecnico
E4
Pablo Lpez
Programador
E5
Jorge Prez
Analista de
Sistemas
E6
Luis Chivito
Ingeniero
Elctrico
E7
Marcos Castro
Ingeniero
Mecnico
E8
Andrs Medina
Analista de
Sistemas
G
ENO JNO PUESTO
DUR
E1
J1
Ingeniero
14
E2
J1
Analista
10
E2
J2
Analista
E3
J3
Consultor
10
E3
J4
Administrador
10
E4
J2
Programador
44
E5
J2
Ingeniero
24
E6
J4
Administrador
32
E7
J3
Ingeniero
32
E7
J5
Ingeniero
24
E8
J3
Administrador
44
J
JNO JNOMBRE
PRESUPUESTO LUGAR
J1
Instrumentacin 150000
Cali
J2
Desarrollo de
135000
Bogot
bases de datos
J3
CAD/CAM
250000
Neiva
J4
Mantenimiento
310000
Cali
J5
CAD/CAM
500000
Pereira
S
TITULO
SALARIO
Ingeniero
40000
Elctrico
Analista de
34000
Sistemas
Ingeniero
27000
Mecnico
Programador
24000
general como esas piezas se relacionan unas con otras. Para definir ese modelo de
referencia se puede seguir uno de los siguientes tres enfoques:
1. Basado en componentes. Se definen las componentes del sistema junto con
las relaciones entre ellas. As, un SMBD consiste de un nmero de
componentes, cada uno de los cuales proporciona alguna funcionalidad.
2. Basado en funciones. Se identifican las diferentes clases de usuarios junto con
la funcionalidad que el sistema ofrecer para cada clase. La especificacin del
sistema en esta categora tpicamente determina una estructura jerrquica para
las clases de usuarios. La ventaja de este enfoque funcional es la claridad con la
cual se especifican los objetivos del sistema.
3. Basado en datos. Se identifican los diferentes tipos de descripcin de datos y
se especifica un marco de trabajo arquitectural el cual define las unidades
funcionales que realizarn y/o usarn los datos de acuerdo con las diferentes
vistas. La ventaja de este enfoque es la importancia que asigna al manejo de
datos. Este es un enfoque significativo para los SMBD dado que su propsito
principal es manejar datos. Sin embargo, la desventaja de este enfoque es que
es prcticamente imposible especificar un modelo arquitectural sin especificar
los modelos para cada una de sus unidades funcionales. Este es el enfoque
seguido por el modelo ANSI/SPARC.
5.3 ARQUITECTURA ANSI SPARC
La arquitectura de sistemas de bases de datos de tres esquemas fue aprobado por la
ANSI-SPARC (American National Standard Institute - Standards Planning and
Requirements Committee) en 1975 como ayuda para conseguir la separacin entre los
programas de aplicacin y los datos, el manejo de mltiples vistas por parte de los
usuarios y el uso de un catlogo para almacenar el esquema de la base de datos.
La vista conceptual, conocida tambin como vista lgica global, representa la visin de
la comunidad de usuarios de los datos en la base de datos. No toma en cuenta la
forma en que las aplicaciones individuales observan los datos o como stos son
almacenados. La vista conceptual est basada en el esquema conceptual y su
construccin se hace en la primera fase del diseo de una base de datos.
Los usuarios, incluyendo a los programadores de aplicaciones, observan los datos a
travs de un esquema externo definido a nivel externo. La vista externa proporciona
una ventana a la vista conceptual lo cual permite a los usuarios observar nicamente
los datos de inters y los asla de otros datos en la base de datos. Puede existir
cualquier nmero de vistas externas y ellos pueden ser completamente independientes
o traslaparse entre s.
El esquema conceptual se mapea a un esquema a nivel interno, el cual es el nivel de
descripcin ms bajo de los datos en una base de datos. Este proporciona una interfaz
al sistema de archivos del sistema operativo el cual es el responsable del acceso a la
base de datos. El nivel interno tiene que ver con la especificacin de qu elementos
sern indexados, qu tcnica de organizacin de archivos utilizar y como los datos se
agrupan en el disco para mejorar su acceso.
En la Figura se presenta la definicin de los esquemas conceptual, interno y externo
para las relaciones de la Figura 5.1.
Objetivo general
Identificar los componentes que se implementan en sistema manejador de bases de
datos distribuida. Tanto en la distribucin, la heterogeneidad y la autonoma
6.2. DISTRIBUCIN
Determina si las componentes del sistema estn localizadas en la misma computadora
o no.
6.3 HETEROGENEIDAD
usuarios locales y todos ellos accedan la base de datos a travs de una interfaz global.
El esquema global es la unin de toda las descripciones de datos locales y las vistas
de los usuarios se definen sobre el esquema global.
maximizar el
procesamiento que corresponde al principio simple de colocar los datos tan cerca como
sea posible de las aplicaciones que los utilizan. Se puede realizar el diseo de la
distribucin de los datos para maximizar el procesamiento local agregando el nmero
de referencias locales y remotas que le corresponden a cada fragmentacin candidata
(bottom-up).
Objetivo general
Conocer la forma como se realiza el diseo conceptual
8.2. ENFOQUE DE ARRIBA HACIA ABAJO (TOP DOWN).
El enfoque de arriba hacia abajo (top-down). Este enfoque es ms apropiado para
aplicaciones nuevas y para sistemas homogneos. Consiste en partir desde el anlisis
de requerimientos para definir el diseo conceptual y las vistas de usuario. A partir de
ellas se define un esquema conceptual global y los esquemas externos necesarios. Se
prosigue con el diseo de la fragmentacin de la base de datos, y de aqu se contina
con la localizacin de los fragmentos en los sitios, creando las imgenes fsicas. Esta
aproximacin se completa ejecutando, en cada sitio, "el diseo fsico" de los datos, que
se localizan en ste. En la Figura 8.1 se presenta un diagrama con la estructura
general del enfoque top-down.
Figura 8.1 se presenta un diagrama con la estructura general del enfoque top-down.
8.3 DISEO DE ABAJO HACIA ARRIBA (BOTTOM-UP).
El diseo de abajo hacia arriba (bottom-up). Se utiliza particularmente a partir de bases
de datos existentes, generando con esto bases de datos distribuidas. En forma
resumida, el diseo bottom-up de una base de datos distribuida requiere de la
seleccin de un modelo de bases de datos comn para describir el esquema global de
la base de datos. es posible que se utilicen diferentes SMBD. Despus se hace la
traduccin de cada esquema local en el modelo de datos comn y finalmente se hace
la integracin del esquema local en un esquema global comn.
CAPITULO. 9 FRAGMENTACION
Estructura temtica
9.1. Introduccin
9.2. Fragmentacin Horizontal
9.3. Fragmentacin Vertical
9.4 . Fragmentacin Hbrida
9.5. Asignamiento de Fragmentos
9.1. INTRODUCCIN
En el presente capitulo se muestra como el diseo de una base de datos distribuida,
cualquiera sea el enfoque que siga, debe cuestionarse preguntas tales como:
El por qu hacer una fragmentacin de datos, como se debe hacer la fragmentacin,
que tanto se debe fragmentar, cuales son los mecanismos de validez de
fragmentacin, como se realizan los asignamientos de la fragmentacin y como se
consideran los requerimientos de la informacin. Y como el problema de fragmentacin
se refiere al particionamiento de la informacin para distribuir cada parte a los
diferentes sitios de la red.
La otra posibilidad es usar fragmentos de relaciones (sub-relaciones) lo cual favorece
la ejecucin concurrente de varias transacciones que accesan porciones diferentes de
una relacin. Sin embargo,. En resumen, el objetivo de la fragmentacin es encontrar
un nivel de particionamiento adecuado en el rango que va desde tuplas o atributos
hasta relaciones completas.
Objetivo general
Encontrar un nivel de particionamiento adecuado en el rango que se trabaja que va
desde tuplas o atributos hasta las relaciones completas de las tablas.
PRESUPUESTO LUGAR
J1
Programador 230000
Medelln
J2
Desarrollo
235000
Cali
BD
J3
CAD/CAM
250000
Bogot
J4
Soporte
460000
Neiva
J5
CAD/CAM
750000
Ibague
PRESUPUESTO LUGAR
J1
Programador 230000
Medelln
J2
Desarrollo
Cali
235000
BD
J2: proyectos con presupuesto mayor que o igual a $250,000
JNO JNOMBRE
PRESUPUESTO LUGAR
J3
CAD/CAM
250000
Bogot
J4
Soporte
460000
Neiva
J5
CAD/CAM
750000
Ibague
Esta fragmentacin satisface la condicin si "SF" y "LA" son solamente los nicos
valores posibles del atributo CITY.
La condicin de reconstruccin se logra con:
SUPPLIER = SUPPLIER1 unin SUPPLIER2
La condicin de disjuntos se cumple claramente en este ejemplo.
Fragmentacin horizontal derivada
La fragmentacin derivada horizontal se define partiendo de una fragmentacin
horizontal.
En esta operacin se requiere de Semi-junta (Semi-Join) el cual sirve para derivar las
tuplas o registros de dos relaciones.
Ejemplo. Las siguientes relaciones definen una fragmentacin horizontal derivada de
la relacin SUPPLY.
SUPPLY1 = SUPPLYSJsnum == snumSUPPLIER1
SUPPLY2 = SUPPLYSJsnum == snumSUPPLIER2
230000
J2
235000
J3
250000
J4
460000
J5
750000
LUGAR
J1
Programador
Medelln
J2
Desarrollo BD Cali
J3
CAD/CAM
Bogot
J4
Soporte
Neiva
J5
CAD/CAM
Ibagu
Informacin sobre cada nodo de la red. Las medidas utilizadas son el costo
unitario de almacenamiento de datos en un nodo y el costo unitario de
procesamiento de datos en un nodo.
Objetivo general
El objetivo
Figura a) Grfica de una consulta. b) Grfica de juntas.
Simplificacin
La consulta en forma normal conjuntiva puede contener predicados redundantes. Una
evaluacin directa de la consulta con redundancia puede llevarnos a realizar trabajo
duplicado. La redundancia puede ser eliminada aplicando sucesivamente las siguientes
reglas:
1. p p p
2. p p p
3. p true p
4. p false p
5. p false false
6. p true true
7. p p false
8. p p true
9. p1 (p1 p2) p1
10. p1 (p1 p2) p1
Ejemplo. La siguiente consulta en SQL
SELECT TITULO
FROM E
WHERE (NOT (TITULO = "Programador"))
AND (TITULO = "Programador"
OR TITULO = "Ingeniero Elctrico")
AND NOT (TITULO = "Ingeniero Elctrico")
OR ENOMBRE = "J. Doe"
Puede ser simplificada usando las reglas anteriores a
SELECT TITULO
FROM E
WHERE ENOMBRE = "J. Doe"
Reestructuracin
El ltimo paso en la descomposicin de consultas reescribe la consulta en el lgebra
relacional. Esto se hace tpicamente en los siguientes paso:
Una transformacin directa del clculo relacional en el lgebra relacional
Una reestructuracin de la consulta en el lgebra relacional para mejorar la eficiencia
Se puede mapear de manera directa al rbol del lgebra relacional de la Figura 10.1
Tiempo de optimizacin
Una consulta puede ser optimizada en tiempos diferentes con relacin a tiempo de
ejecucin de la consulta. La optimizacin se puede realizar de manera esttica antes
de ejecutar la consulta o de forma dinmica durante la ejecucin de la consulta. La
optimizacin esttica se hace en tiempo de compilacin de la consulta. As, el costo de
la optimizacin puede ser amortizada sobre mltiples ejecuciones de la misma
consulta.
Durante la optimizacin de consultas dinmica la eleccin de la mejor operacin
siguiente se puede hacer basado en el conocimiento exacto de los resultados de las
operaciones anteriores. se requiere tener estadsticas acerca del tamao de los
resultados intermedios para aplicar esta estrategia.
Un tercer enfoque, conocido como hbrido, utiliza bsicamente un enfoque esttico,
pero se puede aplicar un enfoque dinmico cuando los tamaos de las relaciones
estimados estn alejados de los tamaos actuales.
Estadsticas
El buen funcionamiento de una optimizacin se soporta en las estadsticas de la base
de datos. La optimizacin dinmica de consultas requiere de estadsticas para elegir
las operaciones que deben realizarse primero. La optimizacin esttica es an ms
demandante ya que el tamao de las relaciones intermedias tambin debe ser
estimado basndose en estadsticas. En bases de datos distribuidas las estadsticas
para optimizacin de consultas tpicamente se relacionan a los fragmentos; la
cardinalidad y el tamao de los fragmentos son importantes as como el nmero de
valores diferentes de los atributos. Para minimizar la probabilidad de error, estadsticas
ms detalladas tales como histogramas de valores de atributos se usan pagando un
costo mayor por su manejo.
Nodos de Decisin
Con el uso de la optimizacin esttica, un solo nodo o varios de ellos pueden participar
en la seleccin de la estrategia a ser aplicada para ejecutar la consulta. La mayora de
los sistemas utilizan un enfoque centralizado para la toma de decisiones en el cual un
solo lugar decide la estrategia a ejecutar. Sin embargo, el proceso de decisin puede
ser distribuido entre varios nodos los cuales participan en la elaboracin de la mejor
estrategia. El enfoque centralizado es simple, pero requiere tener conocimiento de la
base de datos distribuida completa. El enfoque distribuido requiere solo de informacin
local. Existen enfoques hbridos en donde un nodo determina una calendarizacin
global de las operaciones de la estrategia y cada nodo optimiza las subconsultas
locales.
Topologa de la Red
El tipo de red puede causar influencias sobre la funcin objetivo a optimizar para elegir
la estrategia de ejecucin. Por ejemplo, en redes de tipo WAN se sabe que en la
funcin de costo el factor debido a las comunicaciones es dominante. Por lo tanto, se
trata de crear una calendarizacin global basada en el costo de comunicacin. A partir
de ah, se generan calendarizaciones locales de acuerdo a una optimizacin de
consultas centralizada. En redes de tipo LAN el costo de comunicacin no es tan
dominante. Sin embargo, se puede tomar ventaja de la comunicacin "broadcast" que
existe comnmente en este tipo de redes para optimizar el procesamiento de las
operaciones junta. Por otra parte, se han desarrollado algoritmos especiales para
topologas especficas, como por ejemplo, la topologa de estrella.
10.3. Optimizacin Global de Consultas
Con una consulta algebraica sobre fragmentos, el objetivo es hallar una estrategia de
ejecucin para la consulta cercana a la ptima. La estrategia de ejecucin para una
consulta distribuida puede ser descrita con los operadores del lgebra relacional y con
primitivas de comunicacin para transferir datos entre nodos. Para encontrar una
buena transformacin se consideran las caractersticas de los fragmentos, como, sus
cardinalidades. Un aspecto importante de la optimizacin de consultas es el
ordenamiento de juntas, dado que algunas permutaciones de juntas dentro de la
consulta pueden conducir a un mejoramiento de varios rdenes de magnitud. La salida
de la capa de optimizacin global es una consulta algebraica optimizada con operacin
de comunicacin incluida sobre los fragmentos.
Objetivo general
Presentar de forma general la tcnicas por cada tipo de fragmentacin que permitan
realizar consultas simples y optimizadas.
11.2. REDUCCIN PARA FRAGMENTACIN VERTICAL
La fragmentacin vertical distribuye una relacin de acuerdo a los atributos de
proyeccin. Dado que el operador de reconstruccin para la fragmentacin vertical es
la junta, el programa de localizacin para una relacin fragmentada verticalmente
consiste de la junta de los fragmentos sobre el atributo comn.
A?
Figura 11.4b. Ahora se distribuyen las juntas sobre las uniones produciendo el rbol de
la Figura 11.4c El subrbol de la izquierda junta los fragmentos G1 y E2, sin embargo,
sus predicados son inconsistentes (TITULO = "Programador" de G1 es inconsistente
con TITULO "PROGRAMADOR" en E2). As, el subrbol de la izquierda produce una
relacin vaca por lo que puede ser eliminado obteniendo la consulta reducida de la
Figura 11.4d.
FROM E, G, JVAR
WHERE E.ENO = G.ENO AND G.JNO = JVAR.JNO
La aplicacin sucesiva de este paso a q? puede generar
q12: SELECT G.ENO INTO GVAR
FROM G, JVAR
WHERE G.JNO = JVAR.JNO
q13: SELECT E.ENOMBRE
FROM G, GVAR
WHERE E.ENO = GVAR.ENO
As, q1 ha sido reducido a la secuencia de consultas q11 q12 q13. La consulta q11 es
monovariable. las consultas q12 y q13 no son monovariables. Buscar la forma de como
transformar q13. La relacin definida por la variable GVAR es sobre un solo atributo
(ENO). Suponga que contiene nicamente dos tuplos: <E1> y <E2>. La sustitucin de
GVAR genera dos consultas de una sola variable:
q131: SELECT E.ENOMBRE
FROM E
WHERE E.ENO = "E1"
q132: SELECT E.ENOMBRE
FROM E
WHERE E.ENO = "E2"
Algoritmo de System R
System R una aplica una optimizacin de consultas esttica basada en bsqueda
exhaustiva del espacio solucin. La entrada del optimizador es un rbol del lgebra
relacional que resulta de una consulta en SQL. La salida es un plan de ejecucin que
implementa el rbol del lgebra relacional "ptimo".
El optimizador asigna un costo a cada rbol candidato y obtiene aquel con costo
menor. Los rboles candidatos se obtienen permutando el orden de las juntas de las n
relaciones de una consulta usando las reglas de Conmutatividad y Asociatividad. Para
limitar el costo de optimizacin, el nmero de alternativas se reduce utilizando
programacin dinmica. El conjunto de estrategias alternativas se construye de forma
dinmica, de manera que, cuando dos juntas son equivalentes por Conmutatividad, se
queda solo con la de costo ms bajo. Ms an, cada vez que aparecen productos
Cartesianos se trata de eliminar la estrategia correspondiente.
El costo de una estrategia candidato es una combinacin pesada de costos de I/O y
CPU. La estimacin de tales costos (en tiempo de compilacin) se basa en un modelo
de costo que proporciona una frmula de costo para cada operacin de bajo nivel. Para
la mayora de las operaciones, esas frmulas de costo se basan en las cardinalidades
de los operandos. La informacin de las cardinalidades se obtiene del mismo System
R. La cardinalidad de las relaciones intermedias se estima de acuerdo a los factores de
selectividad de las operaciones.
El algoritmo de optimizacin consiste de dos grandes pasos:
1. Las consultas simples se ejecutan de acuerdo al mejor camino de acceso (basada
en un predicado de seleccin).
2. Para cada relacin R, se estima el mejor ordenamiento de juntas, en donde R tiene
acceso primero usando el mejor mtodo de acceso a una sola relacin. As, se
determinan todos los posibles ordenamientos de juntas, se determina el costo de cada
ordenamiento y se elige aquel con el costo mnimo.
Para la junta de dos relaciones, la relacin cuyos tuplos se leen primero se llama
externa, mientras que la otra, cuyos tuplos se encuentran de acuerdo a los valores
obtenidos de la relacin externa, se llama relacin interna. Una decisin importante es
determinar el camino de acceso menos costoso a la relacin interna.
Al considerar las juntas, hay dos algoritmos disponibles. El primero, llamado de ciclos
anidados, compone el producto de las dos relaciones y se puede observar mediante el
siguiente pseudocdigo.
Para cada tuplo de la relacin externa (con cardinalidad n1)
Para cada tuplo de la relacin interna (con cardinalidad n2)
junta los dos tuplos si el predicado de la junta es verdadero
end
end
este mtodo tiene complejidad n1*n2.
El segundo mtodo, llamado junta-mezcla, consiste en mezclar dos relaciones
ordenadas sobre el atributo de la junta. Los ndices del atributo de la junta se pueden
usar como caminos de acceso. Si el criterio de junta es igualdad, el costo de juntar dos
relaciones de n1 y n2 pginas, respectivamente, es proporcional a n1 + n2.