Optimización de Preguntas. Optimización de preguntas zOptimización: pregunta  plan costo ópt. costo = CPU + I/O + COMUNICACIONES zNecesario para responder.

Slides:



Advertisements
Presentaciones similares
IBD Clase 16.
Advertisements

Diseño y análisis de algoritmos
SISTEMAS DE GESTIÓN DE BASES DE DATOS
Prof. Ing.Maria Rosa Damaso Rios
Base de Datos Distribuidas PROCESAMIENTO DE CONSULTAS DISTRIBUIDAS
Sistemas de Gestión de Bases de Datos (SGBD’s)
Introducción a LAS Bases de Datos
Optimización del rendimiento de las consultas
Noveno Semestre UNIDEC
Base de Datos Distribuidas Bases de Datos II Universidad Argentina J. F. Kennedy - Año 2008 Maletin Yahoo => briefcase.yahoo.com Usuario => bd2_jfk Pssw.
Optimización de Consultas Distribuidas
INSTITUTO TECNOLOGICO DE MINATITLAN
Razonamiento Explícito y Experimentación en la Algoritmia
Teórico: Algebra Relacional
Diseño del Esquema de BD
ALGEBRA RELACIONAL.
EXPLAIN PLAN Cómo leer los resultados del EXPLAIN PLAN
BASES DE DATOS DISTRIBUIDAS
Unidad 3 Tema “Transformacion Equivalentes”
Tema 8 : Sistemas relacionales Resumen Sobre el modelo relacional
Evaluación y Optimización de Consultas Láminas seleccionadas de las láminas de la Prof. María Esther Vidal.
8. Procesamiento y optimización de consultas
PROGRAMACIÓN LÓGICA.
INTELIGENCIA DE NEGOCIOS
Procesamiento de Consultas Distribuidas (1era Parte)
1 BD Activas: Motivación zLos SGBD convencionales son “pasivos”. Sólo ejecutan preguntas o transacciones realizadas por los usuarios o por los programas.
Temas importantes para el desarrollo de la segunda parte del TPE
Diseño Físico. yEl diseño físico de BD forma parte importante del ciclo de vida de un sistema de BDs. yConsiste en escoger las estructuras de almacenamiento.
Lenguajes Formales de Consulta
SQL Structured Query Language
1 John Freddy Duitama U.de.A. Facultad de Ingeniería Optimización Algebraica. Profesor: John Freddy Duitama Muñoz. Facultad de Ingeniería. U.de.A. Profesor:
SQL: Lenguaje de Interrogación Estructurado
Ing. Fabián Ruano.  Definición  Diferencias con BD Centralizadas.
Fundamentos de programación
Algebra Relacional.
Álgebra Relacional. zUnión, intersección y diferencia: los operadores usuales de conjuntos zSelección: Escoger ciertas filas zProyección: Escoger ciertas.

Sistemas de Información IS95872
Bases de Datos Oracle Optimización
Administración de Bases de Datos
Elementos de la planeación
Parte II. Algorítmica. 5. Backtracking. 1. Análisis de algoritmos.
Bases de Datos Distribuidas
Análisis y Diseño de Algoritmos
Una introducción a la computación evolutiva
CICLO DE VIDA Y NORMAALIZACION DE UN SISTEMA DE BASE DE DATOS
Seminario de Informática Elementos Conceptuales
Expresiones algebraicas equivalentes
Lenguajes de Programación
PROCEDIMIENTOS ALMACENADOS Es una consulta almacenada en la base de datos en un servidor. Los P.A. Mejoran el Rendimiento Disminuyen el tráfico. Los P.A.
Ingeniería de Sistemas y Modelamiento.
Para pasar a tablas todos los datos sin dejar nada y que las tablas tengan sentido por si solas se tiene que seguir unos pasos: 1.Toda entidad se transforma.
Sample-Based Quality Estimation of Query Results in Relational Database Environments Donald P. Ballou InduShobha N. Chengalur-Smith Richard Y. Wang.
Introducción a la Optimización de Consultas. Francisco Moreno.
Tipos de Datos.
Laboratorio de optimización de BD
Prof. Christian Montoya1 Microsoft Access 2010 Conceptos Básicos.
Unidad TemáticaI. Conceptos Básicos Horas Prácticas10 Horas Teóricas8 Horas Totales18 Objetivo El alumno determinará las entradas, procesos y salidas.
Las doce reglas de las bases de datos distribuidas
Estimación de Puntos de Función
HINTS ¿Cómo afectar el plan de ejecución? Por defecto, el SGBD tomará en cuenta el camino de ejecución (Execution Path) determinado por el optimizador.
María Trinidad Serna Encinas
Ing. Sergio Valladares Castillo Base de Datos I Algebra Relacional.
Administración de Base de Datos Procesamiento y Optimización de Consultas Prof Mercy Ospina Torres Prof Renny A. Hernandez
Diccionario/Directorio de Datos
Administración de Base de Datos Procesamiento y Optimización de Consultas Prof Mercy Ospina Torres Prof Renny A. Hernandez
DLM Transact SQL Sesión I Introducción al SQL Server Uso de las herramientas de consultas del Transact SQL.
Bases de datos II Universidad del Cauca Ing. Wilson Ortega.
Administración de Base de Datos Procesamiento y Optimización de Consultas Prof Mercy Ospina Torres Prof Renny A. Hernandez
Optimización de Consultas Distribuidas. ÍNDICE Definiciones básicas Modelo de costo Estadísticas de la base de datos Optimización centralizada de consultas.
Transcripción de la presentación:

Optimización de Preguntas

Optimización de preguntas zOptimización: pregunta  plan costo ópt. costo = CPU + I/O + COMUNICACIONES zNecesario para responder eficientemente zPosible con lenguajes no procedurales (ej. SQL) yleng. no procedural: se dice qué se quiere obtener y no cómo obtenerlo (algoritmo, uso de índices...) ysistemas con lenguajes procedurales: ej. IMS (jerárquico) o CODASYL (en red)

Ejemplo motivador zLa optimización es posible y necesaria zLas distintas estrategias requieren costes muy distinto zDebe ser un proceso automático ydepende del momento concreto en la vida de la BD yes complicado saber qué estrategia es mejor yNunca se esta seguro (estimaciones)

Etapas en la optimización zConvertir la pregunta en una representación interna (álgebra relacional, árbol sintáctico) zTransformar la pregunta en una forma canónica (reglas sintácticas y semánticas) zEscoger los procedimientos de bajo nivel candidatos (para cada operador) y¿índices? ¿clustering? ¿rango y núm. valores? zGenerar los planes y escoger el más barato yusar heurísticos para reducir búsqueda

Optimización sintáctica zEntrada: expresión álgebra relacional zSalida: expr. álgebra relacional equivalente yoperaciones de idempotencia, propagar ctes. yoperación selección se baja en el árbol yoperación proyección se baja en el árbol yagrupar selecciones y proyecciones yIdea: reducir tamaño de las relaciones a combinar con la operación join

Optimización semántica zTransformar la pregunta en otra que devuelve las misma tuplas zUtilizar conocimiento semántico de la BD yrestr. integridad, dependencias funcionales, claves extranjeras, reglas semánticas z En general, la opt. sem. es un proceso caro, por lo que los SGBD comerciales no la aplican. Se suele basar en técnicas de Int. Artificial.

Optimización física: Selección zAlgoritmos yBúsqueda lineal yBúsqueda binaria yEmpleo de índices (de distintos tipos) zSelectividad de una condición y% de la relación que satisface la condición yEjecutar primero las selecciones de mayor selectividad

Optimización física: Join zAlgoritmos yCiclo anidado (Nested Loops) o fuerza bruta ySort-Join (Sort Merge) yJoin con índice en una de las relaciones yJoin con índice para cada relación yHash-Join

Optimización física: otras op. zProyecciones: fácil de implementar (hay que recorrer todas las tuplas) zProducto cartesiano: muy costosa yEvitarla zUnión, Intersección, Diferencia yPrimero se ordenan las dos relaciones

Generar los planes y escoger el más barato zPlanes para responder a la pregunta, y su costo zCada plan se construye combinando el conjunto de procedimientos candidatos posibles. yCalcular el costo es complicado  hay que estimar tamaños de resultados intermedios (estadísticas de la BD, en el catálogo). xCalcular el orden óptimo de ejecución de joins N! posibilidades de ejecutar un join entre N relaciones xEvitar resultados intermedios (subir selecciones) zUsar heurísticos para reducir la búsqueda

Optimización del costo: CPU + I/O + COM zBD centralizadas ygeneralmente se tiene en cuenta sólo costo I/O zBD distribuidas en Redes Area Amplia (WAN) ygeneralmente, sólo costo COM. zBD distribuidas en Redes de Area Local (LAN) ygeneralmente, costos I/O y COM. zBD en servidores paralelos yinfluyen los tres: CPU, I/O y COM.

Optimización en Oracle zOptimización basada en reglas o basada en costes (seleccionado por el usuario) zEXPLAIN PLAN: ver como se ejecutará una sentencia SQL zNo hay optimización semántica yhasta Oracle 8, incluido zSe puede influir en el uso o no de índices (no recomendado)

Conclusiones yLos SGBD realizan optimización de preguntas son inútiles algunas reformulaciones de preguntas yAlgunas optimizaciones (todavía) no son realizadas por los SGBD (ej. optimización semántica) hay que reformular algunas preguntas yEl proceso de optimización de preguntas es complejo y cada SGBD lo hace distinto. hay que consultar el manual del SGBD concreto. yEs necesario conocer cómo se procesan las preguntas para realizar el DISEÑO FÍSICO. cuándo es útil usar índices o hash o no utilizarlos. saber que el join es costoso --> reducir número de joins.