Sei sulla pagina 1di 23

INSTITUTO TECNOLOGICO DE CIUDAD VALLES.

BASES DE DATOS DISTRIBUIDAS

INTEGRANTES:
IVAN JESUS CANDELARIO ZUIGA
SAUL MARTINEZ BAUELOS
ERASMO OLGUIN SANTOS
OLAF EDUARDO LUNA OVIEDO
CARLOS OMAR PORTALES AGUILAR
JORGUE AUGUSTO ECHEVARRIA

Estrategias Procesamiento Consultas Distribuidas

El procesamiento de consultas tiene varias


etapas a seguir para resolver una consulta
SQL, las caractersticas del modelo relacional
permiten que cada motor de base de datos
elija
su
propia
representacin
que,
comnmente, resulta ser el lgebra relacional.
La optimizacin de consultas es, entonces, una
de estas etapas (que por cierto otros modelos
de bases de datos no poseen).

Optimizacion De Consultas
Existen distintos mtodos para optimizar consultas
relacionales, sin embargo el enfoque de
optimizacin basada en costos combinado con
heursticas que permitan reducir el espacio de
bsqueda de la solucin es el mtodo mayormente
utilizado por los motores de base de datos
relaciones de la actualidad, en todo caso,
independiente del mtodo elegido para optimizar la
consulta, la salida de este proceso debe ser un plan
de ejecucin, el cual comnmente es representado
en su forma de rbol relacional.

La optimizacin de consultas en base a costos


supone la utilizacin de una medida de costo que
sea comn a lo largo del proceso, esta medida
debe representar el criterio de minimizacin en la
utilizacin de recursos del sistema, la medida
estndar para bases de datos relacionales es
usualmente la cantidad de E/S (tanto de disco
como de la memoria intermedia).

Este enfoque estima un costo que estar


determinado por formulas predefinidas y por la
informacin del catalogo inherente a la consulta.
Sin embargo el optimizador no siempre escoge el
plan ms optimo, ya que una bsqueda exhaustiva
de la estrategia ptima puede consumir demasiado
tiempo de proceso.
Se dice entonces que el optimizador escoge una
estrategia razonablemente eficiente.

Arboles De Consultas.
Un diagrama de estructura de rbol es la representacin de un
esquema de la base de datos jerrquica, de ah el nombre, ya
que un rbol esta desarrollado precisamente en orden
descendente formando una estructura jerrquica.
Este tipo de diagrama est formado por dos componentes
bsicos:
Rectngulos: que representan a los de registros.
Lneas: que representan a los enlaces o ligas entre los registros.
Un diagrama de rbol tiene el propsito de especificar la
estructura global de la base de datos.

Un diagrama de estructura de rbol es similar a


un diagrama de estructura de datos en el modelo
de red. La principal diferencia es que en el
modelo de red los registros se organizan en
forma de un grafo arbitrario, mientras que en
modelo de estructura de rbol los registros se
organizan en forma de un rbol con raz.
Caractersticas de las estructuras de rbol:
El rbol no puede contener ciclos.
Las relaciones que existen en la estructura
deben ser de tal forma que solo existan
relaciones muchos a uno o uno a uno entre un
padre y un hijo.

Transformaciones Equivalentes Consultas Distribuidas

Cuando una base de datos se encuentra en multiples


servidores y distribuye a un numero determinado de
nodos tenemos:
1.-el servidor recive una peticion de un nodo
2.-el servidor es atacado por el acceso concurrente
a la base de datos cargada localmente
3.-el servidor muestra un resultado y le da un hilo a
cada una de las maquinas nodo de la red local.

Cuando una base de datos es accesada de esta


manera la tcnica que se utiliza es la de
fragmentacin de datos que puede ser hibrida,
horizontal y vertical.
En esta fragmentacin lo que no se quiere es perder
la consistencia de los datos, por lo tanto se respetan
las formas normales de la base de datos ok.
Bueno para realizar una transformacin en la
consulta primero desfragmentamos siguiendo los
estandares marcados por las reglas formales y
posteriormente realizamos el envio y la maquina que
recibe es la que muestra el resultado pertinente
para el usuario, de esta se puede producir una copia
que sera la equivalente a la original.

Mtodos de ejecucin de join


La sentencia join en SQL permite combinar
registros de dos o ms tablas en una base de
datos relacional. En el Lenguaje de Consultas
Estructurado (SQL), hay tres tipo de JOIN:
interno, externo, y cruzado.
En casos especiales una tabla puede unirse a s
misma, produciendo una auto-combinacin, SELFJOIN.

Matemticamente,
JOIN
es
composicin
relacional, la operacin fundamental en el lgebra
relacional, y generalizando es una funcin de
composicin.

Estimacin del tamao.

Sean r y s(S) dos relaciones:


Si R S= entonces r s es lo mismo que r x s, y por lo
tanto se puede utilizar la estimacin del producto
cartesiano.
Si R S es una clave de R entonces el nmero de
tuplas en r s no es mayor que el nmero de tuplas
en S. Si R S es una clave externa de R entonces el
nmero de tuplas de r s es exactamente el nmero
de tuplas de S.

Si R S no es clave de R ni de S entonces se supone


que cada valor aparece con la misma probabilidad ,
por lo tanto, sea t una tupla de r y sea R S=,
entonces se estima que la tupla t produce :
tuplas en s, por lo tanto se estima el tamao de r s
= (a) al cambiar los papeles de r y s se tiene (b)
Estos valores sern distintos si y slo si V(A,r)
V(A,s), si este es el caso, la ms baja estimacin
de ambas ser la ms conveniente.

Join en bucles anidados.


Si z = r s, r recibir el nombre de relacin externa
y s se llamar relacin interna, el algoritmo de
bucles anidados se puede presentar como sigue.
para cada tupla tr en rpara cada tupla ts en ssi
(tr,ts) satisface la condicin entonces aadir tr ts
al resultado Algoritmo 51 - Join en bucles
anidados.
Donde tr ts ser la concatenacin de las tuplas tr
y ts .

Como para cada registro de r se tiene que realizar


una exploracin completa de s, y suponiendo el
peor caso, en el cual la memoria intermedia slo
puede concatenar un bloque de cada relacin,
entonces el nmero de bloques a acceder es de .
Por otro lado, en el mejor de los casos si se
pueden contener ambas relaciones en la memoria
intermedia entonces slo se necesitaran accesos
a bloques.
Ahora bien, si la ms pequea de ambas relaciones
cabe completamente en la memoria, es
conveniente utilizar esta relacin como la relacin
interna, utilizando as slo accesos a bloques.

Join en bucles anidados por bloques.


Una variante del algoritmo anterior puede lograr
un ahorro en el acceso a bloques si se procesan las
relaciones por bloques en vez de por tuplas.
para cada bloque Br de rpara cada bloque Bs de
spara cada tupla tr en Brpara cada tupla ts en Bssi
(tr,ts) satisface la condicin entonces aadir tr ts
al resultado

Join en bucles anidados por ndices.


Este algoritmo simplemente sustituye las
bsquedas en tablas por bsquedas en ndices,
esto puede ocurrir siempre y cuando exista un
ndice en el atributo de join de la relacin
interna. Este mtodo se utiliza cuando existen
ndices as como cuando se crean ndices
temporales con el nico propsito de evaluar la
reunin.

Join por mezcla.


El algoritmo de Join por mezcla se pude utilizar
para calcular un Join natural o un equi-join. Para
tales efectos ambas relaciones deben estar
ordenadas por los atributos en comn.
Este algoritmo asocia un puntero a cada relacin,
al principio estos punteros apuntan al inicio de
cada una de la relaciones. Segn avanza el
algoritmo, el puntero se mueve a travs de la
relacin.

Join por asociacin.


El ndice asociativo en que se construye en
memoria por lo que no se hace necesario acceder al
disco para recuperar las tuplas, la funcin de
asociacin utilizada para construir este ndice es
distinta a la funcin h utilizada para construir las
particiones.
Despus de la divisin de las relaciones el resto
del cdigo realiza un join en bucle anidado por
ndices en cada una de las particiones. Para lograr
esto primero se construye un ndice asociativo en
cada y luego se prueba (se busca en ) con las
tuplas.

Join por asociacin hbrida.


El algoritmo de join por asociacin hbrida realiza
otra optimizacin; es til cuando el tamao de la
memoria es relativamente grande paro an as, no
cabe toda la relacin s en memoria.
Dado que el algoritmo de join por asociacin necesita
max +1 bloques de memoria para dividir ambas
relaciones se puede utilizar el resto de la memoria
(M max 1 bloques) para guardar en la memoria
intermedia la primera particin de la relacin s, esto
es , as no es necesaria leerla ni escribirla
nuevamente y se puede construir un ndice asociativo

Join Complejos.
Los join en bucle anidado y en bucle anidado por
bloques son tiles siempre, sin embargo, las otras
tcnicas de join son ms eficientes que estas,
pero slo se pueden utilizar en condiciones
particulares tales como join natural o equi-join. Se
pueden implementar join con condiciones ms
complejas tales como conjuncin o disyuncin.

Outer Join (Join externos)


Un outer join es una extensin del operador join que
se utiliza a menudo para trabajar con la informacin
que falta. Por ejemplo, suponiendo que se desea
generar una lista con todos los choferes y los autos
que manejan (si manejan alguno) entonces se debe
cruzar la relacin Chofer con la relacin Movil.
Si se efecta un join corriente se perdern todas
aquellas tuplas que pertenecen a los choferes, en
cambio con un outer join se pueden desplegar las
tuplas resultado incluyendo a aquellos choferes que no
tengan a cargo un auto. El outer join tiene tres formas
distintas: por la izquierda, por la derecha y completo.

Agregacin.
La agregacin es otra de las caractersticas
del lgebra de relaciones extendida. La idea de
este tipo de funciones es que tomen un
conjunto de valores y que retornen un solo
valor. se utilizan comnmente para informacin
agregada (de ah su nombre), analizan una
agrupacin de registros y rescatan el valor
solicitado.

Potrebbero piacerti anche