Periodo académico 2020-1S

(751103) OPTIMIZACIÓN DE BASES DE DATOS

Datos generales

Grupos

Tabla información sobre los grupos de la asignatura
Actividad Grupo Periodos Horarios Aula Profesor/Tutor
CLASE TEÓRICA (1) - CLASE TEÓRICA - GRUPO 1 - BOGOTÁ 09/05/2020 - 09/05/2020 SÁBADO 07:00 - 10:00 AULA 204 - M7 INDIRA ROCIO DUARTE LOPEZ
16/05/2020 - 16/05/2020 SÁBADO 07:00 - 10:00 AULA 204 - M7 INDIRA ROCIO DUARTE LOPEZ
23/05/2020 - 23/05/2020 SÁBADO 07:00 - 09:00 AULA 204 - M7 INDIRA ROCIO DUARTE LOPEZ
30/05/2020 - 30/05/2020 SÁBADO 07:00 - 10:00 - INDIRA ROCIO DUARTE LOPEZ
06/06/2020 - 06/06/2020 SÁBADO 07:00 - 10:00 - INDIRA ROCIO DUARTE LOPEZ
13/06/2020 - 13/06/2020 SÁBADO 07:00 - 09:00 - INDIRA ROCIO DUARTE LOPEZ
(3) - CLASE TEÓRICA - GRUPO 3 - SANTA MARTA 29/05/2020 - 29/05/2020 VIERNES 14:00 - 21:00 Salón M8 -
30/05/2020 - 30/05/2020 SÁBADO 07:00 - 11:00 Salón M8 -
SÁBADO 13:00 - 17:00 Salón M8 -
05/06/2020 - 05/06/2020 VIERNES 14:00 - 21:00 Salón M10 -
06/06/2020 - 06/06/2020 SÁBADO 07:00 - 11:00 Salón M10 -
SÁBADO 13:00 - 17:00 Salón M10 -
SALAS ESPECIALIZADAS CÓMPUTO (1.1) - SALAS ESPECIALIZADAS CÓMPUTO - GRUPO 1.1 - BOGOTÁ 09/05/2020 - 09/05/2020 SÁBADO 11:00 - 14:00 AULA WINDOWS - 309 - M7A INDIRA ROCIO DUARTE LOPEZ
16/05/2020 - 16/05/2020 SÁBADO 11:00 - 14:00 AULA WINDOWS - 309 - M7A INDIRA ROCIO DUARTE LOPEZ
23/05/2020 - 23/05/2020 SÁBADO 11:00 - 14:00 - INDIRA ROCIO DUARTE LOPEZ
30/05/2020 - 30/05/2020 SÁBADO 11:00 - 14:00 - INDIRA ROCIO DUARTE LOPEZ
06/06/2020 - 06/06/2020 SÁBADO 11:00 - 14:00 - INDIRA ROCIO DUARTE LOPEZ
(3.1) - SALAS ESPECIALIZADAS CÓMPUTO - GRUPO 3.1 - SANTA MARTA 29/05/2020 - 29/05/2020 VIERNES 14:00 - 21:00 SALA DE SISTEMAS 1 -
30/05/2020 - 30/05/2020 SÁBADO 07:00 - 11:00 - -
SÁBADO 13:00 - 17:00 - -
05/06/2020 - 05/06/2020 VIERNES 14:00 - 21:00 - -
06/06/2020 - 06/06/2020 SÁBADO 07:00 - 11:00 - -
SÁBADO 13:00 - 17:00 - -

Contenidos

PROGRAMA DE LA ASIGNATURA

Presentación

Los volúmenes de información y la complejidad de algunas de las operaciones que manejan las bases de datos son enormes; de allí que sea indispensable desarrollar el arte de optimizar este tipo de sistemas. Esto se ve reflejado en el hecho de que ajustes o cambios en el hardware pueden representar incrementos lineales de desempeño; en el caso del software y en particular de las bases de datos este tipo de ajustes puede representar incrementos exponenciales en el desempeño de la aplicación.

Objetivo de Aprendizaje

Estudiar técnicas y buenas prácticas en el diseño y solución de bases de datos que por su complejidad y tamaño requieren ser analizadas en tiempo de ejecución para mantener un buen desempeño.

Estudiar y practicar las técnicas de análisis de desempeño de aplicaciones,  en particular de bases de datos.

Entender la teoría para el análisis y optimización  de consultas de los diferentes modelos de bases de batos, desde relacionales, objetos, bodegas de datos, no estructuras y  minería de datos.

Estudiar y aplicar  los diferentes métodos para la optimización de bases de datos  de alto desempeño usando un producto del mercado.

Contenidos Temáticos

1.    Introducción al afinamiento del desempeño

1.1  Planeación del desempeño

1.1.1     Opciones de Inversion

1.1.2     Escalabilidad

1.1.3     Arquitectura del sistema

1.1.4     Principios de diseño de la aplicación


1.2   Afinamiento de la instancia

1.2.1     Principios de desempeño

1.2.2     Líneas base

1.2.3     Síntomas y problemas

1.2.4     Monitoreo proactivo

1.2.5     Embotellamiento


1.3  Afinamiento de SQL

1.3.1     Introducción al Optimizador de Querys

1.3.2     Introducción a Planes de ejecución


2.    Componentes de un DBMS

2.1  Procesador de Queries

2.2  Manejador de base de datos

2.3  Manejador de archivos

2.4  Principales componentes de software


SESION 2


3.    Arquitectura del sistema de  bases de datos

3.1      Arquitectura Multiusuario

3.1.1     Arquitectura Two-Tier

3.1.2     Arquitectura Three-Tier

3.1.3     Monitores para procesamiento de transacciones


3.2     Optimización de desempeño de la instancia

3.2.1     Parámetros de inicio

3.2.2     Espacio undo

3.2.3     Tamaño de redo log

3.2.4     Estadísticas de la instancia

3.2.5     Herramientas del S.O.

3.2.6     Configuración y uso de la memoria

3.2.7     Configuración y diseño del I/O

3.2.8     3.2.8 Nivel de red


SESION 3

4.    Procesamiento de consultas para  la  optimización de diferentes modelos de bases de datos

4.1  Estimación de costos

4.2  Estrategias de ejecución

4.3  Optimización de semántica de queries

4.4  Aspectos a tener en cuenta en Bases de datos Relacionales

4.5  Aspectos a tener en cuenta en Bodegas de Datos

4.5.1     Vistas materializadas

4.5.2     OLAP


SESIONES 4 y 5


5.    Elementos que afectan el desempeño de una aplicación en los distintos niveles de construcción de un sistema


5.1  Nivel de aplicación

5.1.1     Principios de Diseño

5.1.2     Implementación

5.1.3     Pruebas de carga, modelamiento e implementación

5.1.4     Despliegue de nuevas aplicaciones


5.2   Nivel de diseño del modelo de datos

5.2.1     Modelamiento de Datos

5.2.2     Diseño de tablas e índices

5.2.3     Uso de vistas


5.3  Nivel de servidor de base de datos

5.3.1     Escalabilidad

5.3.2   Métodos para mejorar el desempeño

5.3.3   Checklist de desempeño


SESIONES 6 Y 7

6.    Optimización de consultas

6.1 Basada en reglas

6.2 Optimización de consultas basada en costos


7.    Optimización de sentencias SQL

7.1  Planes  de Ejecución

7.2  Semántica de Queries

7.3  Administración de  estadísticas

7.4  Uso de índices y clústeres

7.5  Identificación de sentencias con alta carga

7.6  Reducción, balanceo y  paralelización  

7.7  Hints de optimización


SESION 8

8.  Top 10 de errores encontrados en sistemas Oracle

9. Afinamiento automatico de SQL

9.1 Caracteristicas de  Automatic Tuning Optimizer

9.2  Afinando  con  SQL Tuning Advisor

9.3 Administrando SQL Tuning Sets

9.4 Administrando  SQL Profiles

  9.5 Vistas de afinamiento SQL

¿

SESION 9

10. Herramientas de Tracing

10.1  Caracteristicas SQL Trace and TKPROF

10.3 Uso de SQL Trace  y TKPROF


Evaluación Formativa

El estudiante debe revisar un caso para su optimización. En especial se hace énfasis en la evaluación formativa, haciendo seguimiento continuo mediante tutorías orientadas por el profesor y asistidas por el monitor de la asignatura. Los resultados de las diferentes pruebas y entregables se socializan entre los participantes con el fin de aclarar las inquietudes de los mismos.

Bibliografía Básica Obligatoria

1. Paul Bertucci. (2005). Microsoft SQL Server High Availability. Sams Publising.

2. Clement T. Yu, Weiyi Meng. (1998). Principles of Database Query Processing for Advanced Applications. Morgan Kaufmann Publishers.

3. Cormen, Leiserson, Rivest. (1990). Introduction to Algorithms. MIT Press

4. Dennis Shasha, Philippe Bonnet. (2003). Database Tuning. Principles. Experiments, and Troubleshooting Techniques. Morgan Kaufmann Publishers.

5. Garey, Johnson. (1979). Computers and Intractability, A guide to The Theory of NP-Completeness. Freeman.

6. Gavin JT Powell. (2004). Oracle High Performance Tuning for 9i and 10g. Elsevier Digital Press

7. Rozenshtein, Adramovich, Binger. (1995). Optimizing Transact-SQL, Advanced Programming Techniques. SQL Forum Press.

8. Steve Adrien Deluca , Marcilina S. Garcia, Jamie Reding. (2005). Microsoft Sql Server 2000 Performance Tuning Technical Reference. Microsoft Press



Carrera 4 # 22-61 Teléfono: (+57 1) 242 7030 - 018000111022 Fax: (+57 1) 561 2107 Bogotá D.C., Colombia
Institución de Educación Superior sujeta a inspección y vigilancia por el Ministerio de Educación Nacional.