La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Administración de Base de Datos Procesamiento y Optimización de Consultas Prof Mercy Ospina Torres Prof Renny A. Hernandez

Presentaciones similares


Presentación del tema: "Administración de Base de Datos Procesamiento y Optimización de Consultas Prof Mercy Ospina Torres Prof Renny A. Hernandez"— Transcripción de la presentación:

1 Administración de Base de Datos Procesamiento y Optimización de Consultas Prof Mercy Ospina Torres mercy.ospinat@gmail.com Prof Renny A. Hernandez renny.hernandez@ciens.ucv.ve

2 El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Contenido Marzo 2012Administración de Base de Datos2 Cómo se procesa una consulta Traducir una consulta de SQL a AR – Repaso Algebra Relacional Árbol de ejecución – Árbol de ejecución lógico – Árbol de ejecución lineal izquierdo – Árbol canónico – Axiomas del Algebra relacional (Visto) Técnicas para optimizar consultas – Basada en heurísticas – Basada en costos. Concurrencia

3 El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Contenido Marzo 2012Administración de Base de Datos3 Modelo de costos – Factor de selectividad – Costo de los operadores del Algebra Relacional Select Project. Join Order Árbol de ejecución físico – Evaluar el árbol de ejecución físico. Materialización Encausamiento Concurrencia

4 El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración En esta clase Marzo 2012Administración de Base de Datos Transformación del árbol canónico (Axiomas del Algebra Relacional) Técnicas de optimización Factor de Selectividad Costos de los operadores Consultas

5 El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Repaso Clase pasada ¿Por qué se dice que SQL es un lenguaje de alto nivel? ¿Cuáles son los pasos que lleva a cabo el SMBD para procesar una consulta? ¿Qué es un árbol de ejecución? ¿Qué es un árbol canónico? ¿Cuál es la utilidad de los axiomas o reglas del Algebra relacional? Marzo 2012Administración de Base de Datos5 Consultas

6 El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Repaso Cómo procesar una consulta Marzo 2012Administración de Base de Datos6 Consultas Consulta de alto nivel Analizador y traductor Expresión en Algebra Relacional Resultado de la consulta Diccionario de datos Optimi- zador Motor de evaluación Plan de ejecución Estadísticas de los datos Select * From R1 Where Cond Silberschatz, Korth, & Sudarshan, 2006 ρ Cond (R1) Búsqueda binaria Base de datos A1A2A3 xxyyzz xyyyxz

7 El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Árbol lineal izquierdo Marzo 2012Administración de Base de Datos Es un árbol de ejecución donde en cada nodo binario el hijo derecho es una tabla Arbol canónico: Es un árbol lineal izquierdo donde cada nodo binario corresponde a un producto cartesiano X, la selección es sobre toda la condición y la proyección Π sobre todos los atributos Nota: es el mas rápido de construir pero el más costoso Consultas SELECT FROM T1, T2, … Tn WHERE

8 El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Expresiones equivalentes Marzo 2012Administración de Base de Datos Una expresión en un algebra es equivalente a otra, si el resultado es el mismo. Consultas

9 El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Expresiones equivalente Marzo 2012Administración de Base de Datos Una expresión del AR es equivalente a otra, si el resultado es el mismo. Sin embargo una expresión equivalente puede ser mas eficiente que otra en tiempo de respuesta. Para hallar expresiones equivalentes se usan reglas o axiomas, los cuales vienen del algebra de conjuntos Consultas

10 El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Axiomas del Algebra Relacional Marzo 2012Administración de Base de Datos 1.Cascada de selecciones 2.Conmutatividad de la selección 3.Cascada de proyecciones 4.Distributividad de la proyección y la selección 5.Conmutatividad del Join y el Producto Cartesiano 6.Distributividad de la selección con respecto al Join y al producto cartesiano 7.Distributividad de la proyección con respecto al Join y al producto cartesiano Consultas

11 El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Axiomas del Algebra Relacional Marzo 2012Administración de Base de Datos 8. Conmutatividad de la unión y la intersección 9. Asociatividad de la union, la intersección, y el producto cartesiano 10. Distributividad de la selección con respecto a la Unión y la Intersección 11. Distributividad de la proyección con respecto a la Unión y la Intersección 12. Conversión del Producto Cartesiano en Join Consultas

12 El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Axiomas del Algebra Relacional Marzo 2012Administración de Base de Datos 1.Cascada de selecciones Donde c1, c2, … cn son condiciones booleanas Consultas CICodB 1231 2341 1232 CICodB 1231 2341 CICodB 1231 CICodB 1231

13 El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Axiomas del Algebra Relacional Marzo 2012Administración de Base de Datos 1.Cascada de selecciones Donde c1, c2, … cn son condiciones booleanas Consultas σ c1 and c2 and c3 σ c3 σ c2 σ c1

14 El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Axiomas del Algebra Relacional Marzo 2012Administración de Base de Datos Consultas CICodB 1231 2341 1232 CICodB 1231 2341 CICodB 1231 CICodB 1231 2 CICodB 1231

15 El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Axiomas del Algebra Relacional Marzo 2012Administración de Base de Datos 2. Conmutatividad de la selección Consultas σ c2 σ c1 σ c2

16 El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Axiomas del Algebra Relacional Marzo 2012Administración de Base de Datos Consultas CICodBDesc 1231Malta 2341Malta 25427 up CICodB 1231 2341 2542 CI 123 234 254 3. Cascada de proyecciones

17 El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Axiomas del Algebra Relacional Marzo 2012Administración de Base de Datos 3. Cascada de proyecciones Consultas ∏ A1 ∏ A1..An - 1 ∏ A1..A n ∏ A1

18 El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Axiomas del Algebra Relacional Marzo 2012Administración de Base de Datos Consultas CICodB 1231 2341 1232 CICodB 1231 2341 CodB 1 1 4. Distributividad de la proyección y la selección

19 El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Axiomas del Algebra Relacional Marzo 2012Administración de Base de Datos Consultas CICodB 1231 2341 1232 CICodB 1231 2341 CodB 1 1 1 1 1 1 2 4. Distributividad de la proyección y la selección

20 El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Axiomas del Algebra Relacional Marzo 2012Administración de Base de Datos 5. Conmutatividad del Join y del Producto cartesiano Consultas R1R2 R1

21 El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Axiomas del Algebra Relacional Marzo 2012Administración de Base de Datos 6. Distributividad de la selección con respecto al Join y al Producto cartesiano Este axioma permite empujar las selecciones hacia abajo en el arbol. Consultas

22 El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Axiomas del Algebra Relacional Marzo 2012Administración de Base de Datos 6. Distributividad de la selección con respecto al Join y al Producto cartesiano Consultas CICodB 1231 2341 2 CodBDesc 1Malta 27 up CICodBDesc 1231Malta 2341Malta 23427 up CICodBDesc 2341Malta = =

23 El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración 6. Distributividad de la selección con respecto al Join y al Producto cartesiano Axiomas del Algebra Relacional Marzo 2012Administración de Base de Datos Consultas CICodB 1231 2341 2 CodBDesc 1Malta 27 up = CICodB 2341 2 CodBDesc 1Malta CICodBDesc 2341Malta

24 El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Axiomas del Algebra Relacional Marzo 2012Administración de Base de Datos Consultas R2R1 σ c1 and c2 R1R2 σ c2 σ c1 R1R2 σ c2 σ c1

25 El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Axiomas del Algebra Relacional Marzo 2012Administración de Base de Datos 7. Distributividad de la proyección con respecto al Join y al Producto cartesiano Este axioma permite empujar las proyecciones hacia abajo en el arbol. Consultas

26 El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Axiomas del Algebra Relacional Marzo 2012Administración de Base de Datos 7. Distributividad de la proyección con respecto al Join y al Producto cartesiano Consultas CICodBFecha 123110/08/2013 234112/06/2013 234225/10/2013 CodBDescVol 1Malta500 27 up1500 CICo dB FechaDescVol 123110/08 /2013 Malta500 234112/06 /2013 Malta500 234225/10 /2013 7 up1500

27 El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Axiomas del Algebra Relacional Marzo 2012Administración de Base de Datos 7. Distributividad de la proyección con respecto al Join y al Producto cartesiano Consultas CICo dB FechaDescVol 123110/08/ 2013 Malta500 234112/06/ 2013 Malta500 234225/10/ 2013 7 up1500 CICodBDesc 1231Malta 2341Malta 23427 up

28 El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Axiomas del Algebra Relacional Marzo 2012Administración de Base de Datos 7. Distributividad de la proyección con respecto al Join y al Producto cartesiano Consultas CICodBFecha 123110/08/2013 234112/06/2013 234225/10/2013 CodBDescVol 1Malta500 27 up1500 CodBDesc 1Malta 27 up CICodB 1231 2341 2

29 El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Axiomas del Algebra Relacional Marzo 2012Administración de Base de Datos 7. Distributividad de la proyección con respecto al Join y al Producto cartesiano Consultas CodBDesc 1Malta 27 up CICodB 1231 2341 2 CICodBDesc 1231Malta 2341Malta 23427 up

30 El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Axiomas del Algebra Relacional Marzo 2012Administración de Base de Datos Consultas R2R1 ∏ A1..An R1R2 ∏B∏B ∏A∏A

31 El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Axiomas del Algebra Relacional Marzo 2012Administración de Base de Datos 8. Conmutatividad de la unión y la intersección 9. Asociatividad de la union, la intersección, y el producto cartesiano 10. Distributividad de la selección con respecto a la Unión y la Intersección 11. Distributividad de la proyección con respecto a la Unión y la Intersección Consultas

32 El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Axiomas del Algebra Relacional Marzo 2012Administración de Base de Datos 12. Conversión del Producto Cartesiano en Join Si cond es una igualdad de atributos de R1 y R2 Consultas X R2R1 σ A1=A2 R2R1

33 El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Técnicas de optimización Marzo 2012Administración de Base de Datos Consultas Se refiere a las mejores prácticas Viene de la experiencia de los expertos Heurísticas Transforma el árbol de ejecución usando diferentes técnicas (n transformaciones) Estima los costos de cada transformación y se queda con la que tiene costo mínimo Costo

34 El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Técnicas de control de concurrencia Marzo 2012Administración de Base de Datos34 Heurísticas – Se construye el árbol canónico – Se transforma usando los axiomas del AR en el siguiente orden 1.Aplicar el axioma o regla 1 2.Aplicar axiomas 2, 4, 6 y 10, para desplazar cada operación SELECT hacia abajo en el árbol de ejecución. 3.Aplicar axiomas 5 y 9, para reordenar los nodos hoja utilizando el siguiente criterio: a)Posicionar las relaciones con los SELECT más restrictivos de forma que sean ejecutadas en primer lugar.

35 El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Técnicas de control de concurrencia Marzo 2012Administración de Base de Datos35 Heurísticas (continuación) 3.Aplicar axiomas 5 y 9, para reordenar los nodos hoja utilizando el siguiente criterio: b)Verificar que las ordenaciones no produzcan productos cartesianos que no puedan convertirse en JOIN 4.Aplicar axioma 12, para combinar los SELECT con los PRODUCTOS CARTESIANOS, para formar una operación de JOIN 5.Aplicar axiomas 3, 4, 7, 11 para bajar en el árbol las operaciones PROJECT lo más que se pueda.

36 El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Técnicas de control de concurrencia Marzo 2012Administración de Base de Datos36 Heurísticas (Resumen) 1.Aplicar Axioma 1 2.Aplicar axiomas 2, 4, 6 y 10 3.Aplicar axiomas 5 y 9, 4.Aplicar axioma 12, 5.Aplicar axiomas 3, 4, 7, 11.

37 El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Optimización por Heurística Marzo 2012Administración de Base de Datos Ejemplo Realice la optimización heurística de la sig. consulta SELECT CI, Nombre, CodMateria FROM Estudiante E, inscripcion I WHERE I.CodM = ‘6311’ and E.ciudad=‘Caracas’ and E.CI = I.CI Consultas

38 El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Ejercicio 1 Marzo 2012Administración de Base de Datos38 SELECT CI, Nombre, CodMateria FROM Estudiante E, inscripcion I WHERE I.CodM = ‘6311’ and E.ciudad=‘caracas’ and E.CI = I.CI Paso 1: Construir el Arbol canónico Consultas EI X

39 El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Paso 2: Transformar el Árbol canónico Axioma 1: : Cascada de selecciones Ejercicio 1 Marzo 2012Administración de Base de Datos39 Consultas EI X EI X

40 El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Paso 2: Transformar el Árbol canónico Axiomas 2, 4, 6, 10 Ejercicio 1 Marzo 2012Administración de Base de Datos40 Consultas EI X E I X

41 El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Paso 2: Transformar el Árbol canónico Axiomas 5 y 9 (Conmutatividad del PC, Join) Ejercicio 1 Marzo 2012Administración de Base de Datos41 Consultas EI X Ver cual de los resultados intermedios es mas pequeño y colocarlo a la izquierda

42 El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Paso 2: Transformar el Árbol canónico Axioma 12 (PC => Join) Ejercicio 1 Marzo 2012Administración de Base de Datos42 Consultas EI X EI

43 El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Paso 2: Transformar el Árbol canónico Axioma 3, 4, 7, 11 (proyecciones) Ejercicio 1 Marzo 2012Administración de Base de Datos43 Consultas EI Se evalúa si las tablas base tienen muchos atributos que no aportan a la consulta Se debe tomar en cuenta que los resultados intermedios no tienen índices

44 El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Paso 2: Transformar el Árbol canónico Axioma 3, 4, 7, 11 (proyecciones) Ejercicio 1 Marzo 2012Administración de Base de Datos44 Consultas EI EI

45 El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Optimización con heurística Marzo 2012Administración de Base de Datos45 Ejercicio – Seleccionar los estudiantes que pasaron Administración de base de datos en el semestre 2-2009 Select Nombre From Estudiante E, Cursar C, Materia M Where E.CI = C.CI and Nota >=10, and M.Cod_Mat =C.Cod_Mat and M.Nombre = ‘Administración de base de datos’ and semester_cursa = ’2-2009’

46 El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Árbol de ejecución físico Marzo 2012Administración de Base de Datos46 Una vez que se ha construido el árbol de ejecución lógico se debe construir el físico Consiste en determinar los operadores físicos asociados a cada nodo – Ejemplo: Selección con índice o búsqueda lineal Para seleccionar los operadores necesitamos conocer el tamaño de los resultados intermedios

47 El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Factor de selectividad Marzo 2012Administración de Base de Datos47 Es una técnica de estimación del tamaño de los resultados intermedios o vistas (cantidad de registros), por medio de una función de probabilidad Se asume independencia y uniformidad en los valores de los atributos Se aplica para las selecciones y los join

48 El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Factor de selectividad Marzo 2012Administración de Base de Datos48 Uniformidad – Es igualmente probable que una tupla Ti tenga un valor C en el atributo Aj. – Los valores de Aj están distribuidos uniformemente entre las tuplas. Se lee la probabilidad de que las tuplas de Ti cumpla la condición Ai= c

49 El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Factor de selectividad Marzo 2012Administración de Base de Datos49 Independencia – Al ejecutarse la siguiente consulta se asume que la satisfacibilidad de que la condición cond1 es independiente a la satisfacibilidad de la condición cond2.

50 El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Factor de selectividad Marzo 2012Administración de Base de Datos50 Casos Base Ejemplo – ¿Cuál es el factor de selectividad la condición sexo = ‘F’ en la tabla empleado?

51 El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Factor de selectividad Marzo 2012Administración de Base de Datos51 Casos Base Ejemplo – ¿Cuál es el factor de selectividad la condición Cantidad > 100 en la tabla Venta? Si Min 5 y Max 250 Los que cumplen la condición Valores totales

52 El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Factor de selectividad Marzo 2012Administración de Base de Datos52 Casos Base Ejemplo – ¿Cuál es el factor de selectividad la condición Cantidad > 100 y Región = Norte en la tabla Venta V? Si Min 5 y Max 250 y solo hay 4 regiones

53 El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Marzo 2012Administración de Base de Datos53 Casos base – Factor de selectividad del Join CICodB 1231 2341 2 CodBDescVol 1Malta500 27 up1500 Valores distintos (CodB) = 2

54 El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Ejemplo del uso del fs Marzo 2012Administración de Base de Datos54 Ejemplo – ¿Cuál es el factor de selectividad la condición sexo = ‘F’ en la tabla empleado? – Si la tabla empleados contiene 300.000 registros ¿cuántos registros tiene la siguiente vista?

55 El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Paso 2: Transformar el Árbol canónico Axioma 3, 4, 7, 11 (proyecciones) Ejercicio 1 Marzo 2012Administración de Base de Datos55 Consultas EI Calcular cual resultado intermedio es menor si hay 5000 estudiantes y 30 ciudades distintas y 25.000 inscripciones y son 100 materias distintas

56 El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Ejemplo del uso del fs Marzo 2012Administración de Base de Datos56 Resultado

57 El DBA Concurrencia Diccionario Datos Integridad Seguridad Proc. Consultas El SMBD Manejo de Memoria Restauración Costo de un Árbol de ejecución Marzo 2012Administración de Base de Datos57 Próxima clase – Costo de los Operadores físicos Select Join Order by Project Select – Evaluar el árbol de ejecución físico. Materialización Encausamiento – Repasar costo de ordenamiento


Descargar ppt "Administración de Base de Datos Procesamiento y Optimización de Consultas Prof Mercy Ospina Torres Prof Renny A. Hernandez"

Presentaciones similares


Anuncios Google