Estrategias de procesamiento de
consultas distribuidas.
Consulta
distribuida:
·
Las
consultas distribuidas tienen acceso a datos de varios orígenes de datos
heterogéneos.
·
Estos orígenes
de datos pueden estar almacenado en el mismo equipo o en equipos diferentes.
·
El procesamiento
de consultas tiene varias etapas a seguir para resolver una consulta en sql.
·
Las características
del modelo relacional permiten que cada motor de base de datos elija su propia
representación: álgebra relacional.
Existen varios
medios para calcular la respuesta a una consulta.
Es preciso tener en
cuenta otros factores como son:
·
El costo de
transmisión de datos en la red.
·
Repetición y
fragmentación.
·
Procesamiento
de intersección simple.
Árboles de consultas:
Son estructuras de
datos en forma de árbol, en donde, los datos al estar ordenados en la
estructura, hace más ágiles las consultas.
Pasos:
– Parsing y
traducción de la consulta
– Optimización
– Generación de código
– Ejecución de la consulta
Transformaciones
equivalentes.
Cuando
una base de datos se encuentra en múltiples servidores y distribuye a un número
determinado de nodos tenemos:
El
servidor recibe una petición de un nodo.
El
servidor es atacado por el acceso concurrente a la base de datos cargada
localmente.
El
servidor muestra un resultado y le da un hilo a cada una de las maquinas nodo
de la red local.
Métodos
de ejecución del join.
Existen
diferentes algoritmos que pueden obtener transformaciones eficientes en el
procesamiento de consultas:
- Join externo.
Un
outer join es una extensión del operador join que se utiliza a menudo para
trabajar con la información que falta.
- Join complejos.
Los
join en bucle anidado y en bucle anidado por bloques son útiles siempre, sin
embargo, las otras técnicas de join son más eficientes que estas, pero sólo se
pueden utilizar en condiciones particulares tales como join natural o
equi-join.
- Join por asociación híbrida.
El
algoritmo de join por asociación híbrida realiza otra optimización; es útil
cuando el tamaño de la memoria es relativamente grande paro aún así, no cabe
toda la relación s en memoria.
- Join por asociación.
Al
igual que el algoritmo de join por mezcla, el algoritmo de join por asociación
se puede utilizar para un Join natural o un equi-join. Este algoritmo utiliza
una función de asociación h para dividir las tuplas de ambas relaciones.
- Join por mezcla.
Este
algoritmo se puede utilizar para calcular si un Join natural es óptimo en la
búsqueda o consulta.
- 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.
No hay comentarios:
Publicar un comentario