Está en la página 1de 19

OBJETIVO DEL PROCESAMIENTO DE CONSULTAS

El objetivo es transformar consultas escritas en lenguaje de alto nivel,


como por ejemplo SQL, en estrategias de ejecución optimizadas para
aprovechar los recursos al máximo y que los tiempos de respuesta de nuestra
BD sea lo suficientemente rápido como para atender varios usuarios al mismo
tiempo.

Normalmente una estrategia de ejecución se expresa en lenguaje de


bajo nivel, como álgebra relacional, a través de la utilización y combinación de
varias operaciones del álgebra relacional como lo son la selección, proyección,
etc.

Herramientas de Consulta y Análisis (http://www.dataprix.com/36-


herramientas-consulta-y-analisis)

Figura 3.59: Herramientas de Consulta y Análisis.

Las herramientas de consulta y análisis son sistemas que permiten a l@s


usuari@s realizar la exploración de datos del DW. Básicamente constituyen el
nexo entre el depósito de datos y l@s usuari@s.
Utilizan la metadata de las estructuras de datos que han sido creadas
previamente (cubos multidimensionales, Business Models, etc.) para trasladar
a través de consultas SQL los requerimientos de l@s usuari@s, para luego,
devolver el resultado obtenido.
Estas herramientas también pueden emplear simples conexiones a
bases de datos (JNDI, JDBC, ODBC), para obtener la información deseada.
A través de una interfaz gráfica y una serie de pasos, l@s usuari@s
generan consultas que son enviadas desde la herramienta de consulta y
análisis al Query Manager, este a su vez realiza la extracción de información al
DW Manager y devuelve los resultados obtenidos a la herramienta que se los
solicitó. Luego, estos resultados son expuestos ante l@s usuari@s en formatos
que le son familiares.

PROCESO
Este proceso se puede comprender mejor al observar la siguiente figura:

Figura 3.60: Proceso de Consulta y Análisis.

El mismo, se lleva a cabo a través de seis pasos sucesivos:

1. L@s usuari@s seleccionan o establecen que datos desean obtener del


DW, mediante las interfaces de la herramienta que utilice.

2. La herramienta recibe el pedido de l@s usuari@s, construye la consulta


(utilizando la metadata) y la envía al Query Manager.

3. El Query Manager ejecuta la consulta sobre la estructura de datos con la


que se esté trabajando (cubo multidimensional, Business Model, etc.).

4. El Query Manager obtiene los resultados de la consulta.

5. El Query Manager envía los datos a la herramienta de consulta y análisis.

6. La herramienta presentan a l@s usuari@s la información requerida.

Una de las principales ventajas de utilizar estas herramientas, es que l@s


usuari@s no se tienen que preocupar por conocer cuáles son las características
y funcionalidades de las estructuras de datos utilizadas, ni por saber emplear el
lenguaje SQL, solo se deben enfocar en el análisis.

CARACTERISTICAS
Las herramientas de consulta y análisis, en general, comparten las
siguientes características:

 Accesibilidad a la información: permiten el acceso a la información a


través de las diferentes estructuras de datos de forma transparente a
l@s usuari@s finales, para que est@s solo se enfoquen en el análisis y
no en el origen y procedencia de los datos.

 Apoyo en la toma de decisiones: permiten la exploración de los datos, a


fin de seleccionar, filtrar y personalizar los mismos, para la obtención de
información oportuna, relevante y útil, para apoyar el proceso de toma
de decisiones.

 Orientación l@s usuari@s finales: permiten a través de entornos


amigables e intuitivos, que l@s usuari@s puedan realizar análisis y
consultas, sin poseer conocimientos técnicos. Si bien lo realmente
importante son los datos mismos, que estos puedan ser interpretados y
analizados por l@s usuari@s dependerá en gran medida de cómo se
presenten y dispongan.

TIPOS DE HERRAMIENTAS
Existen diferentes tipos de herramientas de consulta y análisis, y de
acuerdo a la necesidad, tipos de usuari@s y requerimientos de información, se
deberán seleccionar las más propicias al caso. Entre ellas se destacan las
siguientes:

 Reportes y Consultas.
 OLAP.
 Dashboards.
 Data Mining.
 EIS.

 Reportes y Consultas
Se han desarrollado muchas herramientas para la producción de consultas y
reportes, que ofrecen a l@s usuari@s, a través de pantallas gráficas intuitivas,
la posibilidad de generar informes avanzados y detallados del tema de interés
de interés que se este analizando. L@s usuari@s solo deben seguir una serie
de simples pasos, como por ejemplo seleccionar opciones de un menú,
presionar tal o cual botón para especificar los elementos de datos, sus
condiciones, criterios de agrupación y demás atributos que se consideren
significativos.
Actualmente las herramientas de generación de reportes y consultas
cuentan con muchas prestaciones, las cuales permiten dar variadas formas y
formatos a la presentación de la información. Entre las opciones más comunes
se encuentran las siguientes:

 Parametrización de los datos devueltos.

 Selección de formatos de salida (planilla de cálculo, HTML, PDF, etc.).

 Inclusión de gráficos de tortas, barras, etc.

 Utilización de plantillas de formatos de fondos.

 Inclusión de imágenes.

 Formatos tipográficos.

 Links a otros reportes.

 OLAP
El procesamiento analítico en línea OLAP (On Line Analytic Processing), es la
componente más poderosa del Data Warehousing, ya que es el motor de
consultas especializado del depósito de datos.
Las herramientas OLAP, son una tecnología de software para análisis en
línea, administración y ejecución de consultas, que permiten inferir información
del comportamiento del negocio.
Su principal objetivo es el de brindar rápidas respuestas a complejas
preguntas, para interpretar la situación del negocio y tomar decisiones. Cabe
destacar que lo que es realmente interesante en OLAP, no es la ejecución de
simples consultas tradicionales, sino la posibilidad de utilizar operadores tales
como drill-up, drill-down, etc, para explotar profundamente la información.
Además, a través de este tipo de herramientas, se puede analizar el
negocio desde diferentes escenarios históricos, y proyectar como se ha venido
comportando y evolucionando en un ambiente multidimensional, o sea,
mediante la combinación de diferentes perspectivas, temas de interés o
dimensiones. Esto permite deducir tendencias, por medio del descubrimiento
de relaciones entre las perspectivas que a simple vista no se podrían encontrar
sencillamente.
Las herramientas OLAP requieren que los datos estén organizados dentro
del depósito en forma multidimensional, por lo cual se utilizan cubos
multidimensionales.
Además de las características ya descritas, se pueden enumerar las
siguientes:
 Permite recolectar y organizar la información analítica necesaria para
l@s usuari@s y disponer de ella en diversos formatos, tales como tablas,
gráficos, reportes, tableros de control, etc.

 Soporta análisis complejos de grandes volúmenes de datos.

 Complementa las actividades de otras herramientas que requieran


procesamiento analítico en línea.

 Presenta a l@s usuari@s una visión multidimensional de los datos


(matricial) para cada tema de interés del negocio.

 Es transparente al tipo de tecnología que soporta el DW, ya sea ROLAP,


MOLAP u HOLAP.

 No tiene limitaciones con respecto al número máximo de dimensiones


permitidas.

 Permite a l@s usuari@s, analizar la información basándose en más


criterios que un análisis de forma tradicional.

 Al contar con muestras grandes, se pueden explorar mejor los datos en


busca de respuestas.

 Permiten realizar agregaciones y combinaciones de los datos de


maneras complejas y específicas, con el fin de realizar análisis más
estratégicos.

 Dashboards
Los Dashboards se pueden entender como una colección de reportes,
consultas y análisis interactivos que hacen referencia a un tema en particular y
que están relacionados entre sí.
Existen diversas maneras de diseñar un Dashboard, cada una de las cuales
tiene sus objetivos particulares, pero a modo de síntesis se expondrán algunas
características generales que suelen poseer:

 Presentan la información altamente resumida.

 Se componen de consultas, reportes, análisis interactivos, gráficos (de


torta, barras, etc), semáforos, indicadores causa-efecto, etc.

 Permiten evaluar la situación de la empresa con un solo golpe de vista.

 Poseen un formato de diseño visual muy llamativo.


 Data Mining
Esta herramienta constituye una poderosa tecnología con un gran potencial
que ayuda y brinda soporte a l@s usuari@s, con el fin de permitirles analizar y
extraer conocimientos ocultos y predecibles a partir de los datos almacenados
en un DW o en un OLTP. Claro que es deseable que la fuente de información sea
un DW, por todas las ventajas que aporta.
La integración con el depósito de datos facilita que las decisiones
operacionales sean implementadas directamente y monitorizadas.
Implementar Data Mining permitirá analizar factores de influencia en
determinados procesos, predecir o estimar variables o comportamientos
futuros, segmentar o agrupar ítems similares, además de obtener secuencias
de eventos que provocan comportamientos específicos.
Una de las principales ventajas del Data Mining es que, como recién se ha
hecho mención, permite inferir comportamientos, modelos, relaciones y
estimaciones de los datos, para poder desarrollar predicciones sobre los
mismos, sin la necesidad de contar con patrones o reglas preestablecidas,
permitiendo tomar decisiones proactivas y basadas en un conocimiento
acabado de la información.
Además brinda la posibilidad de dar respuesta a preguntas complicadas
sobre los temas de interés, como por ejemplo Qué está pasando?, Por qué? y
Qué pasaría sí?, estos cuestionamientos aplicados a una empresa podrían ser:
Cuál de los productos de tal marca y clase serán más vendidos en la zona norte
en el próximo semestre? y por qué? Además se podrán ver los resultados en
forma de reportes tabulares, matriciales, gráficos, tableros, etc.
Entonces, se puede definir Data Mining como una técnica para descubrir
patrones y relaciones entre abundantes cantidades de datos, que a simple
vista o que mediante otros tipos de análisis no se pueden deducir, ya que
tradicionalmente consumiría demasiado tiempo o estaría fuera de las
expectativas.
Los sistemas Data Mining se desarrollan bajo lenguajes de última
generación basados en Inteligencia Artificial y utilizan métodos matemáticos
tales como:

 Redes Neuronales.

 Sistemas Expertos.

 Programación Genética.

 Árboles de Decisión.

Soporta además, sofisticadas operaciones de análisis como los sistemas


Scoring, aplicaciones de Detección de Desviación y Detección de Fraude.
Es muy importante tener en cuenta que en las herramientas OLAP y en los
reportes y consultas, el análisis parte de una pregunta o hipótesis generada
por l@s usuari@s, en cambio Data Mining permite generar estas hipótesis.
Generalmente las herramientas de Data Mining se integran con plataformas
de hardware y software existentes (como DW) para incrementar el valor de las
fuentes de datos establecidas y para que puedan ser integradas con nuevos
productos y sistemas en línea (como OLAP). En adición a esto, hacer minería de
datos sobre un depósito de datos permite entre otras ventajas contar con los
beneficios de los procesos ETL y de las técnicas de limpieza de datos, tan
necesarios en este tipo de análisis.

 EIS

EIS (Executive Information System) proporciona medios sencillos para


consultar, analizar y acceder a la información de estado del negocio. Además,
pone a disposición facilidades para que l@s usuari@s puedan conseguir los
datos buscados rápidamente, empleando el menor tiempo posible para
comprender el uso de la herramienta.

Usualmente, EIS se utiliza para analizar los indicadores de performance y


desempeño del negocio o área de interés, a través de la presentación de vistas
con datos simplificados, altamente consolidados, mayormente estáticos y
preferentemente gráficos.

El concepto principal de esta herramienta, se basa en el simple hecho de


que l@s ejecutiv@s no poseen tiempo, ni las habilidades necesarias para
analizar grandes cantidades de datos.

Al igual que OLAP y Data Mining, los EIS, se pueden aplicar


independientemente de la plataforma DW. Pero tener como base un depósito
de datos para implementar esta herramienta, conlleva todas las ventajas
implícitas del mismo.

La complejidad de las operaciones del álgebra relacional

La complejidad de las operaciones del álgebra relacional afectan


directamente su tiempo de ejecución y establecen algunos principios útiles al
procesador de consultas.

Esos principios pueden ayudar en elegir la estrategia de ejecución final.

La forma más simple de definir la complejidad es en términos de la


cardinalidad de las relaciones independientemente de los detalles de
implementación tales como fragmentación y estructuras de almacenamiento.
Lo anterior sugiere dos principios:

1. Dado que la complejidad es con base en las cardinalidades de las


relaciones, las operaciones más selectivas que reducen las cardinalidades
deben ser ejecutadas primero.

2. Las operaciones deben ser ordenadas en el orden de complejidad


creciente de manera que el producto Cartesiano puede ser evitado o, al menos,
ejecutado al final de la estrategia.

Para obtener el nombre y el apellido de los empleados, tanto de


administración como de producción, es necesario hacer una unión de
EMPLEADOS_ADM yEMPLEADOS_PROD, y después hacer una proyección
sobre los atributos nombre y apellido. La operación se puede expresar de
las formas siguientes:

a) Se puede utilizar una sola expresión:

R := (EMPLEADOS_ADM EMPLEADOS_PROD) [nombre, apellido].

b) O bien podemos expresarlo en dos pasos:

• EMPS := EMPLEADOS_ADMEMPLEADOS_PROD;

• R := EMPS[nombre, apellido]

En los casos en que una consulta requiere efectuar muchas operaciones,


resulta más sencilla la segunda alternativa, porque evita expresiones
complejas.
Caracterización de consultas

Es difícil evaluar y comparar procesadores de consultas para sistemas


centralizados y distribuidos dado que ellos difieren en muchos aspectos.

Características importantes de los procesadores de consultas que


pueden ser usados como base para su comparación:

1.-Lenguaje

Gran parte del trabajo de procesamiento tiene que ver con el lenguaje,
pues los lenguajes relacionales proporcionan muchas oportunidades para la
optimización. En BBDD distribuidas se cuenta con un lenguaje relacional más
primitivas de comunicación.

2.- Tipo de optimización

El problema de optimización de consultas es altamente demandante en


tiempo de ejecución y, en el caso general, es un problema de la clase NP.

Así existen dos estrategias para su solución: búsqueda exhaustiva o el


uso de heurísticas.

Los algoritmos de búsqueda exhaustiva tienen una complejidad


combinatorial en el número de relaciones de la consulta.

Obtienen la transformación óptima, pero sólo se aplican a consultas


simples dado su tiempo de ejecución.

Por otro lado, los algoritmos heurísticos obtienen solo aproximaciones a


la transformación óptima pero lo hacen en un tiempo de ejecución razonable.

Las heurísticas más directas a aplicar son el agrupamiento de


expresiones comunes para evitar el cálculo repetido de las mismas, aplicar
primero las operaciones de selección y proyección, reemplazar una junta por
una serie de semijuntas y reordenar operaciones para reducir el tamaño de las
relaciones intermedias.

3.- Granularidad de la optimización

Existen dos alternativas: considerar sólo una consulta a la vez o tratar de


optimizar múltiples consultas. La primera alternativa no considera el uso de
resultados comunes intermedios.

En el segundo caso puede obtener transformaciones eficientes si las


consultas son similares. Sin embargo, el espacio de decisión es mucho más
amplio lo que afecta grandemente el tiempo de ejecución de la optimización
4.- Tiempo de optimización

Durante la optimización de consultas dinámica la elección de la mejor


operación siguiente se puede hacer basado en el conocimiento exacto de los
resultados de las operaciones anteriores. Por tanto, se requiere tener
estadísticas acerca del tamaño de los resultados intermedios para aplicar esta
estrategia.

Un tercer enfoque, conocido como híbrido, utiliza básicamente un


enfoque estático, pero se puede aplicar un enfoque dinámico cuando los
tamaños de las relaciones estimados están alejados de los tamaños actuales.

5.- Estadísticas

La efectividad de una optimización recae en las estadísticas de la base


de datos. La optimización dinámica de consultas requiere de estadísticas para
elegir las operaciones que deben realizarse primero.

La optimización estática es aún más demandante ya que el tamaño de


las relaciones intermedias también debe ser estimado basándose en
estadísticas. En bases de datos distribuidas las estadísticas para optimización
de consultas típicamente se relacionan a los fragmentos; la cardinalidad y el
tamaño de los fragmentos son importantes así como el número de valores
diferentes de los atributos.

Para minimizar la probabilidad de error, estadísticas más detalladas tales


como histogramas de valores de atributos se usan pagando un costo mayor por
su manejo.

6.- Nodos de Decisión

Cuando se utiliza la optimización estática, un solo nodo o varios de ellos


pueden participar en la selección de la estrategia a ser aplicada para ejecutar
la consulta.

La mayoría 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 decisión puede ser distribuido entre varios


nodos los cuales participan en la elaboración 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 información local. Existen


enfoques híbridos en donde un nodo determina una calendarización global de
las operaciones de la estrategia y cada nodo optimiza las subconsultas locales
7.- Topología de la Red

Como se mencionó al principio, el tipo de red puede impactar


severamente la función objetivo a optimizar para elegir la estrategia de
ejecución.

Por ejemplo, en redes de tipo WAN se sabe que en la función de costo el


factor debido a las comunicaciones es dominante. Por lo tanto, se trata de
crear una calendarización global basada en el costo de comunicación.

A partir de ahí, se generan calendarizaciones locales de acuerdo a una


optimización de consultas centralizada.

En redes de tipo LAN el costo de comunicación no es tan dominante. Sin


embargo, se puede tomar ventaja de la comunicación "broadcast" que existe
comúnmente en este tipo de redes para optimizar el procesamiento de las
operaciones junta.

Por otra parte, se han desarrollado algoritmos especiales para topologías


específicas, como por ejemplo, la topología de estrella.

8.-Fragmentos replicados

El procesador de consultas debe localizar los lugares donde se


encuentran los datos que busca. Para optimización, se suele jugar con el hecho
de que a veces hay datos que están replicados, lo cual puede ser beneficioso
para aprovechar unos caminos u otros en la topología de red.

9.-Uso de semijoins

El uso de semijoins reduce el tamaño de los datos intercambiados entre


los sitios, por lo cual en redes lentas su uso está bastante extendido. No
obstante, esto implica aumento en el número de mensajes intercambiados y
aumento también del tiempo de proceso local.

Arquitectura del procesamiento de consultas


1. Descomposición de consultas

La primera capa descompone una consulta en el cálculo relacional en


una consulta en el álgebra relacional que opera sobre relaciones globales.
Consiste de cuatro partes:

1. Normalización. Involucra la manipulación de los cuantificadores de la


consulta y de los calificadores de la misma mediante la aplicación de la
prioridad de los operadores lógicos.

2. Análisis. Se detecta y rechazan consultas semánticamente incorrectas.

3. Simplificación. Elimina predicados redundantes.

4. Reestructuración. Mediante reglas de transformación una consulta en


el cálculo relacional se transforma a una en el álgebra relacional. Se sabe que
puede existir más de una transformación. Por tanto, el enfoque seguido
usualmente es empezar con una consulta algebraica y aplicar transformaciones
para mejorarla.

Descomposición de consultas
1. Normalización

La consulta de entrada puede ser arbitrariamente compleja dependiendo


de las facilidades provistas por el lenguaje. El objetivo de la normalización es
transformar una consulta a una forma normalizada para facilitar su
procesamiento posterior. La normalización consiste de dos partes:

El análisis léxico y sintáctico: En esta parte se verifica la validez de la


expresión que da origen a la consulta. Se verifica que las relaciones y atributos
invocados en la consulta estén acordes con la definición en la base de datos.

Por ejemplo, se verifica el tipo de los operandos cuando se hace la


calificación.

2. Análisis

El análisis de consultas permite rechazar consultas normalizadas para los


cuales no se requiere mayor procesamiento.

Una consulta se puede rechazar si alguno de sus atributos o nombres de


relación no están definidas en el esquema global. También se puede rechazar si
las operaciones que se aplican a los atributos no son del tipo adecuado.

En una gráfica de consulta, un nodo indica la relación resultante, y


cualquier otro nodo representa la relación operante.

Un arco entre dos nodos que no son resultados representa una junta,
mientras que un arco cuyo nodo destino es una relación resultante representa
una proyección.

Una subgráfica importante de la gráfica de conectividad es la gráfica de


juntas, en la cual únicamente se consideran las juntas.

La gráfica de juntas es particularmente importante durante la fase de


optimización.

3. Simplificación

La consulta en forma normal conjuntiva puede contener predicados


redundantes.

Una evaluación directa de la consulta con redundancia puede llevarnos a


realizar trabajo duplicado.

Ejemplo: consulta en SQL

SELECT TITULO

FROM E
WHERE (NOT (TITULO = "Programador"))

AND (TITULO = "Programador"

OR TITULO = "Ingeniero Eléctrico")

AND NOT (TITULO = "Ingeniero Eléctrico")

OR ENOMBRE = "J. Doe"

puede ser simplificada usando las reglas anteriores a

SELECT TITULO

FROM E

WHERE ENOMBRE = "J. Doe"

4. Reestructuración.

El último paso en la descomposición de consultas, reescribe la consulta


en el álgebra relacional.

Esto se hace típicamente en los siguientes paso:

a. Una transformación directa del cálculo relacional en el álgebra


relacional

b. Una reestructuración de la consulta en el álgebra relacional


para mejorar la eficiencia

Por claridad es costumbre representar la consulta en el álgebra


relacional por un árbol del álgebra relacional, el cual es un árbol en donde una
hoja representa a una relación almacenada en la base de datos y un nodo no
hoja es una relación intermedia producida por una operación del álgebra
relacional.

2.- Localización de Datos

La entrada a esta capa es una consulta algebraica definida sobre


relaciones distribuidas.

El objetivo de esta capa es localizar los datos de la consulta usando la


información sobre la distribución de datos.
Esta capa determina cuales fragmentos están involucrados en la
consulta y transforma la consulta distribuida en una consulta sobre fragmentos

Localización de datos distribuidos

En la sección anterior se presentaron técnicas generales para la


descomposición y reestructuración de consultas expresadas en el cálculo
relacional.

Esas técnicas globales se aplican tanto a bases de datos centralizadas


como a distribuidas; no toman en cuenta la distribución de datos.

Este es el papel de la capa de localización, la cual traduce una consulta


hecha sobre relaciones globales a una consulta algebraica expresada en
fragmentos físicos.

La localización utiliza información almacenada en el esquema de


fragmentación. Por simplicidad en esta sección no se considera el caso de
fragmentos replicados.

La fragmentación de una relación se define a través de las reglas de


fragmentación, las cuales pueden ser expresadas como consultas relacionales.

Una relación global puede ser reconstruida aplicando las reglas de


reconstrucción y derivando un programa en el álgebra relacional cuyos
operandos son los fragmentos.

A este programa se le conoce como programa de localización.

Una forma simple de localizar una consulta distribuida es generar una


consulta donde cada relación global es sustituida por su programa de
localización.

Esto puede ser visto como el reemplazo de las hojas del árbol del
álgebra relacional de la consulta distribuida con subárboles que corresponden a
los programas de localización.

A la consulta obtenida por esta forma se le conoce como una consulta


genérica.

En general, el enfoque anterior puede ser ineficiente dado que varias


simplificaciones y reestructuraciones de la consulta genérica aún pueden ser
realizadas.
Por cada tipo de fragmentación se presentan técnicas de reducción que
general consultas simples y optimizadas:

A) Reducción para fragmentación horizontal primaria.

B) Reducción para fragmentación vertical.

C) Reducción para fragmentación horizontal derivada.

D) Reducción para fragmentación híbrida.

3.- Optimización Global de Consultas

Dada una consulta algebraica sobre fragmentos, 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.

Para encontrar 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 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 optimización global es una consulta algebraica


optimizada con operación de comunicación incluidas sobre los fragmentos.

La optimización global de consultas es la tercera etapa del


procesamiento de consultas distribuidas.

Dada una consulta algebraica sobre fragmentos, el objetivo de esta capa


es hallar una estrategia de ejecución para la consulta cercana a la óptima.

La salida de la capa de optimización global es una calendarización de


una consulta optimizada en el álgebra relacional la cual indica el orden en que
se ejecutan los operadores e incluye operaciones de comunicación sobre los
fragmentos.
Ya que la selección del ordenamiento óptimo de operadores para una
consulta es computacionalmente intratable, el objetivo del optimizador es
encontrar la mejor estrategia, no necesariamente óptima, para ejecutar la
consulta.

La selección de la "mejor" estrategia requiere, por lo general, predecir


los costos de ejecución de diferentes alternativas para ejecutar la consulta.

El costo de ejecución se expresa como la combinación pesada de los


costos de entrada/salida, de CPU y de comunicación.

Modelo de costo

El costo de una estrategia de ejecución distribuida se puede expresar


con respecto al costo total (tiempo de ejecución) o al tiempo de respuesta.

El costo total es la suma de todas sus componentes (I/O, CPU y


comunicación).

El tiempo de respuesta es el tiempo transcurrido desde el inicio de la


consulta hasta su terminación.

Tiempo de Respuesta

El tiempo de respuesta es el tiempo transcurrido desde el inicio de la


consulta hasta su terminación y se puede expresar como

Costo total = costo de I/O + costo de CPU + costo de comunicación

Donde:

costo de CPU = costo de una instrucción * no. de instrucciones


secuenciales

costo de I/O = costo unitario de una operación de I/O a disco *

4.-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 subconsulta que se ejecuta en un nodo, llamada consulta local, es
optimizada usando el esquema local del nodo.

Hasta este momento, se pueden eligen los algoritmos para realizar las
operaciones relacionales.

La optimización local utiliza los algoritmos de sistemas centralizados.

El último paso en el esquema de procesamiento de consultas distribuidas


es la optimización de consultas locales.

Para ello se utilizan las técnicas de optimización de consultas


centralizadas.

El propósito es seleccionar el mejor camino de acceso para una consulta


local.

CONSULTAS DE TIPO INCORRECTO

Una consulta es de tipo incorrecto si uno de sus atributos o nombres de


relación no están definidos en el esquema global o si las operaciones que están
siendo aplicadas a los atributos son del tipo incorrecto.

La técnica usada para detectar consultas de tipo incorrecto es similar a


la comprobación

Reglas heurísticas para mejorar el procesamiento de consulta

 Realizar las operaciones de selección lo antes posible.


 Combinar el producto cartesiano con una operación de selección
subyacente.
 Utilizar la asociatividad de las operaciones binarias para reordenar los
nodos hoja.
 Realizar operaciones de proyección.

También podría gustarte