5.28.4.1 Procesamiento de Consultas (12 horas) [Habilidades AG-C08,AG-C12]

Referencias Bibliográficas: [Silberschatz et al., 2019,Ramakrishnan and Gehrke, 2003]

Temas

  1. Estructuras de página
  2. Estructuras de índice:
    1. árboles B+
    2. Índices hash: estáticos y dinámicos
    3. Creación de índices en SQL
  3. Estructuras de archivos:
    1. Archivos de montón (heap)
    2. Archivos hash
  4. Algoritmos para operadores de consulta:
    1. Ordenamiento externo
    2. Selección
    3. Proyección; con y sin eliminación de duplicados
    4. Uniones naturales: Bucle anidado, Mezcla-ordenada, Unión hash
    5. Análisis de eficiencia de algoritmos
  5. Transformaciones de consultas
  6. Optimización de consultas:
    1. Rutas de acceso
    2. Construcción de plan de consulta
    3. Estimación de selectividad
    4. Planes solo de índice
  7. Procesamiento de Consultas en Paralelo (por ejemplo, exploración paralela, unión paralela, agregación paralela)
  8. Afinamiento/rendimiento de base de datos:
    1. Selección de índices
    2. Impacto de índices en el rendimiento de consultas
    3. Desnormalización

Aprendizaje esperado (Learning Outcomes)

  1. Describir el propósito y organización de las estructuras de índice tanto de árbol B+ como hash [Describir]
  2. Componer un comando SQL para crear un índice (de cualquier tipo) [Componer]
  3. Especificar los pasos para los diversos algoritmos de operadores de consulta: ordenamiento externo, proyección con eliminación de duplicados, unión por mezcla-ordenada, unión hash, unión por bucle anidado por bloques [Analizar]
  4. Derivar el tiempo de ejecución (en solicitudes de E/S) para cada uno de los algoritmos anteriores [Analizar]
  5. Transformar una consulta en álgebra relacional a su equivalente apropiado para una ejecución canalizada de profundidad izquierda [Rediseñar]
  6. Calcular estimaciones de selectividad para una operación de selección y/o unión dada [Computar/Calcular]
  7. Describir cómo modificar una estructura de índice para facilitar una operación solo de índice para una relación dada [Describir]
  8. Para un escenario dado decidir qué índices soportar para la ejecución eficiente de un conjunto de consultas [Evaluar (valorar)]
  9. Describir cómo los DBMS aprovechan el paralelismo para acelerar el procesamiento de consultas dividiendo el trabajo entre múltiples procesadores o nodos [Describir]

Generado por Ernesto Cuadros-Vargas , Sociedad Peruana de Computación-Peru, basado en el modelo de la Computing Curricula de IEEE-CS/ACM