Administración de Base de Datos
Procesamiento y Optimización
de Consultas
Prof Mercy Ospina Torres
mercy.ospinat@gmail.com...
Contenido
El DBA
El SMBD
Manejo de Memoria

Restauración

Concurrencia
Concurrencia
Diccionario Datos
Proc. Consultas
Inte...
Contenido
El DBA
El SMBD
Manejo de Memoria

Restauración

Concurrencia
Concurrencia
Diccionario Datos
Proc. Consultas
Inte...
En esta clase
El DBA
El SMBD
Manejo de Memoria

Restauración

•

Transformación del árbol canónico (Axiomas del
Algebra Re...
Repaso
Clase pasada
El DBA
El SMBD
Manejo de Memoria

Restauración
Concurrencia
Diccionario Datos
Proc. Consultas
Consulta...
Repaso
Cómo procesar una consulta
El DBA

Consulta
Consulta
de alto
de alto
nivel
nivel

El SMBD

Analizador
Analizador
yy...
Árbol lineal izquierdo
El DBA
El SMBD
Manejo de Memoria

Restauración
Concurrencia
Diccionario Datos
Proc. Consultas
Consu...
Expresiones equivalentes
El DBA
El SMBD

• Una expresión en un algebra es
equivalente a otra, si el resultado es el
mismo....
Expresiones equivalente
El DBA
El SMBD
Manejo de Memoria

Restauración
Concurrencia
Diccionario Datos
Proc. Consultas
Cons...
Axiomas del Algebra
Relacional
El DBA
El SMBD
Manejo de Memoria

Restauración
Concurrencia
Diccionario Datos
Proc. Consult...
Axiomas del Algebra
Relacional
El DBA
El SMBD
Manejo de Memoria

Restauración
Concurrencia
Diccionario Datos
Proc. Consult...
Axiomas del Algebra
Relacional
El DBA

1. Cascada de selecciones

σ c1 and c 2 and...and cn ( R ) ≡ σ c1 (σ c 2 (...σ cn (...
Axiomas del Algebra
Relacional
El DBA
El SMBD

1. Cascada de selecciones

σ c1 and c 2 and...and cn ( R ) ≡ σ c1 (σ c 2 (....
Axiomas del Algebra
Relacional

σ c1 (σ c 2 ( R )) ≡ σ c 2 (σ c1 ( R))

El DBA
El SMBD

σ codB =1

Manejo de Memoria

Rest...
Axiomas del Algebra
Relacional
El DBA
El SMBD
Manejo de Memoria

2. Conmutatividad de la selección

σ c1 (σ c 2 ( R )) ≡ σ...
Axiomas del Algebra
Relacional
El DBA

3. Cascada de proyecciones

El SMBD
Manejo de Memoria

∏ CI ,CodB

Restauración
Con...
Axiomas del Algebra
Relacional
El DBA

3. Cascada de proyecciones

El SMBD
Manejo de Memoria

Restauración
Concurrencia
Di...
Axiomas del Algebra
Relacional
El DBA

4. Distributividad de la proyección y la selección

El SMBD
Manejo de Memoria

σ co...
Axiomas del Algebra
Relacional
El DBA

4. Distributividad de la proyección y la selección

El SMBD
Manejo de Memoria

σ co...
Axiomas del Algebra
Relacional
El DBA

5. Conmutatividad del Join y del Producto cartesiano

El SMBD
Manejo de Memoria

Re...
Axiomas del Algebra
Relacional
El DBA

6. Distributividad de la selección con respecto al Join
y al Producto cartesiano

E...
Axiomas del Algebra
Relacional
6. Distributividad de la selección con respecto al Join
y al Producto cartesiano

El DBA
El...
Axiomas del Algebra
Relacional
El DBA

6. Distributividad de la selección con respecto al Join
y al Producto cartesiano

E...
Axiomas del Algebra
Relacional
El DBA
El SMBD
Manejo de Memoria

Restauración

σ

Concurrencia

σ

c2

c1 and

σ

c2

c1

...
Axiomas del Algebra
Relacional
El DBA

7. Distributividad de la proyección con respecto al
Join y al Producto cartesiano

...
Axiomas del Algebra
Relacional
7. Distributividad de la proyección con respecto al
Join y al Producto cartesiano

El DBA
E...
Axiomas del Algebra
Relacional
El DBA

7. Distributividad de la proyección con respecto al
Join y al Producto cartesiano

...
Axiomas del Algebra
Relacional
7. Distributividad de la proyección con respecto al
Join y al Producto cartesiano

El DBA
E...
Axiomas del Algebra
Relacional
El DBA

7. Distributividad de la proyección con respecto al
Join y al Producto cartesiano

...
Axiomas del Algebra
Relacional
El DBA
El SMBD
Manejo de Memoria

Restauración
Concurrencia

∏A1..An

Diccionario Datos
Pro...
Axiomas del Algebra
Relacional
El DBA
El SMBD

8. Conmutatividad de la unión y la intersección
9. Asociatividad de la unio...
Axiomas del Algebra
Relacional
El DBA

12. Conversión del Producto Cartesiano en Join

El SMBD
Manejo de Memoria

Restaura...
Técnicas de optimización
El DBA
El SMBD
Manejo de Memoria

Restauración
Concurrencia
Diccionario Datos
Proc. Consultas
Con...
Técnicas de control de
concurrencia
El DBA
El SMBD
Manejo de Memoria

Restauración
Concurrencia
Diccionario Datos
Proc. Co...
Técnicas de control de
concurrencia
El DBA
El SMBD
Manejo de Memoria

Restauración
Concurrencia
Diccionario Datos
Proc. Co...
Técnicas de control de
concurrencia
El DBA
El SMBD
Manejo de Memoria

Restauración
Concurrencia

• Heurísticas (Resumen)
1...
Optimización por Heurística
El DBA
El SMBD
Manejo de Memoria

Restauración

Ejemplo
Realice la optimización heurística de ...
Ejercicio 1
El DBA
El SMBD
Manejo de Memoria

Restauración
Concurrencia
Diccionario Datos

SELECT CI, Nombre, CodMateria
F...
Ejercicio 1
El DBA

Paso 2: Transformar el Árbol canónico
Axioma 1:: Cascada de selecciones

El SMBD
Manejo de Memoria

Re...
Ejercicio 1
El DBA
El SMBD
Manejo de Memoria

Restauración
Concurrencia
Diccionario Datos

Paso 2: Transformar el Árbol ca...
Ejercicio 1
El DBA
El SMBD
Manejo de Memoria

Paso 2: Transformar el Árbol canónico
Axiomas 5 y 9 (Conmutatividad del PC, ...
Ejercicio 1
El DBA
El SMBD
Manejo de Memoria

Paso 2: Transformar el Árbol canónico
Axioma 12 (PC => Join)

∏ CI , Nombre ...
Ejercicio 1
Paso 2: Transformar el Árbol canónico

El DBA

Axioma 3, 4, 7, 11 (proyecciones)

El SMBD
Manejo de Memoria

∏...
Ejercicio 1
El DBA
El SMBD
Manejo de Memoria

Paso 2: Transformar el Árbol canónico
Axioma 3, 4, 7, 11 (proyecciones)

∏ C...
Optimización con heurística
El DBA
El SMBD
Manejo de Memoria

Restauración
Concurrencia
Diccionario Datos
Proc. Consultas
...
Árbol de ejecución físico
El DBA
El SMBD
Manejo de Memoria

Restauración
Concurrencia
Diccionario Datos
Proc. Consultas

•...
Factor de selectividad
El DBA
El SMBD
Manejo de Memoria

Restauración
Concurrencia
Diccionario Datos
Proc. Consultas

• Es...
Factor de selectividad
El DBA
El SMBD

• Uniformidad
– Es igualmente probable que una tupla Ti tenga
un valor C en el atri...
Factor de selectividad
El DBA
El SMBD
Manejo de Memoria

Restauración

• Independencia
– Al ejecutarse la siguiente consul...
Factor de selectividad
El DBA

• Casos Base

El SMBD
Manejo de Memoria

Restauración
Concurrencia
Diccionario Datos
Proc. ...
Factor de selectividad
El DBA

• Casos Base

Los que cumplen
la condición

El SMBD

Valores
totales

Manejo de Memoria

Re...
Factor de selectividad
El DBA

• Casos Base

El SMBD
Manejo de Memoria

Restauración
Concurrencia
Diccionario Datos
Proc. ...
El DBA

• Casos base
– Factor de selectividad del Join

El SMBD
Manejo de Memoria

Restauración

CI

CodB

Concurrencia

1...
Ejemplo del uso del fs
El DBA
El SMBD
Manejo de Memoria

Restauración
Concurrencia
Diccionario Datos
Proc. Consultas
Integ...
Ejercicio 1
Paso 2: Transformar el Árbol canónico

El DBA

Axioma 3, 4, 7, 11 (proyecciones)

El SMBD
Manejo de Memoria

∏...
Ejemplo del uso del fs
El DBA
El SMBD
Manejo de Memoria

Restauración
Concurrencia
Diccionario Datos
Proc. Consultas
Integ...
Costo de un Árbol de
ejecución
El DBA
El SMBD
Manejo de Memoria

Restauración
Concurrencia

• Próxima clase
– Costo de los...
Upcoming SlideShare
Loading in …5
×

Abd procesamiento consultas (parte2)

622 views

Published on

Clase de procesamiento de consultas (parte 2) Administración de Base de Datos

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
622
On SlideShare
0
From Embeds
0
Number of Embeds
169
Actions
Shares
0
Downloads
31
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Abd procesamiento consultas (parte2)

  1. 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. 2. Contenido El DBA El SMBD Manejo de Memoria Restauración Concurrencia Concurrencia Diccionario Datos Proc. Consultas Integridad Seguridad Marzo 2012 • 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. Administración de Base de Datos 2
  3. 3. Contenido El DBA El SMBD Manejo de Memoria Restauración Concurrencia Concurrencia Diccionario Datos Proc. Consultas Integridad • 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 Seguridad Marzo 2012 Administración de Base de Datos 3
  4. 4. En esta clase El DBA El SMBD Manejo de Memoria Restauración • Transformación del árbol canónico (Axiomas del Algebra Relacional) • Técnicas de optimización • Factor de Selectividad • Costos de los operadores Concurrencia Diccionario Datos Proc. Consultas Consultas Integridad Seguridad Marzo 2012 Administración de Base de Datos
  5. 5. Repaso Clase pasada El DBA El SMBD Manejo de Memoria Restauración Concurrencia Diccionario Datos Proc. Consultas Consultas • ¿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? Integridad Seguridad Marzo 2012 Administración de Base de Datos 5
  6. 6. Repaso Cómo procesar una consulta El DBA Consulta Consulta de alto de alto nivel nivel El SMBD Analizador Analizador yy traductor traductor Expresión Expresión en Algebra en Algebra Relacional Relacional ρCond (R1) ρCond (R1) Manejo de Memoria Restauración Concurrencia Select * Select * From R1 From R1 Where Cond Where Cond Diccionario de datos OptimiOptimizador zador Estadísticas de los datos Diccionario Datos Resultado Resultado de la de la consulta consulta Proc. Consultas Consultas Integridad Marzo 2012 A1 A2 xx yy zz yy xz Plan de Plan de ejecución ejecución Búsqueda Búsqueda binaria binaria A3 xy Seguridad Motor de Motor de evaluación evaluación Base de datos Silberschatz, Korth, & Sudarshan, 2006 Administración de Base de Datos 6
  7. 7. Árbol lineal izquierdo El DBA El SMBD Manejo de Memoria Restauración Concurrencia Diccionario Datos Proc. Consultas Consultas Integridad Seguridad Marzo 2012 • • 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 σ SELECT <Lista Atributos> FROM T1, T2, … Tn WHERE <Condición> Nota: es el mas rápido de construir pero el más costoso Administración de Base de Datos
  8. 8. Expresiones equivalentes El DBA El SMBD • Una expresión en un algebra es equivalente a otra, si el resultado es el mismo. Manejo de Memoria Restauración Concurrencia Diccionario Datos Proc. Consultas Consultas Integridad Seguridad Marzo 2012 Administración de Base de Datos
  9. 9. Expresiones equivalente El DBA El SMBD Manejo de Memoria Restauración Concurrencia Diccionario Datos Proc. Consultas Consultas • 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 Integridad Seguridad Marzo 2012 Administración de Base de Datos
  10. 10. Axiomas del Algebra Relacional El DBA El SMBD Manejo de Memoria Restauración Concurrencia Diccionario Datos Proc. Consultas Consultas Integridad Seguridad Marzo 2012 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 Administración de Base de Datos
  11. 11. Axiomas del Algebra Relacional El DBA El SMBD Manejo de Memoria Restauración Concurrencia Diccionario Datos Proc. Consultas Consultas 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 Integridad Seguridad Marzo 2012 Administración de Base de Datos
  12. 12. Axiomas del Algebra Relacional El DBA 1. Cascada de selecciones σ c1 and c 2 and...and cn ( R ) ≡ σ c1 (σ c 2 (...σ cn ( R )...)) El SMBD Manejo de Memoria Restauración Concurrencia Diccionario Datos Proc. Consultas Consultas Donde c1, c2, … cn son condiciones booleanas CI CodB 123 1 234 1 123 2 σ codB =1 and CI = '123' σ codB =1 CI CodB 123 1 σ CI =123 Integridad CI CodB Seguridad 123 1 CI CodB 234 1 123 1 Marzo 2012 Administración de Base de Datos
  13. 13. Axiomas del Algebra Relacional El DBA El SMBD 1. Cascada de selecciones σ c1 and c 2 and...and cn ( R ) ≡ σ c1 (σ c 2 (...σ cn ( R )...)) Manejo de Memoria Restauración Donde c1, c2, … cn son condiciones booleanas Concurrencia Diccionario Datos σ c1 and c2 σ c3 and c3 Proc. Consultas Consultas σ c2 σ c1 Integridad Seguridad Marzo 2012 Administración de Base de Datos
  14. 14. Axiomas del Algebra Relacional σ c1 (σ c 2 ( R )) ≡ σ c 2 (σ c1 ( R)) El DBA El SMBD σ codB =1 Manejo de Memoria Restauración Concurrencia Diccionario Datos σ CI =123 CI CodB CI CodB CI CodB 123 1 123 1 123 1 234 1 234 1 123 2 Integridad Seguridad Marzo 2012 σ CI =123 σ codB =1 CI CodB CI CodB 123 1 123 1 123 Proc. Consultas Consultas 2 Administración de Base de Datos
  15. 15. Axiomas del Algebra Relacional El DBA El SMBD Manejo de Memoria 2. Conmutatividad de la selección σ c1 (σ c 2 ( R )) ≡ σ c 2 (σ c1 ( R)) Restauración Concurrencia Diccionario Datos Proc. Consultas Consultas σ σ c2 c1 σ σ c1 c2 Integridad Seguridad Marzo 2012 Administración de Base de Datos
  16. 16. Axiomas del Algebra Relacional El DBA 3. Cascada de proyecciones El SMBD Manejo de Memoria ∏ CI ,CodB Restauración Concurrencia Diccionario Datos Proc. Consultas Consultas CI CodB Desc CI CodB CI 123 1 Malta 123 1 123 234 1 Malta 234 1 234 254 2 7 up 254 2 254 Integridad Seguridad Marzo 2012 ∏ CI Administración de Base de Datos
  17. 17. Axiomas del Algebra Relacional El DBA 3. Cascada de proyecciones El SMBD Manejo de Memoria Restauración Concurrencia Diccionario Datos Proc. Consultas Consultas Integridad ∏A1 ∏A1..An -1 ∏A1 ∏A1..An Seguridad Marzo 2012 Administración de Base de Datos
  18. 18. Axiomas del Algebra Relacional El DBA 4. Distributividad de la proyección y la selección El SMBD Manejo de Memoria σ codB =1 Restauración Concurrencia CI CodB Diccionario Datos 123 1 Proc. Consultas Consultas 234 123 CodB 123 1 234 1 1 Integridad CI 2 Seguridad Marzo 2012 Administración de Base de Datos ∏ CodB CodB 1 1
  19. 19. Axiomas del Algebra Relacional El DBA 4. Distributividad de la proyección y la selección El SMBD Manejo de Memoria σ codB =1 Restauración Concurrencia CI Diccionario Datos 123 1 Proc. Consultas Consultas 234 1 Integridad 123 2 Seguridad ∏ CodB CodB 123 1 234 CodB CI 1 CodB CodB 1 1 σ codB =1 CodB 1 1 1 1 2 Marzo 2012 ∏ CodB Administración de Base de Datos
  20. 20. Axiomas del Algebra Relacional El DBA 5. Conmutatividad del Join y del Producto cartesiano El SMBD Manejo de Memoria Restauración Concurrencia Diccionario Datos Proc. Consultas Consultas Integridad R1 R2 R2 Seguridad Marzo 2012 Administración de Base de Datos R1
  21. 21. Axiomas del Algebra Relacional El DBA 6. Distributividad de la selección con respecto al Join y al Producto cartesiano El SMBD Manejo de Memoria Restauración Concurrencia Diccionario Datos Este axioma permite empujar las selecciones hacia abajo en el arbol. Proc. Consultas Consultas Integridad Seguridad Marzo 2012 Administración de Base de Datos
  22. 22. Axiomas del Algebra Relacional 6. Distributividad de la selección con respecto al Join y al Producto cartesiano El DBA El SMBD Manejo de Memoria Restauración CI 123 1 Diccionario Datos 234 1 Proc. Consultas Consultas 234 2 σ Desc= 'Malta' and CI = 234 CodB Concurrencia  Integridad Marzo 2012 CodB 1 Desc 123 1 Malta 234 1 Malta 234 = CodB 2 7 up Desc Malta 2 Seguridad CI 7 up Administración de Base de Datos CI CodB = 234 1 Desc Malta
  23. 23. Axiomas del Algebra Relacional El DBA 6. Distributividad de la selección con respecto al Join y al Producto cartesiano El SMBD Manejo de Memoria Restauración CI CodB 123 1 Diccionario Datos 234 Proc. Consultas Consultas 234 CodB 234 1 234 1 CI 2 2 Concurrencia Integridad Seguridad CodB Desc Malta 2 Marzo 2012 1 7 up σ CI= 234  σ Desc= CodB ´Malta´ 1 Desc Malta Administración de Base de Datos CI = CodB Desc 234 1 Malta
  24. 24. Axiomas del Algebra Relacional El DBA El SMBD Manejo de Memoria Restauración σ Concurrencia σ c2 c1 and σ c2 c1 Diccionario Datos σ Proc. Consultas Consultas c1 σ c2 Integridad Seguridad Marzo 2012 R2 R1 R1 R2 Administración de Base de Datos R1 R2
  25. 25. Axiomas del Algebra Relacional El DBA 7. Distributividad de la proyección con respecto al Join y al Producto cartesiano El SMBD Manejo de Memoria Restauración Concurrencia Diccionario Datos Proc. Consultas Consultas Este axioma permite empujar las proyecciones hacia abajo en el arbol. Integridad Seguridad Marzo 2012 Administración de Base de Datos
  26. 26. Axiomas del Algebra Relacional 7. Distributividad de la proyección con respecto al Join y al Producto cartesiano El DBA El SMBD Manejo de Memoria Restauración CI CodB Fecha CI 123 1 10/08/201 3 12/06/201 3 Concurrencia Diccionario Datos Proc. Consultas Consultas Integridad Seguridad Marzo 2012 234 1  234 2 25/10/201 CodB Desc 3Vol 1 Malta 500 2 7 up Co dB Fecha Desc Vol 123 1 10/08 /2013 Malta 500 234 1 12/06 /2013 Malta 500 234 2 25/10 /2013 7 up 1500 1500 Administración de Base de Datos
  27. 27. Axiomas del Algebra Relacional El DBA 7. Distributividad de la proyección con respecto al Join y al Producto cartesiano El SMBD Manejo de Memoria ∏CI ,CodB , Desc Restauración Concurrencia Diccionario Datos Proc. Consultas Consultas CI Co dB Fecha Desc Vol 123 1 10/08/ 2013 Malta 500 234 1 12/06/ 2013 Malta 500 234 2 25/10/ 2013 7 up 1500 Integridad Seguridad Marzo 2012 Administración de Base de Datos CI CodB Desc 123 1 Malta 234 1 Malta 234 2 7 up
  28. 28. Axiomas del Algebra Relacional 7. Distributividad de la proyección con respecto al Join y al Producto cartesiano El DBA El SMBD ∏CI ,CodB Manejo de Memoria Restauración CI CodB Fecha 123 1 10/08/201 3 234 1 12/06/201 3 Concurrencia Diccionario Datos Proc. Consultas Consultas Integridad Seguridad Marzo 2012 ∏CodB, Desc 234 2 25/10/201 CodB Desc 3Vol 1 Malta 500 2 7 up 1500 Administración de Base de Datos CI CodB 123 1 234 1 234 2 CodB Desc 1 Malta 2 7 up
  29. 29. Axiomas del Algebra Relacional El DBA 7. Distributividad de la proyección con respecto al Join y al Producto cartesiano El SMBD Manejo de Memoria CI CodB 123 1 Concurrencia 234 1 Diccionario Datos 234 2 Restauración CI Integridad CodB 1 Malta 234 1 Malta 234 2 7 up Malta 2 1 Desc Seguridad Desc 123  Proc. Consultas Consultas CodB 7 up Marzo 2012 Administración de Base de Datos
  30. 30. Axiomas del Algebra Relacional El DBA El SMBD Manejo de Memoria Restauración Concurrencia ∏A1..An Diccionario Datos Proc. Consultas Consultas ∏A ∏B Integridad Seguridad Marzo 2012 R2 R1 R1 Administración de Base de Datos R2
  31. 31. Axiomas del Algebra Relacional El DBA El SMBD 8. Conmutatividad de la unión y la intersección 9. Asociatividad de la union, la intersección, y el producto cartesiano Manejo de Memoria Restauración Concurrencia Diccionario Datos Proc. Consultas Consultas Integridad 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 Seguridad Marzo 2012 Administración de Base de Datos
  32. 32. Axiomas del Algebra Relacional El DBA 12. Conversión del Producto Cartesiano en Join El SMBD Manejo de Memoria Restauración Si cond es una igualdad de atributos de R1 y R2 Concurrencia σ Diccionario Datos Proc. Consultas Consultas A1=A2 X Integridad R2 Seguridad R2 Marzo 2012 R1 Administración de Base de Datos R1
  33. 33. Técnicas de optimización El DBA El SMBD Manejo de Memoria Restauración Concurrencia Diccionario Datos Proc. Consultas Consultas Integridad Seguridad Marzo 2012 Administración de Base de Datos
  34. 34. Técnicas de control de concurrencia El DBA El SMBD Manejo de Memoria Restauración Concurrencia Diccionario Datos Proc. Consultas Integridad Seguridad Marzo 2012 • 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. Administración de Base de Datos 34
  35. 35. Técnicas de control de concurrencia El DBA El SMBD Manejo de Memoria Restauración Concurrencia Diccionario Datos Proc. Consultas Integridad • 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 3. Aplicar axioma 12, para combinar los SELECT con los PRODUCTOS CARTESIANOS, para formar una operación de JOIN 4. Aplicar axiomas 3, 4, 7, 11 para bajar en el árbol las operaciones PROJECT lo más que se pueda. Seguridad Marzo 2012 Administración de Base de Datos 35
  36. 36. Técnicas de control de concurrencia El DBA El SMBD Manejo de Memoria Restauración Concurrencia • Heurísticas (Resumen) 1. 2. 3. 4. 5. Aplicar Aplicar Aplicar Aplicar Aplicar Axioma 1 axiomas 2, 4, 6 y 10 axiomas 5 y 9, axioma 12, axiomas 3, 4, 7, 11. Diccionario Datos Proc. Consultas Integridad Seguridad Marzo 2012 Administración de Base de Datos 36
  37. 37. Optimización por Heurística El DBA El SMBD Manejo de Memoria Restauración 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 Concurrencia Diccionario Datos Proc. Consultas Consultas Integridad Seguridad Marzo 2012 Administración de Base de Datos
  38. 38. Ejercicio 1 El DBA El SMBD Manejo de Memoria Restauración Concurrencia Diccionario Datos 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 ∏ CI , Nombre ,CodMateria σ I.CodM = ‘6311’ and E .ciudad =‘Caracas’ and E.CI = I.CI Proc. Consultas Consultas X Integridad Seguridad E Marzo 2012 I Administración de Base de Datos 38
  39. 39. Ejercicio 1 El DBA Paso 2: Transformar el Árbol canónico Axioma 1:: Cascada de selecciones El SMBD Manejo de Memoria Restauración Concurrencia ∏ CI , Nombre ,CodMateria σ I.CodM = ‘6311’ and E.ciudad = 'Caracas’ and E.CI = I.CI Diccionario Datos Proc. Consultas Consultas ∏ CI , Nombre ,CodMateria ≡ σI.CodM =‘6311’ σ E.ciudad=‘Caracas’ σ E.CI = I.CI X Integridad Seguridad X E I E Marzo 2012 Administración de Base de Datos I 39
  40. 40. Ejercicio 1 El DBA El SMBD Manejo de Memoria Restauración Concurrencia Diccionario Datos Paso 2: Transformar el Árbol canónico Axiomas 2, 4, 6, 10 ∏ CI , Nombre ,CodMateria σI.CodM =‘6311’ σ E.ciudad=‘Caracas’ σ E.CI = I.CI ≡ X σ E.CI = I.CI Proc. Consultas Consultas Integridad σ E.ciudad=‘Caracas’ σ I.CodM = ‘6311’ X Seguridad E Marzo 2012 ∏ CI , Nombre ,CodMateria I Administración de Base de Datos E I 40
  41. 41. Ejercicio 1 El DBA El SMBD Manejo de Memoria Paso 2: Transformar el Árbol canónico Axiomas 5 y 9 (Conmutatividad del PC, Join) ∏ CI , Nombre ,CodMateria σ E.CI = I.CI Restauración Concurrencia X Diccionario Datos Ver cual de los resultados intermedios es mas pequeño y colocarlo a la izquierda Proc. Consultas Consultas Integridad Seguridad σ E.ciudad=‘Caracas’ I.CodM = ‘6311’ σ E Marzo 2012 I Administración de Base de Datos 41
  42. 42. Ejercicio 1 El DBA El SMBD Manejo de Memoria Paso 2: Transformar el Árbol canónico Axioma 12 (PC => Join) ∏ CI , Nombre ,CodMateria σ E.CI = I.CI Restauración ∏ CI , Nombre ,CodMateria  E.CI = I.CI ≡ Concurrencia X Diccionario Datos Proc. Consultas Consultas Integridad Seguridad σ E.ciudad=‘Caracas’σ I.CodM = ‘6311’σ E.ciudad=‘Caracas’σ I.CodM = ‘6311’ E Marzo 2012 I Administración de Base de Datos E I 42
  43. 43. Ejercicio 1 Paso 2: Transformar el Árbol canónico El DBA Axioma 3, 4, 7, 11 (proyecciones) El SMBD Manejo de Memoria ∏ CI , Nombre ,CodMateria Restauración  E.CI = I.CI Concurrencia Se evalúa si las tablas base tienen muchos atributos que no aportan a la consulta Diccionario Datos Proc. Consultas Consultas Integridad Seguridad σ E.ciudad=‘Caracas’σ I.CodM = ‘6311’ E Marzo 2012 Se debe tomar en cuenta que los resultados intermedios no tienen índices I Administración de Base de Datos 43
  44. 44. Ejercicio 1 El DBA El SMBD Manejo de Memoria Paso 2: Transformar el Árbol canónico Axioma 3, 4, 7, 11 (proyecciones) ∏ CI, Nombre,CodM ∏ CI, Nombre,CodM Restauración  E.CI = I.CI  E.CI = I.CI Concurrencia ≡ Diccionario Datos σ E.ciudad=‘Caracas’σ I.CodM = ‘6311’ Proc. Consultas Consultas Integridad Seguridad σ E.nombre=‘Juan’ σ I.CodM = ‘6311’ E Marzo 2012 ∏ CI, Nombre, Ciudad I Administración de Base de Datos E ∏ CodM I 44
  45. 45. Optimización con heurística El DBA El SMBD Manejo de Memoria Restauración Concurrencia Diccionario Datos Proc. Consultas • 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’ Integridad Seguridad Marzo 2012 Administración de Base de Datos 45
  46. 46. Árbol de ejecución físico El DBA El SMBD Manejo de Memoria Restauración Concurrencia Diccionario Datos Proc. Consultas • 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 Integridad Seguridad Marzo 2012 Administración de Base de Datos 46
  47. 47. Factor de selectividad El DBA El SMBD Manejo de Memoria Restauración Concurrencia Diccionario Datos Proc. Consultas • 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 Integridad Seguridad Marzo 2012 Administración de Base de Datos 47
  48. 48. Factor de selectividad El DBA El SMBD • Uniformidad – Es igualmente probable que una tupla Ti tenga un valor C en el atributo Aj. Manejo de Memoria Restauración Concurrencia – Los valores de Aj están distribuidos uniformemente entre las tuplas. Diccionario Datos Proc. Consultas Se lee la probabilidad de que las tuplas de Ti cumpla la condición Ai= c Integridad Seguridad Marzo 2012 Administración de Base de Datos 48
  49. 49. Factor de selectividad El DBA El SMBD Manejo de Memoria Restauración • 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. Concurrencia Diccionario Datos Proc. Consultas Integridad Seguridad Marzo 2012 Administración de Base de Datos 49
  50. 50. Factor de selectividad El DBA • Casos Base El SMBD Manejo de Memoria Restauración Concurrencia Diccionario Datos Proc. Consultas Integridad • Ejemplo – ¿Cuál es el factor de selectividad la condición sexo = ‘F’ en la tabla empleado? 1 fs ( Sexo =' F ' , Empleado) = = 0,5 2 Seguridad Marzo 2012 Administración de Base de Datos 50
  51. 51. Factor de selectividad El DBA • Casos Base Los que cumplen la condición El SMBD Valores totales Manejo de Memoria Restauración Concurrencia Diccionario Datos Proc. Consultas Integridad Seguridad Marzo 2012 • Ejemplo – ¿Cuál es el factor de selectividad la condición Cantidad > 100 en la tabla Venta? Si Min 5 y Max 250 fs (cantidad > 100, Ventas) = 250 − 100 150 = = 0,61 250 − 5 + 1 246 Administración de Base de Datos 51
  52. 52. Factor de selectividad El DBA • Casos Base El SMBD Manejo de Memoria Restauración Concurrencia Diccionario Datos Proc. Consultas Integridad Seguridad Marzo 2012 • 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 1 fs (cantidad > 100, V ) * fs (Re gion = ' Norte' , V ) = 0,61* = 0,15 4 Administración de Base de Datos 52
  53. 53. El DBA • Casos base – Factor de selectividad del Join El SMBD Manejo de Memoria Restauración CI CodB Concurrencia 123 1 Diccionario Datos 234 1 234 2 Valores distintos (CodB) = 2 Proc. Consultas fs (C.CodB = V .CodB ) = Integridad CodB Desc Vol Seguridad 1 Malta 500 2 7 up 1 1 = = 0,5 max(2,2) 2 1500 Marzo 2012 Valores distintos (CodB) = 2 Administración de Base de Datos 53
  54. 54. Ejemplo del uso del fs El DBA El SMBD Manejo de Memoria Restauración Concurrencia Diccionario Datos Proc. Consultas Integridad Seguridad Marzo 2012 • Ejemplo – ¿Cuál es el factor de selectividad la condición sexo = ‘F’ en la tabla empleado? 1 fs ( Sexo =' F ' , Empleado) = = 0,5 2 – Si la tabla empleados contiene 300.000 registros ¿cuántos registros tiene la siguiente vista? T 1 ← σ Sexo= 'F ' ( Empleado) T 1 = Empleado × fs ( Sexo =' F ' , Empleado) T 1 = 300.000 × 0,5 = 150.000 Administración de Base de Datos 54
  55. 55. Ejercicio 1 Paso 2: Transformar el Árbol canónico El DBA Axioma 3, 4, 7, 11 (proyecciones) El SMBD Manejo de Memoria ∏ CI, Nombre,CodM Restauración  E.CI = I.CI Concurrencia Diccionario Datos Proc. Consultas Consultas Integridad Seguridad σ E.ciudad=‘Caracas’σ I.CodM = ‘6311’ E Marzo 2012 Calcular cual resultado intermedio es menor si hay 5000 estudiantes y 30 ciudades distintas y 25.000 inscripciones y son 100 materias distintas I Administración de Base de Datos 55
  56. 56. Ejemplo del uso del fs El DBA El SMBD Manejo de Memoria Restauración Concurrencia Diccionario Datos Proc. Consultas Integridad Seguridad Marzo 2012 • Resultado 1 fs (Ciudad =' Caracas ' , Estudiante) = 30 T 1 = Estudiane × fs (ciudad =' Caracas ' , Estudiante) 1 T 1 = 5.000 × = 167 (se redondea) 30 1 fs (CodM ='6311' , Inscribe) = 100 T 1 = Inscribe × fs (CodM ='6311' , Inscribe) 1 T 1 = 25.000 × = 250 100 Administración de Base de Datos 56
  57. 57. Costo de un Árbol de ejecución El DBA El SMBD Manejo de Memoria Restauración Concurrencia • Próxima clase – Costo de los Operadores físicos • • • • • Select Join Order by Project Select Diccionario Datos Proc. Consultas Integridad – Evaluar el árbol de ejecución físico. • Materialización • Encausamiento Seguridad – Repasar costo de ordenamiento Marzo 2012 Administración de Base de Datos 57

×