Información general de la asignatura
ADMINISTRACIÓN Y OPTIMIZACIÓN DE BASES DE DATOS
- 010682
- ÁREA ACADÉMICA INDUSTRIAS Y TECNOLOGÍAS DIGITALES
PRESENTACION
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.
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 TEMATICOS
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
BIBLIOGRAFIA BASICA 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