Está en la página 1de 14

1

Optimización de
consultas
PROCESAMIENTO DE CONSULTAS DISTRIBUIDAS
UNIDAD3
Gabriela Doralee
Ramírez Cuevas
09/044
2

El término “optimización” es algo inapropiado,


puesto que las técnicas para optimizar la
ejecución de una consulta generalmente no lo
logran y únicamente se obtienen estrategias
para un "buen” acceso.
3

Objetivos de la
optimización de
consultas
• Minimizar costos
• En un DDBMS el costo total incluye:
CPU + I/O + comunicación
*Las redes de comunicación son
costosas y de baja velocidad
4

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 ni
vel a una estrategia
de ejecución eficiente
expresada en un
lenguaje de bajo
nivel sobre bases de
datos locales.

*Las propiedades del álgebra relacional nos facilitan asegurar la reformulación de la consulta.-
5

Se tienen cuatro pasos


generales en el proceso
de optimización de una
consulta:
6

Convertir la consulta en alguna


representación interna:

El primer paso en el proceso de una consulta es


convertirla en una representación interna que sea más
apropiada para la manipulación de la información,
esto de manera que los pasos subsecuentes no se
vean afectados.
7

Convertir a una forma canónica:


Lo importante en este punto, es que, la mayoría de
los lenguajes de consulta permiten representar
una consulta en varias formas distintas.
Así, la obtención de expresiones equivalentes se
logra por medio de reglas de transformación
definidas y permitidas dentro del álgebra relacional.
8

Elegir el procedimiento de bajo nivel:


Se deberá decidir como se evaluara la consulta,
representada por su forma canónica, aquí, la estrategia
básica es considerar la consulta como una serie de
operaciones de bajo nivel, para cada operación se tendrá
un conjunto de procedimientos predefinidos.
9

Seleccionar el procedimiento más económico:


El paso final es la contracción de un conjunto de planes
de ejecución de consultas candidatas seguidas de la
elección del mejor de los planes.
Dentro del costo de una consulta también deberá tomarse
en cuenta la transmisión de los datos dentro del sistema
en el cual se llevara a cabo la consulta.
Cuando una consulta es lanzada dentro de un sistema de
bases de datos distribuidas, es posible saber que
información se requiere y en que sitio se encuentra.
Entonces se deberá de diseñar una estrategia de
recolección de datos.
Optimización global de consultas 10

El objetivo de esta capa es hallar


una estrategia de ejecución para la
consulta cercana a la óptima.
La estrategia de ejecución para
una consulta distribuida puede ser
descrita con los operadores del
álgebra relacional y con primitivas
de comunicación* para transferir
datos entre nodos.

*Conexión interna
11
El objetivo de esta capa
es hallar una estrategia de
ejecución para la consulta
cercana a la óptima.
12
Optimización local de consultas

El trabajo de la última capa se


efectúa en todos los nodos con
fragmentos involucrados en
la consulta.
Cada consulta que se ejecuta en un
nodo, llamada consulta local, es
optimizada usando el esquema local
del nodo.
La optimización local utiliza los
algoritmos de sistemas centralizados.
13
Una consulta puede ser optimizada en tiempos diferentes con relación a 14
tiempo de ejecución de la consulta.
La optimización se puede realizar de manera estática antes de ejecutar la
consulta o de forma dinámica durante la ejecución de la consulta.

Forma estática Forma dinámica


 La optimización estática se hace en  La optimización de consultas
tiempo de compilación de la dinámica la elección de la mejor
consulta. operación siguiente se puede hacer
basado en el conocimiento exacto
Así, el costo de la optimización puede de los resultados de las operaciones
ser amortizada sobre múltiples anteriores.
ejecuciones de la misma consulta.

También podría gustarte