SlideShare una empresa de Scribd logo
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
Contenido

     El DBA         • Cómo se procesa una consulta
    El SMBD
                    • Traducir una consulta de SQL a AR
                      – Repaso Algebra Relacional
Manejo de Memoria
                    • Árbol de ejecución
  Restauración
                      –   Árbol de ejecución lógico
 Concurrencia
 Concurrencia         –   Árbol de ejecución lineal izquierdo
Diccionario Datos     –   Árbol canónico
 Proc. Consultas
                      –   Axiomas del Algebra relacional

   Integridad
                    • Técnicas para optimizar consultas
                      – Basada en heurísticas
   Seguridad
                      – Basada en costos.


     Marzo 2012                 Administración de Base de Datos           2
Contenido

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




     Marzo 2012                 Administración de Base de Datos           3
Cómo procesar una consulta

     El DBA

    El SMBD

Manejo de Memoria SELECT Cuenta, Saldo
                                                   Procesamiento
                    FROM Cuenta
                    WHERE Saldo >40.000             de consulta
 Restauración


  Concurrencia

Diccionario Datos

Proc. Consultas
   Consultas

   Integridad

   Seguridad




     Marzo 2012                     Administración de Base de Datos   4
Cómo procesar una consulta

                                                                                             ρCond (R1)
     El DBA
                         Consulta                    Analizador              Expresión
    El SMBD
                          de alto                        y                   en Algebra
                           nivel                     traductor               Relacional
Manejo de Memoria


  Restauración      Select *
                    From R1                                                     Optimi-
                    Where Cond                  Diccionario de datos             zador
  Concurrencia
                                                                                          Estadísticas de
Diccionario Datos                                                                            los datos
                              Resultado
 Proc. Consultas
    Consultas                    de la
                                                      Motor de                 Plan de
                                                     evaluación               ejecución
                               consulta
   Integridad
                                                                                             Búsqueda
                    A1   A2   A3                                                              binaria
   Seguridad
                    xx   yy   zz
                    xy   yy   xz                 Base de datos
                                                                  Silberschatz, Korth, & Sudarshan, 2006

     Marzo 2012                       Administración de Base de Datos                                 5
Análisis

     El DBA
                        Consulta                    Analizador
    El SMBD
                         de alto                        y
                          nivel                     traductor
Manejo de Memoria


  Restauración                     Diccionario de datos


  Concurrencia      •   Análisis léxico: Identifica los elementos del lenguaje como
                        por ejemplo, las palabras reservadas de SQL, si están bien
Diccionario Datos
                        formados los nombres de los atributos y relaciones en el texto
 Proc. Consultas
                        de la consulta.
    Consultas
                    •   Análisis sintáctico: Comprueba la sintaxis de la consulta de
   Integridad           acuerdo a las reglas sintácticas del lenguaje de consulta.
   Seguridad        •   Validación: Comprueba que los nombres de las relaciones,
                        atributos sean válidos semánticamente dentro del esquema de
                        la base de datos sobre la cual se realiza la consulta y si los
                        tipos de datos se están usando correctamente.
     Marzo 2012                      Administración de Base de Datos                   6
Procesamiento de consulta

     El DBA
                        Consulta                  Analizador         Expresión
    El SMBD
                         de alto                      y              en Algebra
                          nivel                   traductor          Relacional
Manejo de Memoria


  Restauración

                                             Diccionario de datos
  Concurrencia

Diccionario Datos

 Proc. Consultas
    Consultas       •   Traductor: Crea una representación interna de la consulta,
                        mediante una estructura de árbol llamado árbol de consulta,
   Integridad           el cual está basado en el álgebra relacional extendido
   Seguridad




     Marzo 2012                    Administración de Base de Datos                7
Procesamiento de consulta

     El DBA
                           Expresión
                           en Algebra                 Optimi-
                                                       zador
    El SMBD                Relacional
                                                                          Estadísticas de
Manejo de Memoria                                                            los datos

                           Resultado
                                                    Motor de          Plan de
  Restauración                de la
                                                   evaluación        ejecución
                            consulta
  Concurrencia

                                Base de datos
Diccionario Datos

 Proc. Consultas
    Consultas       •   Optimización: desarrolla una estrategia de ejecución para
                        obtener el resultado de la consulta, evaluando cientos de
   Integridad           estrategias distintas basadas en el álgebra relacional, y sus
                        operadores físicos, escogiendo alguna de las estrategias
   Seguridad            menos costosa (plan de ejecución)
                    •   Motor de ejecución: recibe el plan de evaluación, lo ejecuta y
                        devuelve la respuesta de la consulta.
     Marzo 2012                    Administración de Base de Datos                          8
Algebra Relacional

                    Select <lista de atributos>
     El DBA                                                 Lenguaje de consulta
                    From <lista de tablas>                      de alto nivel
    El SMBD
                    Where <condiciones>
Manejo de Memoria


  Restauración              Operadores del Algebra Relacional
  Concurrencia                   • Proyección
                      Unarios    • Selección                       Lenguaje de consulta
Diccionario Datos                • Ordenación
                                                                       de bajo nivel
 Proc. Consultas
    Consultas                    •   Unión
                                 •   Intersección
   Integridad         Binarios   •   Producto cartesiano
                                 •   Reunión Natural
   Seguridad                     •   Resta
                                 •   División


     Marzo 2012                  Administración de Base de Datos                      9
Algebra Relacional

                    • PROYECCION
     El DBA
                       – Define una vista que contiene un subconjunto vertical de R,
    El SMBD              extrayendo los valores de los atributos especificados y
                         eliminando los duplicados.
Manejo de Memoria      – Ejm: T 1                  ( Empleado )
                                                CI , Sueldo
  Restauración


  Concurrencia      Select <lista de atributos>               CI    Nombre         Sueldo
                                                              123   Andrea Rojas   1500
Diccionario Datos   From <lista de tablas>
                                                              234   Humberto       2400
 Proc. Consultas    Where <condiciones>                             Perez
    Consultas
                                                              254   Camilo Diaz    1600
   Integridad

   Seguridad




     Marzo 2012                  Administración de Base de Datos                            10
Algebra Relacional

                    • SELECCIÓN
     El DBA
                       – Define una vista que contiene todas las tuplas de R que
    El SMBD              satisfacen la condición especificada.
                       – Ejm:
Manejo de Memoria               T1                            ( Empleado )
                                              Sueldo   1500

  Restauración
                    Select <lista de atributos>
  Concurrencia                                                CI    Nombre         Sueldo
                    From <lista de tablas>
                                                              123   Andrea Rojas   1500
Diccionario Datos
                    Where <condiciones>                       234   Humberto       2400
 Proc. Consultas
    Consultas                                                       Perez
                                                              254   Camilo Diaz    1600
   Integridad

   Seguridad




     Marzo 2012                  Administración de Base de Datos                            11
Algebra Relacional

                    • PRODUCTO CARTESIANO
     El DBA
                       – Define una relación que es la concatenación de cada tupla
    El SMBD              de la relación R con cada tupla de la relación S.
                       – RXS
Manejo de Memoria
                                                        CI         CodB        CodB    Desc
  Restauración                                          123        1           1       Malta
                    Select <lista de atributos>
                                                        234        1           2       7 up
  Concurrencia
                    From <lista de tablas>              254 2R.CodB
Diccionario Datos
                                                        R.CI               S.CodB     Desc
                    Where <condiciones>
                                                         123           1   1          Malta
 Proc. Consultas
    Consultas                                            234           1   1          Malta
   Integridad                                            254           2   1          Malta

   Seguridad
                                                         123           1   2          7 up
                                                         234           1   2          7 up
                                                         254           2   2          7 up
     Marzo 2012                  Administración de Base de Datos                              12
Algebra Relacional

                    • REUNION NATURAL (JOIN)
     El DBA
                       – Es una combinación entre dos relaciones donde se verifica
    El SMBD              la condición de igualdad sobre los atributos comunes entre
                         ambas relaciones. Del resultado se elimina una de las dos
Manejo de Memoria        apariciones de cada atributo

  Restauración                                            CI       CodB         CodB    Desc
                                                          123      1            1       Malta
  Concurrencia
                    Select <lista de atributos>           234      1         2          7 up
Diccionario Datos
                                                         R.CI      R.CodB   S.CodB     Desc
                    From <lista de tablas>                254      2
                                                         123       1        1          Malta
 Proc. Consultas
    Consultas       Where <condiciones> and              234       1        1          Malta
   Integridad         T1.a1=t2.a1 and ….                 254       2        1          Malta

   Seguridad
                                                         123       1        2          7 up
                                                         234       1        2          7 up
                                                         254       2        2          7 up
     Marzo 2012                  Administración de Base de Datos                               13
Algebra Relacional

                    • REUNION NATURAL (JOIN)
     El DBA
                       – Es una combinación entre dos relaciones donde se verifica
    El SMBD              la condición de igualdad sobre los atributos comunes entre
                         ambas relaciones. Del resultado se elimina una de las dos
Manejo de Memoria        apariciones de cada atributo

  Restauración                                            CI       CodB       CodB    Desc
                                                          123      1          1       Malta
  Concurrencia
                    Select <lista de atributos>           234      1          2       7 up
Diccionario Datos
                    From <lista de tablas>                254      2
 Proc. Consultas
    Consultas       Where <condiciones> and
                                                             CI        CodB   Desc
   Integridad         T1.a1=t2.a1 and ….
                                                             123       1      Malta
   Seguridad                                                 234       1      Malta
                                                             254       2      7 up

     Marzo 2012                  Administración de Base de Datos                             14
Árbol de ejecución

                    • Representa una consulta en algebra
     El DBA
                      relacional
    El SMBD         • Es un árbol de orden 2
Manejo de Memoria      – Cada nodo interno representa una tabla vista o
                         resultado intermedio producido por una operación
  Restauración
                       – Cada hoja representa una tabla base
  Concurrencia
                     Case Base                       Case Inductivo
Diccionario Datos
                                                                , ,    Op
 Proc. Consultas          T                                Op
    Consultas                                                    , X
                                                                  ,-          O
   Integridad

   Seguridad        P1 y P2 sub arboles                                  P1
                                                      P1           P2
                    Op operador AR

     Marzo 2012                  Administración de Base de Datos                  15
Árbol de ejecución
                    • Ejemplo
     El DBA
                       Π Apellido1, Nombre, Sueldo (σ           Sueldo > c   (Empleado
    El SMBD              Departamento))
Manejo de Memoria                                                             Π   Apellido1, Nombre,
                                                                                      Sueldo
  Restauración
                    T1 <-(Empleado             Departamento)
  Concurrencia                                                                    σ   Sueldo > c
                    T2 <- σ   Sueldo > c   (T1)
Diccionario Datos
                    Tr <- Π   Apellido1, Nombre, Sueldo   (T2)
 Proc. Consultas
    Consultas

   Integridad

   Seguridad                                                                                   Departa
                                                                       Empleado
                                                                                                mento


     Marzo 2012                      Administración de Base de Datos                                     16
Árbol lineal izquierdo

                    • Es un árbol de ejecución donde en cada nodo
     El DBA
                      binario el hijo derecho es una tabla
    El SMBD

Manejo de Memoria   • Arbol canónico: Es un árbol lineal izquierdo
                      donde cada nodo binario corresponde a un
  Restauración
                      producto cartesiano, la selección es sobre toda la
  Concurrencia        condición y la proyección sobre todos los atributos
Diccionario Datos
                     SELECT <Lista Atributos>
 Proc. Consultas     FROM T1, T2, … Tn
    Consultas
                     WHERE <Condición>
   Integridad
                    Nota: es el mas rápido de
   Seguridad
                    construir pero el más costoso

     Marzo 2012                  Administración de Base de Datos
Árbol lineal izquierdo

                    Ejercicios
     El DBA
                    Construya el árbol canónico de las sig. consultas
    El SMBD
                       SELECT CI, Nombre, CodMateria
Manejo de Memoria
                       FROM Estudiante E, inscripcion I
                       WHERE I.CodM = ‘6311’ and semestre=‘2-2011’ and E.CI =
  Restauración
                         I.CI
  Concurrencia
                       SELECT E.CI, E.Nombre, M.Nombre, I.semestre
Diccionario Datos      FROM Estudiante E, Inscripcion I, Materia M
 Proc. Consultas       WHERE I.CodM = ‘6311’ and I.semestre=‘2-2011’ and E.CI =
    Consultas
                         I.CI and M.CodM = I.CodM
   Integridad

   Seguridad




     Marzo 2012                  Administración de Base de Datos
Árbol lineal izquierdo

                    Próxima clase
     El DBA
                    • Transformación del árbol canónico (Axiomas del
    El SMBD
                      Algebra Relacional)
Manejo de Memoria
                    • Técnicas de optimización
  Restauración
                    • Factor de Selectividad
  Concurrencia      • Costos de los operadores
Diccionario Datos

 Proc. Consultas
    Consultas

   Integridad

   Seguridad




     Marzo 2012                Administración de Base de Datos
Axiomas del Algebra
                                                                  Relacional
                    1. Cascada de selecciones
     El DBA

    El SMBD
                      c 1 and c 2 and...and   cn
                                                   (R)           c1
                                                                       (   c2
                                                                                (...   cn
                                                                                            ( R )...))
Manejo de Memoria

                    Donde c1, c2, … cn son condiciones booleanas
  Restauración


  Concurrencia

Diccionario Datos

 Proc. Consultas
    Consultas

   Integridad

   Seguridad




     Marzo 2012                      Administración de Base de Datos
Axiomas del Algebra
                                                                 Relacional
                    2. Conmutatividad de la selección
     El DBA

    El SMBD

Manejo de Memoria          c1
                                (     c2
                                           ( R ))            c2
                                                                  (   c1
                                                                           ( R ))
  Restauración


  Concurrencia

Diccionario Datos

 Proc. Consultas
    Consultas

   Integridad

   Seguridad




     Marzo 2012                     Administración de Base de Datos
Axiomas del Algebra
                                                            Relacional
                    3. Cascada de proyecciones
     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
Axiomas del Algebra
                                                             Relacional
                    4. Distributividad de la proyección y la selecció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
Axiomas del Algebra
                                                            Relacional
                    5. Conmutatividad del Join y del Producto cartesiano
     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
Axiomas del Algebra
                                                             Relacional
                    6. Distributividad de la selección con respecto al Join
     El DBA
                        y al Producto cartesiano
    El SMBD

Manejo de Memoria


  Restauración


  Concurrencia        Este axioma permite empujar las selecciones hacia abajo
                                           en el arbol.
Diccionario Datos

 Proc. Consultas
    Consultas

   Integridad

   Seguridad




     Marzo 2012                 Administración de Base de Datos
Axiomas del Algebra
                                                             Relacional
                    7. Distributividad de la proyección con respecto al
     El DBA
                        Join y al Producto cartesiano
    El SMBD

Manejo de Memoria


  Restauración


  Concurrencia

Diccionario Datos       Este axioma permite empujar las proyecciones hacia
                                        abajo en el arbol.
 Proc. Consultas
    Consultas

   Integridad

   Seguridad




     Marzo 2012                 Administración de Base de Datos
Axiomas del Algebra
                                                             Relacional
                    7. Distributividad de la proyección con respecto al
     El DBA
                        Join y al Producto cartesiano
    El SMBD

Manejo de Memoria


  Restauración


  Concurrencia

Diccionario Datos       Este axioma permite empujar las proyecciones hacia
                                        abajo en el arbol.
 Proc. Consultas
    Consultas

   Integridad

   Seguridad




     Marzo 2012                 Administración de Base de Datos
Axiomas del Algebra
                                                             Relacional
                    8. Conmutatividad de la unión y la intersección
     El DBA
                    9. Asociatividad de la union, la intersección, y el
    El SMBD
                        producto cartesiano
Manejo de Memoria


  Restauración


  Concurrencia      10. Distributividad de la selección con respecto a la
Diccionario Datos      Unión y la Intersección
 Proc. Consultas
    Consultas
                    11. Distributividad de la proyección con respecto a la
                       Unión y la Intersección
   Integridad

   Seguridad




     Marzo 2012                 Administración de Base de Datos
Axiomas del Algebra
                                                            Relacional
                    12. Conversión del Producto Cartesiano en Join
     El DBA

    El SMBD

Manejo de Memoria


  Restauración
                    Si cond es una igualdad de atributos de R1 y R2
  Concurrencia

Diccionario Datos

 Proc. Consultas
    Consultas

   Integridad

   Seguridad




     Marzo 2012                Administración de Base de Datos
Técnicas de optimización

     El DBA
                    Heurísticas
    El SMBD
                    • Se refiere a las mejores prácticas
Manejo de Memoria
                    • Viene de la experiencia de los expertos
  Restauración
                    Costo
  Concurrencia

Diccionario Datos   • Transforma el árbol de ejecución usando
                      diferentes técnicas (n transformaciones)
 Proc. Consultas
    Consultas       • Estima los costos de cada
   Integridad
                      transformación y se queda con la que
                      tiene costo mínimo
   Seguridad




     Marzo 2012             Administración de Base de Datos
Técnicas de control de
                                                       concurrencia

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




     Marzo 2012                Administración de Base de Datos                    31
Técnicas de control de
                                                       concurrencia

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

   Seguridad




     Marzo 2012                Administración de Base de Datos                 32
Técnicas de control de
                                                      concurrencia

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

   Seguridad




     Marzo 2012               Administración de Base de Datos        33
Factor de selectividad

     El DBA         • Una vez que se ha construido el árbol de
                      ejecución lógico se debe construir el físico
    El SMBD

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




     Marzo 2012               Administración de Base de Datos   34
Factor de selectividad

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

                                                                   Se lee la
  Restauración                                                  probabilidad de
                      – Los valores de Aj están distribuidos     que las tuplas
  Concurrencia                                                  de Ti cumpla la
                        uniformemente entre las tuplas.
                                                                condición Ai= c
Diccionario Datos
                    • Independencia
 Proc. Consultas      – Al ejecutarse la siguiente consulta
   Integridad
                        se asume que la satisfacibilidad de que la
                        condición cond1 es independiente a la
   Seguridad            satisfacibilidad de la condición cond2.


     Marzo 2012               Administración de Base de Datos             35
Factor de selectividad

     El DBA         • Casos Base                              Los que cumplen
                                                                la condición
    El SMBD
                                                                     Valores
Manejo de Memoria                                                    totales

  Restauración


  Concurrencia

Diccionario Datos

 Proc. Consultas

   Integridad

   Seguridad




     Marzo 2012             Administración de Base de Datos                     36
El DBA         • Casos base
                      – Factor de selectividad del Join
    El SMBD

Manejo de Memoria


  Restauración


  Concurrencia

Diccionario Datos

 Proc. Consultas

   Integridad

   Seguridad




     Marzo 2012               Administración de Base de Datos   37
Ejemplo del uso del fs

     El DBA         • Ejemplo
                      – ¿Cuál es el factor de selectividad la condición
    El SMBD
                        sexo = ‘F’ en la tabla empleado?
Manejo de Memoria
                                                                        1
                             fs ( Sexo      ' F ' , Empleado )               0 ,5
  Restauración                                           2
                      – Si la tabla empleados contiene 300.000
  Concurrencia
                        registros ¿cuántos registros tiene la siguiente
Diccionario Datos       vista?
 Proc. Consultas            T1                         ( Empleado )
                                         Sexo   'F '

   Integridad
                      T1    Empleado            fs ( Sexo       ' F ' , Empleado )
   Seguridad
                             T1      300 . 000          0 ,5    150 . 000

     Marzo 2012               Administración de Base de Datos                        38
Costo de un Árbol de
                                                             ejecución

     El DBA         • Próxima clase
                      – Costo de los Operadores físicos
    El SMBD
                         •   Join
Manejo de Memoria
                         •   Order by
  Restauración
                         •   Project
                         •   Select
  Concurrencia

Diccionario Datos     – Evaluar el árbol de ejecución físico.
 Proc. Consultas         • Materialización
                         • Encausamiento
   Integridad

   Seguridad




     Marzo 2012                Administración de Base de Datos       39
Clase de hoy

                    – Modelo de costo
     El DBA
                    – Costo de los operadores del Algebra Relacional
    El SMBD
                       • Select
Manejo de Memoria      • Project.
                       • Order By
  Restauración


  Concurrencia

Diccionario Datos

 Proc. Consultas

   Integridad

   Seguridad




     Marzo 2012             Administración de Base de Datos              40
Modelo de Costos

     El DBA         • Es una herramienta estadística formal
                      para evaluar el costo de un plan físico de
    El SMBD
                      ejecución.
Manejo de Memoria
                    • Se mide en función del tiempo y puede
  Restauración        expresarse en términos de:
  Concurrencia         –   Accesos a disco
Diccionario Datos
                       –   Tiempo del CPU
                       –   Costo de comunicación (Sist. Dist)
 Proc. Consultas
                       –   Tiempo de respuesta para un plan de
   Integridad              evaluación de una consulta.
   Seguridad




     Marzo 2012                 Administración de Base de Datos       41
Modelo de Costo

     El DBA

    El SMBD

Manejo de Memoria

                    ¿Cuál es el costo más importante en las
  Restauración
                      bases de datos centralizadas?
  Concurrencia
                      Acceso a disco
Diccionario Datos

 Proc. Consultas

   Integridad

   Seguridad




     Marzo 2012               Administración de Base de Datos         42
El DBA         • Para calcular el costo de acceso a disco
                      necesitamos.
    El SMBD
                       – Tamaño a cada archivo de datos y vistas
Manejo de Memoria         • Número de registros
                          • Tamaño de los atributos y los registros
  Restauración
                          • Tamaño de los bloques
  Concurrencia         – Factor de selectividad
                          • Número de valores distintos,
Diccionario Datos
                          • mínimo y máximo de los atributos de búsqueda,
 Proc. Consultas       – Métodos de acceso (organización del archivo)
                       – Índices del archivo
   Integridad
                          • números de niveles (altura)
   Seguridad              • Tipo (primario, secundario, agrupado)



     Marzo 2012                 Administración de Base de Datos             43
Cálculo del espacio en disco
                                 requerido por una relación

     El DBA         1. Registros de longitud fija y no extensible
                       N: el número de registro del archivo A
    El SMBD
                       Ra: el tamaño en bytes de cada registro
Manejo de Memoria
                       B: Tamaño en bytes de cada bloque
  Restauración


  Concurrencia                  B                     NumBloques   ( A)
                                                                          N
                       fdb                                                fdb
Diccionario Datos
                               Ra
 Proc. Consultas

   Integridad           Se usa para las tablas base
   Seguridad




     Marzo 2012                Administración de Base de Datos                  44
Estimación de costos

     El DBA         2. Extensibles / Tamaño Fijo
    El SMBD
                                                             N       Ra
Manejo de Memoria        NumBloques           ( A)
                                                                 B
  Restauración


  Concurrencia
                      Se usa para las tablas vista o resultados
Diccionario Datos     intermedios
 Proc. Consultas

   Integridad

   Seguridad




     Marzo 2012                Administración de Base de Datos            45
Estimación de Costos

     El DBA         4. Tamaño variable
    El SMBD
                     se usan las mismas fórmulas pero se
Manejo de Memoria
                      calcula un promedio de tamaño del
                      registro
  Restauración


  Concurrencia          RA   tamaño promedio               de un registro A,
Diccionario Datos       con técnic as de muestreo.
 Proc. Consultas

   Integridad

   Seguridad




     Marzo 2012                Administración de Base de Datos                 46
Costo de operadores físicos

     El DBA         •   Selección
    El SMBD
                    •   Ordenamiento
Manejo de Memoria
                    •   Proyección
                    •   Reunión
  Restauración


  Concurrencia

Diccionario Datos

 Proc. Consultas

   Integridad

   Seguridad




     Marzo 2012               Administración de Base de Datos   47
Estimación de costos en
                              operaciones físicas: Selección

     El DBA         • Operación Selección
    El SMBD
                                             condicion
                                                          (R)
Manejo de Memoria
                      –   Selección sin índices
  Restauración
                      –   Selección con índices
  Concurrencia        –   Selección de igualdad
Diccionario Datos     –   Selección de comparación
 Proc. Consultas
                      –   Selecciones complejas (Conjuntivas o
                          Disyuntivas)
   Integridad

   Seguridad




     Marzo 2012                Administración de Base de Datos   48
Selección sin índices

     El DBA         • Considere una operación selección sobre
                      un archivo A y:
    El SMBD

Manejo de Memoria    TB   A
                              : tamaño       que ocupa la relación   A
  Restauración                en bloques           de disco
  Concurrencia
                      D : tiempo        de acceso a disco
Diccionario Datos

 Proc. Consultas

   Integridad

   Seguridad




     Marzo 2012                  Administración de Base de Datos         49
Selección sin índices

     El DBA         • Búsqueda lineal
    El SMBD
                                        TB      A
Manejo de Memoria        Costo
                                           2
  Restauración
                         Si la condición            no es sobre la clave :
  Concurrencia

Diccionario Datos        Costo        TB    A

 Proc. Consultas

   Integridad

   Seguridad




     Marzo 2012               Administración de Base de Datos                50
Selección sin índice

     El DBA         • Busqueda binaria
                      – Si el archivo se ordena según el atributo clave
    El SMBD
                        y la condición es una igualdad.
Manejo de Memoria


  Restauración                           Costo            log 2 (TB A )
  Concurrencia
                      – Si la selección no es de igualdad, o no es sobre
Diccionario Datos       un atribudo clave (y el archivo está ordenado
 Proc. Consultas
                        según éste atributo)

   Integridad
                        Costo         log 2 (TB A )            (TB   f
                                                                           1)
   Seguridad           TB   f
                                : Número de bloques                      que cumplen
                        con la condición               (se calculan         con fs)
     Marzo 2012                  Administración de Base de Datos                       51
Selección con índices

     El DBA

    El SMBD

Manejo de Memoria

                    • Asumimos que los índices son de tipo
  Restauración
                      árbol B+ y la longitud del camino es
  Concurrencia        siempre la altura del árbol.
Diccionario Datos

 Proc. Consultas

   Integridad

   Seguridad




     Marzo 2012              Administración de Base de Datos   52
Selección de igualdad

     El DBA         • Índice primario
                      Se obtiene el número de niveles de índice + 1
    El SMBD

Manejo de Memoria
                    • Índice agrupado

  Restauración                         s
                      cos to                     niveles _ del _ indice
  Concurrencia                        fdb
Diccionario Datos
                      s     fs ( c , R ) nr
                      s : C ardinalid ad de s elec c ión del atributo   de indexac ión
 Proc. Consultas
                    • Índice secundario
   Integridad

   Seguridad
                                cos to      s    niveles _ del _ indice



     Marzo 2012                     Administración de Base de Datos                      53
Selección de comparación

     El DBA         • Índice primario o agrupado
                      – Si la comparación es Att > v o Att ≥ v se
    El SMBD
                        puede obtener el primer valor de v en el
Manejo de Memoria       archivo de datos, de allí se explora hasta el
                        final
  Restauración
                      – Si la comparación Att < v o Att ≤ v no es
  Concurrencia          necesario usar el índice.
Diccionario Datos   • Índice secundario
 Proc. Consultas      – Sólo es necesario hallar el primer apuntador a
                        v y recorrer la lista formada por las hojas para
   Integridad           obtener los apuntadores a los diferentes
   Seguridad            bloques del archivo de datos.


     Marzo 2012               Administración de Base de Datos           54
Selecciones complejas

     El DBA         • Conjuntivas (c1 and c2)
                      - Índices Simples (índices diferentes por cada
    El SMBD
                        atributo)
Manejo de Memoria        - Se verifica si hay un índice sobre alguno de los
                           atributos, se busca sobre éste y se verifica si
  Restauración
                           cumple las demás condiciones
  Concurrencia           - El más económico es el que tiene el fs más bajo
Diccionario Datos        - Si hay un índice por cada atributo, se utilizan los
                           distintos índices, se recuperan los elementos y
 Proc. Consultas
                           luego se interceptan los tres conjuntos
   Integridad
                           obtenidos.

   Seguridad




     Marzo 2012               Administración de Base de Datos                 55
Selecciones Complejas

     El DBA         • Conjuntivas (Cont)
                      •   Índices Compuestos
    El SMBD
                            • Sólo puede utilizarse si cada uno de los atributos
Manejo de Memoria             están en la condición de selección
                            • El tipo de índice determina el uso de algoritmos
  Restauración                de selección simples
  Concurrencia      • Disyuntiva
Diccionario Datos     – Se realiza una búsqueda y se realiza la unión
                        de éstas.
 Proc. Consultas
                      – El hecho de que un sólo atributo no tenga
   Integridad           índice implica una búsqueda lineal de datos.
   Seguridad




     Marzo 2012                 Administración de Base de Datos               56
Operación Proyección

     El DBA         • Con duplicados
    El SMBD
                                                                 B’
Manejo de Memoria

                    For each tupla t in B
  Restauración
                    Guardar en B’ < t.At1, t.At2, …, t.Ati >
                                                                      B
  Concurrencia      End
Diccionario Datos
                    Resultado tabla o relación con registros
                      duplicados
 Proc. Consultas

   Integridad       • Costo = TBB (recorrer la tabla B)
   Seguridad        • Costo de resultado intermedio
                       – TBB’ (guardar la tabla proyectada)

     Marzo 2012                Administración de Base de Datos        57
Operación Proyección

     El DBA         • Sin duplicados
    El SMBD
                    • Basado en ordenamiento
Manejo de Memoria


  Restauración      For each tupla t in B
                    Guardar en B’ < t.At1, t.At2, …, t.Ati >
  Concurrencia
                    End
Diccionario Datos   Ordenar B’ en base a los atributos de proyección
 Proc. Consultas
                    For each tupla t in B’
                    Guardar t en B’’ sii no existe t en B’’
   Integridad
                    End
   Seguridad        Resultado tabla o relación donde los duplicados
                      son eliminados

     Marzo 2012                Administración de Base de Datos         58
Operación Proyección

     El DBA         • Costo de proyección
    El SMBD

Manejo de Memoria
                     TB B        TB B '           TB B ' log( TB B ' )
  Restauración


  Concurrencia                                      Ordenar B’
                    Recorrer B
Diccionario Datos
                                 Generar B’
 Proc. Consultas

   Integridad       • Costo de almacenamiento
   Seguridad
                       TB B ''     Tabla proyectada sin duplicados


     Marzo 2012                   Administración de Base de Datos        59
Operación Proyección

     El DBA         • Basado en HASH
                    Se crea B’
    El SMBD
                    For each tupla tj in B’
Manejo de Memoria
                      Aplicar f(tj) #se contruye una tabla hash
  Restauración
                      en mp
                      si tupla tj en f(ti) / ti = tj
  Concurrencia
                          Descartar ti
Diccionario Datos
                      sino
 Proc. Consultas          Guardar ti en f(ti)
   Integridad         fsi
                      Retornar tuplas en tabla hash
   Seguridad
                    end

     Marzo 2012              Administración de Base de Datos      60
Operación Proyección

     El DBA         • Basado en HASH (costo)
                      – Suponiendo que
    El SMBD

Manejo de Memoria
                     B– se puede almacenar en la tabla hash
  Restauración
                     TB B    TB B '
  Concurrencia
                      Sino
Diccionario Datos

 Proc. Consultas     TB B    3TB B '
   Integridad         Aunque este costo puede ser menor que el de
                        ordenamiento, requiere memoria principal
   Seguridad
                      + Costo de almacenar B’’

     Marzo 2012                 Administración de Base de Datos     61
Operación Join

     El DBA         • El operador Join se puede evaluar de
                      varias maneras distintas
    El SMBD
                      –   Nested loop join
Manejo de Memoria
                      –   Block Nested Loop Join
  Restauración        –   Merge sort join
                      –   Index Join
  Concurrencia
                      –   Hash Join
Diccionario Datos

 Proc. Consultas

   Integridad

   Seguridad




     Marzo 2012                Administración de Base de Datos                62
Nested Loop Join

     El DBA

    El SMBD

Manejo de Memoria


  Restauración


  Concurrencia
                    For each tupla tA in A
Diccionario Datos            For each tupla tB in B
                                      If satisfy (tA, tB, Cond)
 Proc. Consultas                                Return (tA. tB)
                                      End
   Integridad
                             End
                    End
   Seguridad
                                                                   RA = cantidad de
                      Costo = TBA + RA*TBB                         registro de A

     Marzo 2012                  Administración de Base de Datos                      63
Block Nested Loop Join

     El DBA

    El SMBD

Manejo de Memoria


  Restauración


  Concurrencia
                             A                                          B
Diccionario Datos   Este algorito se puede mejorar si se aprovechan los
                    bloques de memoria disponibles
 Proc. Consultas
                    Si se carga A por bloques el costo seria
   Integridad           Costo = TBA + TBA*TBB
   Seguridad
                    Si se tienen T bloques disponibles se dejan dos para
                    entrada/salida
                                                    TB A
                          Costo      TB A                   *TB     B
                                                    T- 2
     Marzo 2012                   Administración de Base de Datos           64
Sort-Merge Join

     El DBA

    El SMBD

Manejo de Memoria


  Restauración


  Concurrencia
                            A                                      B
Diccionario Datos   Si ambas tablas están ordenadas sobre los atributos
                    del Join, el costo es el menor
 Proc. Consultas
                    Costo = TBA + TBB
   Integridad       Si no hay que agregar el costo de ordenación
   Seguridad        Costo = TBA Log(TBA )+ TBB Log(TBB ) +TBA +TBB



     Marzo 2012                  Administración de Base de Datos           65
Index Join

     El DBA

    El SMBD

Manejo de Memoria


  Restauración


  Concurrencia
                             A                                      B
Diccionario Datos   Se usa si la tabla de la derecha tiene un índice sobre el
                    atributo del Join, el costo es el de leer A y buscar cada
 Proc. Consultas    registro de A por el índice
   Integridad
                    Costo = TB(A) + CostoBuscar*Ra
   Seguridad
                    El costo de buscar depende del indice (ver operador
                    select)

     Marzo 2012                   Administración de Base de Datos               66
Hash Join

     El DBA         • Se dividen las tuplas de cada relación
                      utilizando una función hash tal que:
    El SMBD
                     ta   A, tb   B / part ( A , t a )      part ( B , t b ) i .e . h ( t a )   h (tb )
Manejo de Memoria


  Restauración


  Concurrencia

Diccionario Datos

 Proc. Consultas

   Integridad

   Seguridad




     Marzo 2012                   Administración de Base de Datos                                         67
Hash Join

     El DBA
                    • h es una función que asigna a los atributos de join
    El SMBD           los valores {0,1,..,n-1}
Manejo de Memoria   • Ha0 .. Ha(n-1) denota las particiones de A
                      inicialmente vacías. Se colocan las tuplas en Hai
  Restauración
                      con i = h(ta[atributos join])
  Concurrencia      • Hb0 .. Hb(n-1) denota las particiones de B
                      inicialmente vacías. Se colocan las tuplas en Hbi
Diccionario Datos
                      con i = h(tb[atributos join])
 Proc. Consultas
                    • Al aplicar la misma función para ambos
   Integridad         particionamientos, cada tupla de A y B que tengan
                      resultados iguales de la función de asociación,
   Seguridad
                      estarán en la misma partición


     Marzo 2012                Administración de Base de Datos           68
Hash Join

     El DBA

    El SMBD

Manejo de Memoria


  Restauración


  Concurrencia

Diccionario Datos

 Proc. Consultas

   Integridad

   Seguridad




     Marzo 2012     Administración de Base de Datos           69
Video Join

     El DBA         • Videos
                      – Video 1
    El SMBD
                      – Video 2
Manejo de Memoria


  Restauración


  Concurrencia

Diccionario Datos

 Proc. Consultas

   Integridad

   Seguridad




     Marzo 2012                Administración de Base de Datos            70
Calcular el costo de un árbol
                                               de ejecución

     El DBA         • Una vez que el árbol este optimizado
                      – Se cambian los operadores lógicos por físicos
    El SMBD
                        p.e join por index join
Manejo de Memoria
                      – Si hay mas de un operador posible se debe
  Restauración
                        verificar el menos costoso
                      – Se calculan los costos de las operaciones por
  Concurrencia          nodo, y el costo de almacenar resultados
Diccionario Datos       intermedios
                      – Se suman los costos de todos los nodos
 Proc. Consultas

   Integridad

   Seguridad




     Marzo 2012               Administración de Base de Datos           71
Ejercicio
                    Jugador (DI, Nombre, Apellidos,               Juegos(CodEq1, CodEq2, Temporada,
                    FechaNac, Direccion)                          Fecha, Resultado, CodEquipoGana)
     El DBA         DI: 9 bytes                                   CodEq1: 4 bytes
                    Nombre: 40 bytes                              CodEq2: 4 bytes
    El SMBD         Apellidos: 40 bytes                           Temporada: 4 bytes, min : 1902, máximo
                    FechaNac: 8 bytes                             2011, valores diferentes, 110
Manejo de Memoria   Direccion: 50 bytes                           Fecha: 8 bytes (162 valores distintos)
                                                                  Resultado: 8 bytes
  Restauración      Num registros: 250.000                        CodEquipoGana: 4 bytes (INDICE)

                    Equipo( CodEq, NombreEq, FechaFund,           Num registros: 18.000
  Concurrencia
                    Ciudad, Liga, Estadio)
                    CodEq: 4 bytes                                Juega (DIJugador, CodEq, FechaIni,
Diccionario Datos
                    NombreEq: 40 bytes                            FechaFin, Posicion)
                    FechaFund: 8 bytes                            DIJugador: 9 bytes
 Proc. Consultas
                    Liga: 2 bytes (Nacional =0, Americana=1)      CodEq: 4 bytes
                    Estadio: 50 bytes                             FechaIni: 8 bytes (un promedio de 20 jug
   Integridad                                                     por año)
                    Num registros: 30                             FechaFin: 10 bytes
   Seguridad                                                      Posición: 20 bytes (9 valores distintos)

                                                                  Num registros: 875.000

     Marzo 2012                         Administración de Base de Datos                                    72
El DBA         • Consulta: Nombre, apellido y equipo de
                      los jugadores que han participado en la
    El SMBD
                      temporada 2009 en juegos ganados, y
Manejo de Memoria
                      que han jugado en primera base.
  Restauración        – Dé el árbol canónico para q.
                      – Dé el árbol optimizado heurísticamente.
  Concurrencia

Diccionario Datos

 Proc. Consultas

   Integridad

   Seguridad




     Marzo 2012               Administración de Base de Datos     73
El DBA         • Suponga que el SMBD se caracteriza por
                      – Disponer de 20 bloques de memoria principal
    El SMBD
                        para las operaciones AR
Manejo de Memoria
                      – Cada bloque ocupa 1024 bytes
  Restauración        – Disponer de los operadores físicos vistos en
                        clase
  Concurrencia
                      – Materializar los resultados intermedios. Asuma
Diccionario Datos       registros fijos extensibles para las tablas
                        intermedias y no extensibles para las relaciones
 Proc. Consultas
                        base
   Integridad         – Indices primarios para las claves primarias,
   Seguridad            todos tienen 4 de altura


     Marzo 2012               Administración de Base de Datos         74
Ejemplo de plan de ejecución
                                                Caso Oracle

     El DBA

    El SMBD
                    SELECT e.employee_id, e.last_name, e.salary,
Manejo de Memoria          d.department_name, l.city
                    FROM employees e, departments d, locations l
  Restauración      WHERE e.department_id = d.department_id
                           AND d.location_id = l.location_id
  Concurrencia             AND l.city = 'Oxford'
Diccionario Datos          AND e.salary > 10500 AND e.last_name LIKE '%e%';

 Proc. Consultas

   Integridad

   Seguridad




     Marzo 2012                 Administración de Base de Datos         75
El DBA

    El SMBD

Manejo de Memoria


  Restauración


  Concurrencia

Diccionario Datos

 Proc. Consultas

   Integridad

   Seguridad




     Marzo 2012     Administración de Base de Datos   76

Más contenido relacionado

PDF
Funciones y Componente de un Sistema de Gestión de Base de Datos
PPTX
Bases de datos deductivas
PDF
Elicitación de requerimientos
PDF
Inferencia en Lógica de Primer Orden
PPT
Algebra relacional i-bdi
PDF
Query optimization in SQL
POTX
DOCX
Caso de uso de biblioteca
Funciones y Componente de un Sistema de Gestión de Base de Datos
Bases de datos deductivas
Elicitación de requerimientos
Inferencia en Lógica de Primer Orden
Algebra relacional i-bdi
Query optimization in SQL
Caso de uso de biblioteca

La actualidad más candente (20)

PPTX
Query processing and Query Optimization
PPTX
3.2 manejadores de bases de datos
PPTX
Query processing and Query Optimization
PPTX
Las clases P NP y NP completo
PPTX
Chapter-5 The Relational Data Model
PPTX
Arquitectura de Bases de Datos Oracle
PPT
Modelo Relacional
PPTX
Funciones de un administrador de base de datos
PPT
6. Integrity and Security in DBMS
PPTX
Bd nosql clave valor
PPT
Fundamentals of Database ppt ch03
PDF
Algebra Relacional
PDF
Alfabetos-Lenguajes y Automatas 1
PPTX
Componentes de sgbd
PDF
Diseño de diagrama de transición de estados.
PDF
Trabajo Casos de Uso
PDF
Normalizacion de base de datos
PPTX
data warehouse , data mart, etl
PPT
Chapter12 designing databases
PPTX
Archivo secuencial indexado
Query processing and Query Optimization
3.2 manejadores de bases de datos
Query processing and Query Optimization
Las clases P NP y NP completo
Chapter-5 The Relational Data Model
Arquitectura de Bases de Datos Oracle
Modelo Relacional
Funciones de un administrador de base de datos
6. Integrity and Security in DBMS
Bd nosql clave valor
Fundamentals of Database ppt ch03
Algebra Relacional
Alfabetos-Lenguajes y Automatas 1
Componentes de sgbd
Diseño de diagrama de transición de estados.
Trabajo Casos de Uso
Normalizacion de base de datos
data warehouse , data mart, etl
Chapter12 designing databases
Archivo secuencial indexado
Publicidad

Similar a Abd procesamiento consultas (20)

PPTX
PPT
Abd procesamiento consultas (parte1)
PPT
Abd procesamiento consultas (parte2)
PDF
Bases de Datos
PDF
Novedades sql server 2008 para administradores
PPTX
PPTX
Abd tema1 parteii
PPTX
Basededatosicompleto 091122141836-phpapp02
PDF
Clase 1 - Introducción a Bases de Datos
DOCX
Actividad 2 introduccion a los sistemas de base de datos
PPT
Mejores practicas en_diseno_de_directorio_activo_en_windows_server_2003
PPT
Conceptos basicos(base de datos)
PPT
Diseño de un Datamart
PDF
Cuadro Comparativo
PPT
Bases de Datos
PDF
Datawarehouse
PPT
Tm06 diseño bd
PPTX
SQL Denali Microsoft BI Raona
Abd procesamiento consultas (parte1)
Abd procesamiento consultas (parte2)
Bases de Datos
Novedades sql server 2008 para administradores
Abd tema1 parteii
Basededatosicompleto 091122141836-phpapp02
Clase 1 - Introducción a Bases de Datos
Actividad 2 introduccion a los sistemas de base de datos
Mejores practicas en_diseno_de_directorio_activo_en_windows_server_2003
Conceptos basicos(base de datos)
Diseño de un Datamart
Cuadro Comparativo
Bases de Datos
Datawarehouse
Tm06 diseño bd
SQL Denali Microsoft BI Raona
Publicidad

Más de Escuela de Computación UCV (18)

PPT
Recuperacion ABD UCV
PPT
Concurrencia 2 ABD UCV
PPT
Concurrencia 1 ABD UCV
PPT
Integridad de datos
PPT
Seguridad datos i
PPT
Seguridad datos ii vii
PPT
Abd manejo memoria III
PPT
Abd manejo memoria II
PPT
Abd manejo memoria Parte I
PPTX
Bd no sq ldocumento
PPTX
Bd nosql tecnicas III
PPTX
Bd no sql tecnicas2
PPTX
Bd no sql tecnicas
PPTX
PPTX
Bd no sql conceptos basicos
PPTX
Abd procesamiento consultas (parte 3)
PPTX
Recuperacion ABD UCV
Concurrencia 2 ABD UCV
Concurrencia 1 ABD UCV
Integridad de datos
Seguridad datos i
Seguridad datos ii vii
Abd manejo memoria III
Abd manejo memoria II
Abd manejo memoria Parte I
Bd no sq ldocumento
Bd nosql tecnicas III
Bd no sql tecnicas2
Bd no sql tecnicas
Bd no sql conceptos basicos
Abd procesamiento consultas (parte 3)

Último (20)

PDF
La Evaluacion Formativa en Nuevos Escenarios de Aprendizaje UGEL03 Ccesa007.pdf
PDF
5°-UNIDAD 5 - 2025.pdf aprendizaje 5tooo
DOCX
V UNIDAD - PRIMER GRADO. del mes de agosto
PDF
Escuelas Desarmando una mirada subjetiva a la educación
DOCX
PLAN DE CASTELLANO 2021 actualizado a la normativa
PDF
Unidad de Aprendizaje 5 de Matematica 1ro Secundaria Ccesa007.pdf
PDF
TOMO II - LITERATURA.pd plusenmas ultras
PDF
Atencion prenatal. Ginecologia y obsetricia
PDF
ACERTIJO Súper Círculo y la clave contra el Malvado Señor de las Formas. Por ...
PPTX
Presentación de la Cetoacidosis diabetica.pptx
PDF
Metodologías Activas con herramientas IAG
PDF
Crear o Morir - Andres Oppenheimer Ccesa007.pdf
PDF
Habitos de Ricos - Juan Diego Gomez Ccesa007.pdf
PDF
Guia de Tesis y Proyectos de Investigacion FS4 Ccesa007.pdf
PDF
2.0 Introduccion a processing, y como obtenerlo
PDF
1. Intrdoduccion y criterios de seleccion de Farm 2024.pdf
PDF
Gasista de unidades unifuncionales - pagina 23 en adelante.pdf
PDF
el - LIBRO-PACTO-EDUCATIVO-GLOBAL-OIEC.pdf
PDF
SESION 12 INMUNIZACIONES - CADENA DE FRÍO- SALUD FAMILIAR - PUEBLOS INDIGENAS...
PPTX
caso clínico iam clinica y semiología l3.pptx
La Evaluacion Formativa en Nuevos Escenarios de Aprendizaje UGEL03 Ccesa007.pdf
5°-UNIDAD 5 - 2025.pdf aprendizaje 5tooo
V UNIDAD - PRIMER GRADO. del mes de agosto
Escuelas Desarmando una mirada subjetiva a la educación
PLAN DE CASTELLANO 2021 actualizado a la normativa
Unidad de Aprendizaje 5 de Matematica 1ro Secundaria Ccesa007.pdf
TOMO II - LITERATURA.pd plusenmas ultras
Atencion prenatal. Ginecologia y obsetricia
ACERTIJO Súper Círculo y la clave contra el Malvado Señor de las Formas. Por ...
Presentación de la Cetoacidosis diabetica.pptx
Metodologías Activas con herramientas IAG
Crear o Morir - Andres Oppenheimer Ccesa007.pdf
Habitos de Ricos - Juan Diego Gomez Ccesa007.pdf
Guia de Tesis y Proyectos de Investigacion FS4 Ccesa007.pdf
2.0 Introduccion a processing, y como obtenerlo
1. Intrdoduccion y criterios de seleccion de Farm 2024.pdf
Gasista de unidades unifuncionales - pagina 23 en adelante.pdf
el - LIBRO-PACTO-EDUCATIVO-GLOBAL-OIEC.pdf
SESION 12 INMUNIZACIONES - CADENA DE FRÍO- SALUD FAMILIAR - PUEBLOS INDIGENAS...
caso clínico iam clinica y semiología l3.pptx

Abd procesamiento consultas

  • 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. Contenido El DBA • Cómo se procesa una consulta El SMBD • Traducir una consulta de SQL a AR – Repaso Algebra Relacional Manejo de Memoria • Árbol de ejecución Restauración – Árbol de ejecución lógico Concurrencia Concurrencia – Árbol de ejecución lineal izquierdo Diccionario Datos – Árbol canónico Proc. Consultas – Axiomas del Algebra relacional Integridad • Técnicas para optimizar consultas – Basada en heurísticas Seguridad – Basada en costos. Marzo 2012 Administración de Base de Datos 2
  • 3. Contenido El DBA • Modelo de costos – Factor de selectividad El SMBD – Costo de los operadores del Algebra Relacional Manejo de Memoria • Select Restauración • Project. • Join Concurrencia Concurrencia • Order Diccionario Datos • Árbol de ejecución físico Proc. Consultas – Evaluar el árbol de ejecución físico. • Materialización Integridad • Encausamiento Seguridad Marzo 2012 Administración de Base de Datos 3
  • 4. Cómo procesar una consulta El DBA El SMBD Manejo de Memoria SELECT Cuenta, Saldo Procesamiento FROM Cuenta WHERE Saldo >40.000 de consulta Restauración Concurrencia Diccionario Datos Proc. Consultas Consultas Integridad Seguridad Marzo 2012 Administración de Base de Datos 4
  • 5. Cómo procesar una consulta ρCond (R1) El DBA Consulta Analizador Expresión El SMBD de alto y en Algebra nivel traductor Relacional Manejo de Memoria Restauración Select * From R1 Optimi- Where Cond Diccionario de datos zador Concurrencia Estadísticas de Diccionario Datos los datos Resultado Proc. Consultas Consultas de la Motor de Plan de evaluación ejecución consulta Integridad Búsqueda A1 A2 A3 binaria Seguridad xx yy zz xy yy xz Base de datos Silberschatz, Korth, & Sudarshan, 2006 Marzo 2012 Administración de Base de Datos 5
  • 6. Análisis El DBA Consulta Analizador El SMBD de alto y nivel traductor Manejo de Memoria Restauración Diccionario de datos Concurrencia • Análisis léxico: Identifica los elementos del lenguaje como por ejemplo, las palabras reservadas de SQL, si están bien Diccionario Datos formados los nombres de los atributos y relaciones en el texto Proc. Consultas de la consulta. Consultas • Análisis sintáctico: Comprueba la sintaxis de la consulta de Integridad acuerdo a las reglas sintácticas del lenguaje de consulta. Seguridad • Validación: Comprueba que los nombres de las relaciones, atributos sean válidos semánticamente dentro del esquema de la base de datos sobre la cual se realiza la consulta y si los tipos de datos se están usando correctamente. Marzo 2012 Administración de Base de Datos 6
  • 7. Procesamiento de consulta El DBA Consulta Analizador Expresión El SMBD de alto y en Algebra nivel traductor Relacional Manejo de Memoria Restauración Diccionario de datos Concurrencia Diccionario Datos Proc. Consultas Consultas • Traductor: Crea una representación interna de la consulta, mediante una estructura de árbol llamado árbol de consulta, Integridad el cual está basado en el álgebra relacional extendido Seguridad Marzo 2012 Administración de Base de Datos 7
  • 8. Procesamiento de consulta El DBA Expresión en Algebra Optimi- zador El SMBD Relacional Estadísticas de Manejo de Memoria los datos Resultado Motor de Plan de Restauración de la evaluación ejecución consulta Concurrencia Base de datos Diccionario Datos Proc. Consultas Consultas • Optimización: desarrolla una estrategia de ejecución para obtener el resultado de la consulta, evaluando cientos de Integridad estrategias distintas basadas en el álgebra relacional, y sus operadores físicos, escogiendo alguna de las estrategias Seguridad menos costosa (plan de ejecución) • Motor de ejecución: recibe el plan de evaluación, lo ejecuta y devuelve la respuesta de la consulta. Marzo 2012 Administración de Base de Datos 8
  • 9. Algebra Relacional Select <lista de atributos> El DBA Lenguaje de consulta From <lista de tablas> de alto nivel El SMBD Where <condiciones> Manejo de Memoria Restauración Operadores del Algebra Relacional Concurrencia • Proyección Unarios • Selección Lenguaje de consulta Diccionario Datos • Ordenación de bajo nivel Proc. Consultas Consultas • Unión • Intersección Integridad Binarios • Producto cartesiano • Reunión Natural Seguridad • Resta • División Marzo 2012 Administración de Base de Datos 9
  • 10. Algebra Relacional • PROYECCION El DBA – Define una vista que contiene un subconjunto vertical de R, El SMBD extrayendo los valores de los atributos especificados y eliminando los duplicados. Manejo de Memoria – Ejm: T 1 ( Empleado ) CI , Sueldo Restauración Concurrencia Select <lista de atributos> CI Nombre Sueldo 123 Andrea Rojas 1500 Diccionario Datos From <lista de tablas> 234 Humberto 2400 Proc. Consultas Where <condiciones> Perez Consultas 254 Camilo Diaz 1600 Integridad Seguridad Marzo 2012 Administración de Base de Datos 10
  • 11. Algebra Relacional • SELECCIÓN El DBA – Define una vista que contiene todas las tuplas de R que El SMBD satisfacen la condición especificada. – Ejm: Manejo de Memoria T1 ( Empleado ) Sueldo 1500 Restauración Select <lista de atributos> Concurrencia CI Nombre Sueldo From <lista de tablas> 123 Andrea Rojas 1500 Diccionario Datos Where <condiciones> 234 Humberto 2400 Proc. Consultas Consultas Perez 254 Camilo Diaz 1600 Integridad Seguridad Marzo 2012 Administración de Base de Datos 11
  • 12. Algebra Relacional • PRODUCTO CARTESIANO El DBA – Define una relación que es la concatenación de cada tupla El SMBD de la relación R con cada tupla de la relación S. – RXS Manejo de Memoria CI CodB CodB Desc Restauración 123 1 1 Malta Select <lista de atributos> 234 1 2 7 up Concurrencia From <lista de tablas> 254 2R.CodB Diccionario Datos R.CI S.CodB Desc Where <condiciones> 123 1 1 Malta Proc. Consultas Consultas 234 1 1 Malta Integridad 254 2 1 Malta Seguridad 123 1 2 7 up 234 1 2 7 up 254 2 2 7 up Marzo 2012 Administración de Base de Datos 12
  • 13. Algebra Relacional • REUNION NATURAL (JOIN) El DBA – Es una combinación entre dos relaciones donde se verifica El SMBD la condición de igualdad sobre los atributos comunes entre ambas relaciones. Del resultado se elimina una de las dos Manejo de Memoria apariciones de cada atributo Restauración CI CodB CodB Desc 123 1 1 Malta Concurrencia Select <lista de atributos> 234 1 2 7 up Diccionario Datos R.CI R.CodB S.CodB Desc From <lista de tablas> 254 2 123 1 1 Malta Proc. Consultas Consultas Where <condiciones> and 234 1 1 Malta Integridad T1.a1=t2.a1 and …. 254 2 1 Malta Seguridad 123 1 2 7 up 234 1 2 7 up 254 2 2 7 up Marzo 2012 Administración de Base de Datos 13
  • 14. Algebra Relacional • REUNION NATURAL (JOIN) El DBA – Es una combinación entre dos relaciones donde se verifica El SMBD la condición de igualdad sobre los atributos comunes entre ambas relaciones. Del resultado se elimina una de las dos Manejo de Memoria apariciones de cada atributo Restauración CI CodB CodB Desc 123 1 1 Malta Concurrencia Select <lista de atributos> 234 1 2 7 up Diccionario Datos From <lista de tablas> 254 2 Proc. Consultas Consultas Where <condiciones> and CI CodB Desc Integridad T1.a1=t2.a1 and …. 123 1 Malta Seguridad 234 1 Malta 254 2 7 up Marzo 2012 Administración de Base de Datos 14
  • 15. Árbol de ejecución • Representa una consulta en algebra El DBA relacional El SMBD • Es un árbol de orden 2 Manejo de Memoria – Cada nodo interno representa una tabla vista o resultado intermedio producido por una operación Restauración – Cada hoja representa una tabla base Concurrencia Case Base Case Inductivo Diccionario Datos , , Op Proc. Consultas T Op Consultas  , X ,- O Integridad Seguridad P1 y P2 sub arboles P1 P1 P2 Op operador AR Marzo 2012 Administración de Base de Datos 15
  • 16. Árbol de ejecución • Ejemplo El DBA Π Apellido1, Nombre, Sueldo (σ Sueldo > c (Empleado El SMBD Departamento)) Manejo de Memoria Π Apellido1, Nombre, Sueldo Restauración T1 <-(Empleado Departamento) Concurrencia σ Sueldo > c T2 <- σ Sueldo > c (T1) Diccionario Datos Tr <- Π Apellido1, Nombre, Sueldo (T2) Proc. Consultas Consultas Integridad Seguridad Departa Empleado mento Marzo 2012 Administración de Base de Datos 16
  • 17. Árbol lineal izquierdo • Es un árbol de ejecución donde en cada nodo El DBA binario el hijo derecho es una tabla El SMBD Manejo de Memoria • Arbol canónico: Es un árbol lineal izquierdo donde cada nodo binario corresponde a un Restauración producto cartesiano, la selección es sobre toda la Concurrencia condición y la proyección sobre todos los atributos Diccionario Datos SELECT <Lista Atributos> Proc. Consultas FROM T1, T2, … Tn Consultas WHERE <Condición> Integridad Nota: es el mas rápido de Seguridad construir pero el más costoso Marzo 2012 Administración de Base de Datos
  • 18. Árbol lineal izquierdo Ejercicios El DBA Construya el árbol canónico de las sig. consultas El SMBD SELECT CI, Nombre, CodMateria Manejo de Memoria FROM Estudiante E, inscripcion I WHERE I.CodM = ‘6311’ and semestre=‘2-2011’ and E.CI = Restauración I.CI Concurrencia SELECT E.CI, E.Nombre, M.Nombre, I.semestre Diccionario Datos FROM Estudiante E, Inscripcion I, Materia M Proc. Consultas WHERE I.CodM = ‘6311’ and I.semestre=‘2-2011’ and E.CI = Consultas I.CI and M.CodM = I.CodM Integridad Seguridad Marzo 2012 Administración de Base de Datos
  • 19. Árbol lineal izquierdo Próxima clase El DBA • Transformación del árbol canónico (Axiomas del El SMBD Algebra Relacional) Manejo de Memoria • Técnicas de optimización Restauración • Factor de Selectividad Concurrencia • Costos de los operadores Diccionario Datos Proc. Consultas Consultas Integridad Seguridad Marzo 2012 Administración de Base de Datos
  • 20. Axiomas del Algebra Relacional 1. Cascada de selecciones El DBA El SMBD c 1 and c 2 and...and cn (R) c1 ( c2 (... cn ( R )...)) Manejo de Memoria Donde c1, c2, … cn son condiciones booleanas Restauración Concurrencia Diccionario Datos Proc. Consultas Consultas Integridad Seguridad Marzo 2012 Administración de Base de Datos
  • 21. Axiomas del Algebra Relacional 2. Conmutatividad de la selección El DBA El SMBD Manejo de Memoria c1 ( c2 ( R )) c2 ( c1 ( R )) Restauración Concurrencia Diccionario Datos Proc. Consultas Consultas Integridad Seguridad Marzo 2012 Administración de Base de Datos
  • 22. Axiomas del Algebra Relacional 3. Cascada de proyecciones 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
  • 23. Axiomas del Algebra Relacional 4. Distributividad de la proyección y la selecció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
  • 24. Axiomas del Algebra Relacional 5. Conmutatividad del Join y del Producto cartesiano 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
  • 25. Axiomas del Algebra Relacional 6. Distributividad de la selección con respecto al Join El DBA y al Producto cartesiano El SMBD Manejo de Memoria Restauración Concurrencia Este axioma permite empujar las selecciones hacia abajo en el arbol. Diccionario Datos Proc. Consultas Consultas Integridad Seguridad Marzo 2012 Administración de Base de Datos
  • 26. Axiomas del Algebra Relacional 7. Distributividad de la proyección con respecto al El DBA Join y al Producto cartesiano El SMBD Manejo de Memoria Restauración Concurrencia Diccionario Datos Este axioma permite empujar las proyecciones hacia abajo en el arbol. Proc. Consultas Consultas Integridad Seguridad Marzo 2012 Administración de Base de Datos
  • 27. Axiomas del Algebra Relacional 7. Distributividad de la proyección con respecto al El DBA Join y al Producto cartesiano El SMBD Manejo de Memoria Restauración Concurrencia Diccionario Datos Este axioma permite empujar las proyecciones hacia abajo en el arbol. Proc. Consultas Consultas Integridad Seguridad Marzo 2012 Administración de Base de Datos
  • 28. Axiomas del Algebra Relacional 8. Conmutatividad de la unión y la intersección El DBA 9. Asociatividad de la union, la intersección, y el El SMBD producto cartesiano Manejo de Memoria Restauración Concurrencia 10. Distributividad de la selección con respecto a la Diccionario Datos Unión y la Intersección Proc. Consultas Consultas 11. Distributividad de la proyección con respecto a la Unión y la Intersección Integridad Seguridad Marzo 2012 Administración de Base de Datos
  • 29. Axiomas del Algebra Relacional 12. Conversión del Producto Cartesiano en Join El DBA El SMBD Manejo de Memoria Restauración Si cond es una igualdad de atributos de R1 y R2 Concurrencia Diccionario Datos Proc. Consultas Consultas Integridad Seguridad Marzo 2012 Administración de Base de Datos
  • 30. Técnicas de optimización El DBA Heurísticas El SMBD • Se refiere a las mejores prácticas Manejo de Memoria • Viene de la experiencia de los expertos Restauración Costo Concurrencia Diccionario Datos • Transforma el árbol de ejecución usando diferentes técnicas (n transformaciones) Proc. Consultas Consultas • Estima los costos de cada Integridad transformación y se queda con la que tiene costo mínimo Seguridad Marzo 2012 Administración de Base de Datos
  • 31. Técnicas de control de concurrencia El DBA • Heurísticas – Se construye el árbol canónico El SMBD – Se transforma usando los axiomas del AR en el Manejo de Memoria siguiente orden Restauración 1. Aplicar el axioma o regla 1 2. Aplicar axiomas 2, 4, 6 y 10, para desplazar cada Concurrencia operación SELECT hacia abajo en el árbol de ejecución. Diccionario Datos 3. Aplicar axiomas 5 y 9, para reordenar los nodos hoja Proc. Consultas utilizando el siguiente criterio: a) Posicionar las relaciones con los SELECT más Integridad restrictivos de forma que sean ejecutadas en primer Seguridad lugar. Marzo 2012 Administración de Base de Datos 31
  • 32. Técnicas de control de concurrencia El DBA • Heurísticas (continuación) El SMBD 3. Aplicar axiomas 5 y 9, para reordenar los nodos Manejo de Memoria hoja utilizando el siguiente criterio: b) Verificar que las ordenaciones no produzcan productos Restauración cartesianos que no puedan convertirse en JOIN Concurrencia 4. Aplicar axioma 12, para combinar los SELECT con los PRODUCTOS CARTESIANOS, para formar una Diccionario Datos operación de JOIN Proc. Consultas 5. Aplicar axiomas 3, 4, 7, 11 para bajar en el árbol las operaciones PROJECT lo más que se pueda. Integridad Seguridad Marzo 2012 Administración de Base de Datos 32
  • 33. Técnicas de control de concurrencia El DBA • Ejercicio – Seleccionar los estudiantes que pasaron El SMBD Administración de base de datos en el semestre Manejo de Memoria 2-2009 Restauración Select Nombre Concurrencia From Estudiante E, Cursar C, Materia M Where E.CI = C.CI and Nota >=10, and Diccionario Datos M.Cod_Mat =C.Cod_Mat and M.Nombre = Proc. Consultas ‘Administración de base de datos’ and semester_cursa = ’2-2009’ Integridad Seguridad Marzo 2012 Administración de Base de Datos 33
  • 34. Factor de selectividad El DBA • Una vez que se ha construido el árbol de ejecución lógico se debe construir el físico El SMBD Manejo de Memoria • Es una técnica de estimación del tamaño de los resultados intermedios o vistas Restauración (cantidad de registros), por medio de una Concurrencia función de probabilidad Diccionario Datos • Se asume independencia y Proc. Consultas uniformidad en los valores de los atributos Integridad • Se aplica para las selecciones y los join Seguridad Marzo 2012 Administración de Base de Datos 34
  • 35. Factor de selectividad El DBA • Uniformidad – Es igualmente probable que una tupla Ti tenga El SMBD un valor C en el atributo Aj. Manejo de Memoria Se lee la Restauración probabilidad de – Los valores de Aj están distribuidos que las tuplas Concurrencia de Ti cumpla la uniformemente entre las tuplas. condición Ai= c Diccionario Datos • Independencia Proc. Consultas – Al ejecutarse la siguiente consulta Integridad se asume que la satisfacibilidad de que la condición cond1 es independiente a la Seguridad satisfacibilidad de la condición cond2. Marzo 2012 Administración de Base de Datos 35
  • 36. Factor de selectividad El DBA • Casos Base Los que cumplen la condición El SMBD Valores Manejo de Memoria totales Restauración Concurrencia Diccionario Datos Proc. Consultas Integridad Seguridad Marzo 2012 Administración de Base de Datos 36
  • 37. El DBA • Casos base – Factor de selectividad del Join El SMBD Manejo de Memoria Restauración Concurrencia Diccionario Datos Proc. Consultas Integridad Seguridad Marzo 2012 Administración de Base de Datos 37
  • 38. Ejemplo del uso del fs El DBA • Ejemplo – ¿Cuál es el factor de selectividad la condición El SMBD sexo = ‘F’ en la tabla empleado? Manejo de Memoria 1 fs ( Sexo ' F ' , Empleado ) 0 ,5 Restauración 2 – Si la tabla empleados contiene 300.000 Concurrencia registros ¿cuántos registros tiene la siguiente Diccionario Datos vista? Proc. Consultas T1 ( Empleado ) Sexo 'F ' Integridad T1 Empleado fs ( Sexo ' F ' , Empleado ) Seguridad T1 300 . 000 0 ,5 150 . 000 Marzo 2012 Administración de Base de Datos 38
  • 39. Costo de un Árbol de ejecución El DBA • Próxima clase – Costo de los Operadores físicos El SMBD • Join Manejo de Memoria • Order by Restauración • Project • Select Concurrencia Diccionario Datos – Evaluar el árbol de ejecución físico. Proc. Consultas • Materialización • Encausamiento Integridad Seguridad Marzo 2012 Administración de Base de Datos 39
  • 40. Clase de hoy – Modelo de costo El DBA – Costo de los operadores del Algebra Relacional El SMBD • Select Manejo de Memoria • Project. • Order By Restauración Concurrencia Diccionario Datos Proc. Consultas Integridad Seguridad Marzo 2012 Administración de Base de Datos 40
  • 41. Modelo de Costos El DBA • Es una herramienta estadística formal para evaluar el costo de un plan físico de El SMBD ejecución. Manejo de Memoria • Se mide en función del tiempo y puede Restauración expresarse en términos de: Concurrencia – Accesos a disco Diccionario Datos – Tiempo del CPU – Costo de comunicación (Sist. Dist) Proc. Consultas – Tiempo de respuesta para un plan de Integridad evaluación de una consulta. Seguridad Marzo 2012 Administración de Base de Datos 41
  • 42. Modelo de Costo El DBA El SMBD Manejo de Memoria ¿Cuál es el costo más importante en las Restauración bases de datos centralizadas? Concurrencia Acceso a disco Diccionario Datos Proc. Consultas Integridad Seguridad Marzo 2012 Administración de Base de Datos 42
  • 43. El DBA • Para calcular el costo de acceso a disco necesitamos. El SMBD – Tamaño a cada archivo de datos y vistas Manejo de Memoria • Número de registros • Tamaño de los atributos y los registros Restauración • Tamaño de los bloques Concurrencia – Factor de selectividad • Número de valores distintos, Diccionario Datos • mínimo y máximo de los atributos de búsqueda, Proc. Consultas – Métodos de acceso (organización del archivo) – Índices del archivo Integridad • números de niveles (altura) Seguridad • Tipo (primario, secundario, agrupado) Marzo 2012 Administración de Base de Datos 43
  • 44. Cálculo del espacio en disco requerido por una relación El DBA 1. Registros de longitud fija y no extensible N: el número de registro del archivo A El SMBD Ra: el tamaño en bytes de cada registro Manejo de Memoria B: Tamaño en bytes de cada bloque Restauración Concurrencia B NumBloques ( A) N fdb fdb Diccionario Datos Ra Proc. Consultas Integridad Se usa para las tablas base Seguridad Marzo 2012 Administración de Base de Datos 44
  • 45. Estimación de costos El DBA 2. Extensibles / Tamaño Fijo El SMBD N Ra Manejo de Memoria NumBloques ( A) B Restauración Concurrencia Se usa para las tablas vista o resultados Diccionario Datos intermedios Proc. Consultas Integridad Seguridad Marzo 2012 Administración de Base de Datos 45
  • 46. Estimación de Costos El DBA 4. Tamaño variable El SMBD se usan las mismas fórmulas pero se Manejo de Memoria calcula un promedio de tamaño del registro Restauración Concurrencia RA tamaño promedio de un registro A, Diccionario Datos con técnic as de muestreo. Proc. Consultas Integridad Seguridad Marzo 2012 Administración de Base de Datos 46
  • 47. Costo de operadores físicos El DBA • Selección El SMBD • Ordenamiento Manejo de Memoria • Proyección • Reunión Restauración Concurrencia Diccionario Datos Proc. Consultas Integridad Seguridad Marzo 2012 Administración de Base de Datos 47
  • 48. Estimación de costos en operaciones físicas: Selección El DBA • Operación Selección El SMBD condicion (R) Manejo de Memoria – Selección sin índices Restauración – Selección con índices Concurrencia – Selección de igualdad Diccionario Datos – Selección de comparación Proc. Consultas – Selecciones complejas (Conjuntivas o Disyuntivas) Integridad Seguridad Marzo 2012 Administración de Base de Datos 48
  • 49. Selección sin índices El DBA • Considere una operación selección sobre un archivo A y: El SMBD Manejo de Memoria TB A : tamaño que ocupa la relación A Restauración en bloques de disco Concurrencia D : tiempo de acceso a disco Diccionario Datos Proc. Consultas Integridad Seguridad Marzo 2012 Administración de Base de Datos 49
  • 50. Selección sin índices El DBA • Búsqueda lineal El SMBD TB A Manejo de Memoria Costo 2 Restauración Si la condición no es sobre la clave : Concurrencia Diccionario Datos Costo TB A Proc. Consultas Integridad Seguridad Marzo 2012 Administración de Base de Datos 50
  • 51. Selección sin índice El DBA • Busqueda binaria – Si el archivo se ordena según el atributo clave El SMBD y la condición es una igualdad. Manejo de Memoria Restauración Costo log 2 (TB A ) Concurrencia – Si la selección no es de igualdad, o no es sobre Diccionario Datos un atribudo clave (y el archivo está ordenado Proc. Consultas según éste atributo) Integridad Costo log 2 (TB A ) (TB f 1) Seguridad TB f : Número de bloques que cumplen con la condición (se calculan con fs) Marzo 2012 Administración de Base de Datos 51
  • 52. Selección con índices El DBA El SMBD Manejo de Memoria • Asumimos que los índices son de tipo Restauración árbol B+ y la longitud del camino es Concurrencia siempre la altura del árbol. Diccionario Datos Proc. Consultas Integridad Seguridad Marzo 2012 Administración de Base de Datos 52
  • 53. Selección de igualdad El DBA • Índice primario Se obtiene el número de niveles de índice + 1 El SMBD Manejo de Memoria • Índice agrupado Restauración s cos to niveles _ del _ indice Concurrencia fdb Diccionario Datos s fs ( c , R ) nr s : C ardinalid ad de s elec c ión del atributo de indexac ión Proc. Consultas • Índice secundario Integridad Seguridad cos to s niveles _ del _ indice Marzo 2012 Administración de Base de Datos 53
  • 54. Selección de comparación El DBA • Índice primario o agrupado – Si la comparación es Att > v o Att ≥ v se El SMBD puede obtener el primer valor de v en el Manejo de Memoria archivo de datos, de allí se explora hasta el final Restauración – Si la comparación Att < v o Att ≤ v no es Concurrencia necesario usar el índice. Diccionario Datos • Índice secundario Proc. Consultas – Sólo es necesario hallar el primer apuntador a v y recorrer la lista formada por las hojas para Integridad obtener los apuntadores a los diferentes Seguridad bloques del archivo de datos. Marzo 2012 Administración de Base de Datos 54
  • 55. Selecciones complejas El DBA • Conjuntivas (c1 and c2) - Índices Simples (índices diferentes por cada El SMBD atributo) Manejo de Memoria - Se verifica si hay un índice sobre alguno de los atributos, se busca sobre éste y se verifica si Restauración cumple las demás condiciones Concurrencia - El más económico es el que tiene el fs más bajo Diccionario Datos - Si hay un índice por cada atributo, se utilizan los distintos índices, se recuperan los elementos y Proc. Consultas luego se interceptan los tres conjuntos Integridad obtenidos. Seguridad Marzo 2012 Administración de Base de Datos 55
  • 56. Selecciones Complejas El DBA • Conjuntivas (Cont) • Índices Compuestos El SMBD • Sólo puede utilizarse si cada uno de los atributos Manejo de Memoria están en la condición de selección • El tipo de índice determina el uso de algoritmos Restauración de selección simples Concurrencia • Disyuntiva Diccionario Datos – Se realiza una búsqueda y se realiza la unión de éstas. Proc. Consultas – El hecho de que un sólo atributo no tenga Integridad índice implica una búsqueda lineal de datos. Seguridad Marzo 2012 Administración de Base de Datos 56
  • 57. Operación Proyección El DBA • Con duplicados El SMBD B’ Manejo de Memoria For each tupla t in B Restauración Guardar en B’ < t.At1, t.At2, …, t.Ati > B Concurrencia End Diccionario Datos Resultado tabla o relación con registros duplicados Proc. Consultas Integridad • Costo = TBB (recorrer la tabla B) Seguridad • Costo de resultado intermedio – TBB’ (guardar la tabla proyectada) Marzo 2012 Administración de Base de Datos 57
  • 58. Operación Proyección El DBA • Sin duplicados El SMBD • Basado en ordenamiento Manejo de Memoria Restauración For each tupla t in B Guardar en B’ < t.At1, t.At2, …, t.Ati > Concurrencia End Diccionario Datos Ordenar B’ en base a los atributos de proyección Proc. Consultas For each tupla t in B’ Guardar t en B’’ sii no existe t en B’’ Integridad End Seguridad Resultado tabla o relación donde los duplicados son eliminados Marzo 2012 Administración de Base de Datos 58
  • 59. Operación Proyección El DBA • Costo de proyección El SMBD Manejo de Memoria TB B TB B ' TB B ' log( TB B ' ) Restauración Concurrencia Ordenar B’ Recorrer B Diccionario Datos Generar B’ Proc. Consultas Integridad • Costo de almacenamiento Seguridad TB B '' Tabla proyectada sin duplicados Marzo 2012 Administración de Base de Datos 59
  • 60. Operación Proyección El DBA • Basado en HASH Se crea B’ El SMBD For each tupla tj in B’ Manejo de Memoria Aplicar f(tj) #se contruye una tabla hash Restauración en mp si tupla tj en f(ti) / ti = tj Concurrencia Descartar ti Diccionario Datos sino Proc. Consultas Guardar ti en f(ti) Integridad fsi Retornar tuplas en tabla hash Seguridad end Marzo 2012 Administración de Base de Datos 60
  • 61. Operación Proyección El DBA • Basado en HASH (costo) – Suponiendo que El SMBD Manejo de Memoria B– se puede almacenar en la tabla hash Restauración TB B TB B ' Concurrencia Sino Diccionario Datos Proc. Consultas TB B 3TB B ' Integridad Aunque este costo puede ser menor que el de ordenamiento, requiere memoria principal Seguridad + Costo de almacenar B’’ Marzo 2012 Administración de Base de Datos 61
  • 62. Operación Join El DBA • El operador Join se puede evaluar de varias maneras distintas El SMBD – Nested loop join Manejo de Memoria – Block Nested Loop Join Restauración – Merge sort join – Index Join Concurrencia – Hash Join Diccionario Datos Proc. Consultas Integridad Seguridad Marzo 2012 Administración de Base de Datos 62
  • 63. Nested Loop Join El DBA El SMBD Manejo de Memoria Restauración Concurrencia For each tupla tA in A Diccionario Datos For each tupla tB in B If satisfy (tA, tB, Cond) Proc. Consultas Return (tA. tB) End Integridad End End Seguridad RA = cantidad de Costo = TBA + RA*TBB registro de A Marzo 2012 Administración de Base de Datos 63
  • 64. Block Nested Loop Join El DBA El SMBD Manejo de Memoria Restauración Concurrencia A B Diccionario Datos Este algorito se puede mejorar si se aprovechan los bloques de memoria disponibles Proc. Consultas Si se carga A por bloques el costo seria Integridad Costo = TBA + TBA*TBB Seguridad Si se tienen T bloques disponibles se dejan dos para entrada/salida TB A Costo TB A *TB B T- 2 Marzo 2012 Administración de Base de Datos 64
  • 65. Sort-Merge Join El DBA El SMBD Manejo de Memoria Restauración Concurrencia A B Diccionario Datos Si ambas tablas están ordenadas sobre los atributos del Join, el costo es el menor Proc. Consultas Costo = TBA + TBB Integridad Si no hay que agregar el costo de ordenación Seguridad Costo = TBA Log(TBA )+ TBB Log(TBB ) +TBA +TBB Marzo 2012 Administración de Base de Datos 65
  • 66. Index Join El DBA El SMBD Manejo de Memoria Restauración Concurrencia A B Diccionario Datos Se usa si la tabla de la derecha tiene un índice sobre el atributo del Join, el costo es el de leer A y buscar cada Proc. Consultas registro de A por el índice Integridad Costo = TB(A) + CostoBuscar*Ra Seguridad El costo de buscar depende del indice (ver operador select) Marzo 2012 Administración de Base de Datos 66
  • 67. Hash Join El DBA • Se dividen las tuplas de cada relación utilizando una función hash tal que: El SMBD ta A, tb B / part ( A , t a ) part ( B , t b ) i .e . h ( t a ) h (tb ) Manejo de Memoria Restauración Concurrencia Diccionario Datos Proc. Consultas Integridad Seguridad Marzo 2012 Administración de Base de Datos 67
  • 68. Hash Join El DBA • h es una función que asigna a los atributos de join El SMBD los valores {0,1,..,n-1} Manejo de Memoria • Ha0 .. Ha(n-1) denota las particiones de A inicialmente vacías. Se colocan las tuplas en Hai Restauración con i = h(ta[atributos join]) Concurrencia • Hb0 .. Hb(n-1) denota las particiones de B inicialmente vacías. Se colocan las tuplas en Hbi Diccionario Datos con i = h(tb[atributos join]) Proc. Consultas • Al aplicar la misma función para ambos Integridad particionamientos, cada tupla de A y B que tengan resultados iguales de la función de asociación, Seguridad estarán en la misma partición Marzo 2012 Administración de Base de Datos 68
  • 69. Hash Join El DBA El SMBD Manejo de Memoria Restauración Concurrencia Diccionario Datos Proc. Consultas Integridad Seguridad Marzo 2012 Administración de Base de Datos 69
  • 70. Video Join El DBA • Videos – Video 1 El SMBD – Video 2 Manejo de Memoria Restauración Concurrencia Diccionario Datos Proc. Consultas Integridad Seguridad Marzo 2012 Administración de Base de Datos 70
  • 71. Calcular el costo de un árbol de ejecución El DBA • Una vez que el árbol este optimizado – Se cambian los operadores lógicos por físicos El SMBD p.e join por index join Manejo de Memoria – Si hay mas de un operador posible se debe Restauración verificar el menos costoso – Se calculan los costos de las operaciones por Concurrencia nodo, y el costo de almacenar resultados Diccionario Datos intermedios – Se suman los costos de todos los nodos Proc. Consultas Integridad Seguridad Marzo 2012 Administración de Base de Datos 71
  • 72. Ejercicio Jugador (DI, Nombre, Apellidos, Juegos(CodEq1, CodEq2, Temporada, FechaNac, Direccion) Fecha, Resultado, CodEquipoGana) El DBA DI: 9 bytes CodEq1: 4 bytes Nombre: 40 bytes CodEq2: 4 bytes El SMBD Apellidos: 40 bytes Temporada: 4 bytes, min : 1902, máximo FechaNac: 8 bytes 2011, valores diferentes, 110 Manejo de Memoria Direccion: 50 bytes Fecha: 8 bytes (162 valores distintos) Resultado: 8 bytes Restauración Num registros: 250.000 CodEquipoGana: 4 bytes (INDICE) Equipo( CodEq, NombreEq, FechaFund, Num registros: 18.000 Concurrencia Ciudad, Liga, Estadio) CodEq: 4 bytes Juega (DIJugador, CodEq, FechaIni, Diccionario Datos NombreEq: 40 bytes FechaFin, Posicion) FechaFund: 8 bytes DIJugador: 9 bytes Proc. Consultas Liga: 2 bytes (Nacional =0, Americana=1) CodEq: 4 bytes Estadio: 50 bytes FechaIni: 8 bytes (un promedio de 20 jug Integridad por año) Num registros: 30 FechaFin: 10 bytes Seguridad Posición: 20 bytes (9 valores distintos) Num registros: 875.000 Marzo 2012 Administración de Base de Datos 72
  • 73. El DBA • Consulta: Nombre, apellido y equipo de los jugadores que han participado en la El SMBD temporada 2009 en juegos ganados, y Manejo de Memoria que han jugado en primera base. Restauración – Dé el árbol canónico para q. – Dé el árbol optimizado heurísticamente. Concurrencia Diccionario Datos Proc. Consultas Integridad Seguridad Marzo 2012 Administración de Base de Datos 73
  • 74. El DBA • Suponga que el SMBD se caracteriza por – Disponer de 20 bloques de memoria principal El SMBD para las operaciones AR Manejo de Memoria – Cada bloque ocupa 1024 bytes Restauración – Disponer de los operadores físicos vistos en clase Concurrencia – Materializar los resultados intermedios. Asuma Diccionario Datos registros fijos extensibles para las tablas intermedias y no extensibles para las relaciones Proc. Consultas base Integridad – Indices primarios para las claves primarias, Seguridad todos tienen 4 de altura Marzo 2012 Administración de Base de Datos 74
  • 75. Ejemplo de plan de ejecución Caso Oracle El DBA El SMBD SELECT e.employee_id, e.last_name, e.salary, Manejo de Memoria d.department_name, l.city FROM employees e, departments d, locations l Restauración WHERE e.department_id = d.department_id AND d.location_id = l.location_id Concurrencia AND l.city = 'Oxford' Diccionario Datos AND e.salary > 10500 AND e.last_name LIKE '%e%'; Proc. Consultas Integridad Seguridad Marzo 2012 Administración de Base de Datos 75
  • 76. El DBA El SMBD Manejo de Memoria Restauración Concurrencia Diccionario Datos Proc. Consultas Integridad Seguridad Marzo 2012 Administración de Base de Datos 76