INVESTIGACION. Consultas



Investigar sobre:

 Cuáles son los puntos para la optimización de consultas distribuidas, y explicar la optimización global de consultas
y la optimización local de consultas





Puntos para la optimización de consultas distribuidas



El objetivo del procesamiento de consultas en un ambiente distribuido es transformar una consulta sobre una base de datos distribuida en una especificación de alto nivel a una estrategia de ejecución eficiente expresada en un lenguaje de bajo nivel sobre bases de datos locales.
Así, el problema de optimización de consultas es minimizar una función de costo tal que función de costo total = costo de I/O + costo de CPU + costo de comunicación
Los diferentes factores pueden tener pesos diferentes dependiendo del ambiente distribuido en el que se trabaje. Por ejemplo, en las redes de área amplia (WAN), normalmente el costo de comunicación domina dado que hay una velocidad de comunicación relativamente baja, los canales están saturados y el trabajo adicional requerido por los protocolos de comunicación es considerable. Así, los algoritmos diseñados para trabajar en una WAN, por lo general, ignoran los costos de CPU y de I/O. En redes de área local (LAN) el costo de comunicación no es tan dominante, así que se consideran los tres factores con pesos variables.

Optimización Global de Consultas

Dada una consulta algebraica sobre fragmentos, el objetivo de esta capa es hallar una estrategia de ejecucion para la consulta cercana a la optima. La estrategia de ejecucion para una consulta distribuida puede ser descrita con los operadores del algebra relacional y con primitivs de comunicacion para transferir datos entre nodos. Para encontrar una buena transformacion se consideran las caracteristicas de los fragmentos, tales como, sus cardinalidades. Un aspecto importante de la optimizacion de consultas es el ordenamiento de juntos, dado que algunas permutaciones de juntos dentro de la consulta pueden conducir a un mejoramiento de varios ordenes de magnitud. La salida de la capa de optimizacion global es una consulta algebraica optimizada con opreacion de comunicacion incluidas sobre los fragmentos.

Optimizacion Loacal de consultas

El trabajo de la ultima capa se efectua en todos los nodos con fragmentos involucrados en la consulta. Cada subconsulta que se ejecuta en un nodo, llamada consulta local, es optimizada usando el esquema local del nodo. Hasta este momento, se pueden elegir los algoritmos para realizar las operaciones relacionales. La optimizacion local utiliza los algoritmos de sistemas centralizados.


Optimización Global de Consultas
Dada una consulta algebraica sobre fragmentos, el objetivo de esta capa es hallar unaestrategia de ejecución para la consulta cercana a la óptima. La estrategia de ejecuciónpara una consulta distribuida puede ser descrita con los operadores del álgebrarelacional y con primitivas de comunicación para transferir datos entre nodos. Paraencontrar una buena transformación se consideran las características de los fragmentos,tales como, sus cardinalidades. Un aspecto importante de la optimización de consultas esel ordenamiento de juntas, dado que algunas permutaciones de juntas dentro de laconsulta pueden conducir a un mejoramiento de varios órdenes de magnitud. La salidade la capa de optimización global es una consulta algebraica optimizada con operaciónde comunicación incluidas sobre los fragmentos.
Optimización Local de Consultas
El trabajo de la última capa se efectúa en todos los nodos con fragmentos involucradosen la consulta. Cada subconsulta que se ejecuta en un nodo, llamada
consulta local
, esoptimizada usando el esquema local del nodo. Hasta este momento, se pueden eligen losalgoritmos para realizar las operaciones relacionales