Procesamiento de consultas (capítulo 13 y 14 del libro)

Documentos relacionados
Optimización. Bibliografía: Fundamentos de bases de datos Korth, Silberschatz

Bases de Datos 2. Teórico

Procesamiento y Optimización de Consultas

Procesamiento y Optimización de Consultas

Procesamiento y Optimización de Consultas

12. Procesamiento y Optimización de Consultas

8. Procesamiento y optimización de consultas

Bases de Datos I. Cursada Clase 5: Optimización de Consultas

TEMA 6.- LENGUAJES DE CONSULTA FORMALES.

Bases de datos 1. Teórico: Algebra Relacional

CC42A: Bases de Datos Auxiliar: Optimizacion Consultas SQL

Organización y Acceso a Datos

En la terminal de micros de Retiro se cuenta con un sistema con el siguiente esquema de base de datos:

Resumen de las clases 6 y 9 de junio

Bases de Datos. Álgebra Relacional

Álgebra Relacional (1 de 2)

Unidad 3. Álgebra Relacional y Cálculo Relacional

Guía del Curso Curso de Bases de Datos Relacionales

Tema 8 Álgebra Relacional

Álgebra Relacional. Carlos A. Olarte BDI

Sistemas de Datos. Rendimiento de la Base de datos. Procesamiento de consultas y administración del rendimiento

UNIVERSIDAD DE GUADALAJARA

Organización y acceso a los datos (continuación)

Técnico en Tratamiento y Manipulación de Datos. Informática y Programación

Algebra Relacional Curso Bases de Datos

Operador Restricción

TEMA: CONSULTAS (ALGEBRA RELACIONAL Y SQL)

Técnico en Sistemas de Almacenamiento

Algebra Relacional. Bases de Datos 2 - Tecnologo de Informatica. BD2 - Algebra Relacoinal

El Modelo Relacional - Dinámica-

El Modelo Relacional: Dinámica y Álgebra Relacional. El Modelo Relacional Tema 8

Tema 5 Algebra Relacional

Catedra de Base de Datos

Bases de Datos Distribuidas -Antecedentes

Cátedra de Base de Datos

Teoría de Bases de Datos! Juan L. Reutter! Pontificia Universidad Católica de Chile

Optimización de Consultas

Definición y manipulación de datos (UF2176)

Algebra Relacional Algebra Relacional

EXAMEN DE ESTRUCTURAS DE LA INFORMACIÓN (Junio de 2008)

EXAMEN DE ESTRUCTURAS DE LA INFORMACIÓN (Junio 2010)

Registros Un campo: Registro:

BASES DE DATOS curso 2012/2013

Álgebra Relacional (2 de 2)

El Modelo Relacional (5 de 5)

Bases de Datos Distribuidas

Diseño de Bases de Datos Álgebra Relacional

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 3. Estructuras de Almacenamiento. Básicas. Definición y Manejo.

Ejemplos para Álgebra Relacional

INTRODUCCIÓN A LAS BASES DE DATOS RELACIONALES. Rodrigo García Carmona Universidad San Pablo-CEU Escuela Politécnica Superior

Tema 10. Indexación y asociación

1. Algunas deniciones y resultados del álgebra lineal

Fundamentos de Programación Entera. A. Revisión. Carlos Testuri Germán Ferrari

Optimización de consultas Resumen del capítulo 14

INDICE Prefacio Capitulo 1: Introducción Parte Primeras: modelos de datos Capitulo 2: Modelos entidad-relación Capitulo 3: El modelo relacional

Optimización bajo Incertidumbre. 0. Revisión. Depto. Investigación Operativa. Instituto de Computación. Facultad de Ingeniería, UdelaR

Examen de Ficheros y bases de datos ITIS Convocatoria de junio II PARCIAL

AR - Marco General. Álgebra Relacional AR - SELECT. AR - SELECT - Propiedades. 19/Agosto/2016

Conceptos básicos de Geometría

DISEÑO CURRICULAR PROCESAMIENTO DE DATOS I

INDICE. Prólogo de la Segunda Edición

Apartado A (5 puntos):

Índice general Prácticas Propuestas Resumen Test de repaso Comprueba tu aprendizaje...

Sistema Manejador de Bases de Datos Paralelas. Integrantes: Stephanie Piñero Fátima Santos Rosangela Sarno

Usuarios de la base de datos

Bases de datos. Diseño y gestión

Instituto Tecnológico de la Laguna Base de Datos II Academia de Sistemas y Computación. UNIDAD IV SEGURIDAD

álgebra relacional 2

La eficacia, representación fiel de la realidad, se consigue a través de un buen diseño lógico global de la base de datos

Materia requisito: DOMINIOS COGNITIVOS (Objetos de estudio, temas y subtemas)

FUNDAMENTOS DE BASES DE DATOS. Examen Diciembre 2003

OPTIMIZACIÓN DE CÓDIGO

Criptografía de clave pública Sistemas basados en el problema de la mochila

Conjunto de operadores para consultar BD-Rs. Define conjunto de ops estándar en BD-Rs. Operadores que reciben relaciones y devuelven relaciones:

Álgebra relacional. Álgebra Relacional. Franco Guidi Polanco. Semántica de los Operadores del Álgebra Relacional: Unión. Propiedad de cierre

TÍTULO: MATEMÁTICA DISCRETA Y LÓGICA Disponibilidad

Carrera Académica UNIVERSIDAD TECNOLÓGICA NACIONAL FACULTAD REGIONAL TUCUMÁN

SQL. Amparo López Gaona. México, D.F. Noviembre 2003

Examen de Ficheros y bases de datos Convocatoria de septiembre II PARCIAL

Procesamiento y Optimización de Consultas

Colección de Tesis Digitales Universidad de las Américas Puebla. Romero Martínez, Modesto

Capítulo 3. Clasificación en Memoria Secundaria

Optimización de consultas a Bases de Datos relacionales

Organización física de las bases de datos T

BASES DE DATOS (IG18 Semipresencial) El Modelo Relacional Cálculo Relacional y SQL

BASES DE DATOS (IG18 Semipresencial) El Modelo Relacional Algebra Relacional y SQL

IFCD0111 Programación en Lenguajes Estructurados de Aplicaciones de Gestión

Estructura de datos y Algoritmos. Tema III Clasificación en memoria secundaria

Sistemas y Aplicaciones Informáticas. Tema 14. Utilización de Ficheros según su Organización.

UNIDAD4. 1. Procedimentales 2. No Procedimentales

CC BASES DE DATOS OTOÑO 2018

EL MODELO DE DATOS RELACIONAL

BUSQUEDA SECUENCIAL Y DIRECTA, MARCELA MARQUEZ REBECA NAVARRO FONSECA GUADALUPE RUIZ ANGULO JONATHAN ALEXIS TOPETE ESTRUCTURA Y OPERACIONES

Definición. Tema 1: Introducción

ÁLGEBRA II (LSI PI) UNIDAD Nº 2 GEOMETRÍA ANALÍTICA. Facultad de Ciencias Exactas y Tecnologías UNIVERSIDAD NACIONAL DE SANTIAGO DEL ESTERO

EXAMEN DE BASES DE DATOS 10/06/05 CUESTIONARIO

PROGRAMA DETALLADO VIGENCIA TURNO UNIVERSIDAD NACIONAL EXPERIMENTAL POLITÉCNICA DE LA FUERZA ARMADA 2009 DIURNO INGENIERÍA DE SISTEMAS ASIGNATURA

Almacenamiento y Recuperación de la Información

Transcripción:

Procesamiento de consultas (capítulo 13 y 14 del libro) El procesamiento de consulta corresponde a todos los procesos relacionados con la extracción de datos en una base de datos, incluyendo la traducción de consultas expresadas en DML a operaciones para realizar en el nivel físico del sistema, así como transformaciones de optimización de consultas y la evaluación general. Visión general Los pasos básicos para el procesamiento de una consulta son: 1. Análisis y traducción 2. Optimización 3. Evaluación Los pasos pueden verse en la siguiente gráfica: Una consulta debe ser traducida a una forma utilizable. SQL es apropiado para los humanos pero no para procesamiento interno directo. Más apropiada es el álgebra relacional extendida. Estrategias de procesamiento Una consulta básica select saldo Procesamiento de consultas (capítulo 13 y 14 del libro) 1

from cuenta where saldo<2500 puede expresarse con álgebra relacional de estas maneras: s saldo<2500 (Π saldo (cuenta)) Π saldo (s saldo<2500 (cuenta)) La consulta deberá utilizarse para generar un plan de ejecución como el siguiente: No siempre se construye el plan de manera tan lineal. Una consulta SQL podría tener partes muy complejas por lo que el plan bien podría tener forma de árbol. Las consultas deben ser optimizadas. Para ello es necesario hacer un estimado sobre el costo de una consulta. En el ejemplo anterior, se vieron dos expresiones de álgebra de relaciones, donde cada una podría tener un costo diferente. Si se tiene un índice para cuenta que incluye saldo, es preferible usarlo, ya que al final sólo se proyectará dicho atributo. El mayor costo suele ser el acceso a disco, pues se trata de sistemas mecánicos (salvo que sean unidades de estado sólido, aunque también consumen un tiempo considerable). Para medir el costo de acceso, se utiliza el término número de transferencias de bloques. Se asume que cada transferencia de bloque consume el mismo tiempo, aunque suelen ser tiempos variables sujetos a la geometría del disco y posición de los bloques. Es necesario distinguir sobre acceso E/S secuencial donde los bloques son contiguos, y los E/S aleatoria, donde no lo son, por lo que se deberá estar reubicando el cabezal de lectura por cada bloque. También es necesario distinguir entre operaciones de lectura y las de escritura, pues las últimas ocupan más tiempo. Procesamiento de consultas (capítulo 13 y 14 del libro) 2

Se deberá, entonces, estimar: Número de operaciones de búsqueda realizadas Número de bloques leídos Número de bloques escritos Se deberán multiplicar estos valores por los tiempos medios estimados para cada una de esas operaciones. Existen diversos algoritmos básicos que están detallados en la bibliografía del curso: Operación selección Búsqueda binaria Búsqueda lineal Selecciones con índices Selecciones con comparación Selecciones complejas Ordenación Reunión (producto cartesiano) Con bucle anidado Bucle anidado por bloques Reunión en bucle anidado indexada Reunión por mezcla Por asociación Reuniones complejas Otras operaciones Eliminación de duplicados Proyección Operaciones sobre conjuntos Reunión externa Procesamiento de consultas (capítulo 13 y 14 del libro) 3

Evaluación de expresiones Una expresión debe evaluarse, una operación a la vez, en un orden apropiado. Sin embargo, a menos que la expresión sea muy simple, va a ser necesario construir relaciones (tablas) temporales y escribirlas en disco. A esto se le llama materialización, pero queda claro que tienen un costo considerable. El otro enfoque es conocido como cauce, en el cual los resultados de una operación son pasados a la siguiente, sin necesidad de almacenar. Materialización Considere la siguiente expresión: Π nombre-cliente (s saldo<2500 (cuenta) cliente) Su plan de evaluación sería el siguiente: Se deberá empezar por el punto más bajo, generando las relaciones temporales que se van grabando en disco, con los costos que ello conlleva. También podría utilizarse memoria, si está disponible, reduciéndose el tiempo pero utilizando un recurso muy valioso. Si se están efectuando varias consultas de manera concurrente, podría ser prohibitivo. Encausamiento El encausamiento va conectando directamente las salida de una operación con la entrada de otra. Es decir, cada tupla que va resultado de una operación se introduce a la entrada de otra operación. Para un Procesamiento de consultas (capítulo 13 y 14 del libro) 4

ejemplo como el aquí descrito, podría ser fácil de entender. Equivalencia de expresiones y transformaciones Se dice que dos expresiones del álgebra relacional son equivalentes si generan el mismo conjunto de tuplas, dada una base de datos. Una regla de equivalencia dice que las expresiones de dos formas son equivalentes. Una puede sustituir a la otra. 1. Las operaciones de selección conjuntivas pueden dividirse en una secuencia de selecciones individuales, es decir, cascada de s. σ θ1 θ2 (E) = σ θ1 ( σ θ2 (E) ) 2. Las operaciones de selección son conmutativas σ θ1 ( σ θ2 (E) ) = σ θ2 ( σ θ1 (E) ) 3. Solo son necesarias las últimas operaciones de una secuencia de operaciones de proyección. Las demás pueden omitirse. Esta es conocida como cascada de Π. Π L1 ( Π L2 (...(Π Li ( E ))...))=Π L1 (E) 4. Las selecciones pueden combinarse con los productos cartesianos y las reuniones zeta (definición de reuniones zeta o producto natural). σ θ (E 1 E 2 ) = E 1 θ E 2 σ θ1 (E 1 θ2 E 2 ) = E 1 θ1 θ2 E 2 ) 5. Las operaciones de reunión zeta son conmutativas. E 1 θ E 2 = E 2 θ E 1 6. Las operaciones de reunión natural son asociativas (E 1 E 2 ) E 3 = E 1 (E 2 E 3 ) 7. La operación de selección se distribuye por la operación de reunión zeta bajo las dos condiciones siguientes: a. Se distribuye cuando todos los atributos de la selección θ 0 implican unicamente los atributos de una de las expresiones que se están reuniendo. Procesamiento de consultas (capítulo 13 y 14 del libro) 5

σ θ0 (E 1 θ E 2 ) = (σ θ0 (E 1 )) θ E 2 b. Se distribuye cuando la condición de selección θ 1 implica únicamente los atributos de E 1 y θ 2 implica únicamente los atributos de E 2. σ θ1 θ2 (E 1 θ E 2 ) = (σ θ1 (E 1 )) θ (σ θ2 (E 2 )) 8. La operación proyección se distribuye por la operación de reunión zeta bajo las condiciones siguientes. a. Sean L 1 y L 2 atributos de E 1 y de E 2, respectivamente. Supóngase que la condición de reunión θ implica únicamente los atributos de L 1 È L 2. Entonces, Π L1ÈL2 ( E 1 θ E 2 ) = (Π L1 (E 1 ) θ (Π L2 (E 2 ) b. Considérese una reunión E 1 θ E 2. Sean L 1 y L 2 conjuntos de atributos de E 1 y E 2, respectivamente. Sean L 3 los atributos de E 1 que están implicados en la condición de reunión θ, pero que no están en L 1 È L 2, y sean L 4 los atributos de E 2 que están implicados en la condición de reunión θ, pero que no están en L 1 È L 2. Entonces, Π L1ÈL2 ( E 1 θ E 2 ) = Π L1ÈL2 ( (Π L1ÈL3 (E 1 )) θ (Π L2ÈL4 (E 2 )) 9. Las operaciones de conjuntos unión e intersección son conmutativas. E 1 È E 2 = E 2 È E 1 E 1 E 2 = E 2 E 1 La diferencia de conjuntos no es conmutativa. 10. La unión y la intersección de conjuntos son asociativas. (E 1 È E 2 ) È E 3 = E 1 È (E 2 È E 3 ) (E 1 E 2 ) E 3 = E 1 (E 2 E 3 ) 11. La operación de selección se distribuye por las operaciones de unión, intersección y diferencia de conjuntos. σ P (E 1 E 2 ) = σ P (E 1 ) σ P (E 2 ) σ P (E 1 E 2 ) = σ P (E 1 ) E 2 12. La operación de proyección se distribuye por la operación unión. Procesamiento de consultas (capítulo 13 y 14 del libro) 6

Π L ( E 1 È E 2 ) = Π L ( E 1 ) È Π L ( E 2 ) Elección de los planes de evaluación Para escoger un plan de evaluación para una expresión de consulta se podría escoger para cada operación el algoritmo más económico para evaluarla. No siempre las operaciones menos costosas son las óptimas, pues ciertas combinaciones de operaciones requieren algoritmos no tan económicos para que su combinación resulte óptima. Optimización basada en el coste Este tipo de optimizadores generan una gama de planes de evaluación a partir de la consulta empleando reglas de equivalencia y eligen el costo mínimo. Para consultas complejas se puede obtener un número grande de planes. Existen diversas técnicas y algoritmos para elegir ciertas rutas en la generación de dichos planes, a fin de no tener que generar todos los posibles planes. Con la optimización basada en coste, la propia optimización puede tener un costo considerable. Optimización heurística Existen diversas reglas heurísticas (criterios) para la transformación de consultas: Llevar a cabo las operaciones de selección tan pronto sea posible. Llevar a cabo las proyecciones tan pronto sea posible. Procesamiento de consultas (capítulo 13 y 14 del libro) 7