Profesor | Javier García García | lu mi vi | 7 a 8 | Taller de Ingeniería de Software |
Ayudante | Rogelio Montero Campos | ma ju | 7 a 8 | Taller de Ingeniería de Software |
Ayud. Lab. | Luis Roberto Cruz Martínez | vi | 14 a 16 | Taller de Ingeniería de Software |
SISTEMAS MANEJADORES DE BASES DE DATOS
TEMARIO
Profesor |
Javier García García |
Ayudante |
Rogelio Montero Campos |
Ayud. Lab. |
Luis Roberto Cruz Martínez |
Asignatura(s) precedente(s): |
SISTEMAS DE BASES DE DATOS |
Asignatura(s) subsecuente(s) o en paralelo: |
GRANDES BASES DE DATOS, SEMINARIO DE BASES DE DATOS
Objetivo(s) del curso: |
Estudiar los elementos que componen los sistemas manejadores de bases de datos actuales, resaltando las tareas que desarrollan tales como: Manejo de transacciones, optimización, concurrencia, recuperación, manejo de grandes volúmenes de información, actualización de los datos en archivos, despliegue de información. El estudio de los elementos y tareas mencionadas se realizará con sistemas manejadores de bases de datos concretos. |
Temario
1.1 La jerarquía de memoria.
1.2 Los discos duros.
1.3 Los niveles RAID.
1.4 Representación de los datos.
1.5 Elementos de datos y campos.
1.6 Registros.
1.7 Representación de direcciones de bloques y registros.
1.8 Registros y datos de tamaño variable.
Práctica 1 - Acceso a memoria
Práctica 2 - Niveles RAID
2.1 El sistema de archivos secuencial indexado.
2.2 El sistema de archivos indexado.
2.3 El sistema de archivos de acceso directo (hash).
2.4 Índices de múltiples dimensiones y de mapas de bits.
Práctica 3 - Sistemas de archivos
3.1 Etapas.
3.1.1. Introducción a los operadores en los planes de consultas.
3.1.2. Análisis sintático (parseo).
3.1.3. Leyes algebraicas para la improvisación de los planes de ejecución
3.1.4. Árboles de parseo.
3.1.5. Estimación de costos.
3.1.6. Selección basada en el costo.
3.1.7. El orden de las reuniones (joins).
3.1.8. Completando el plan de ejecución
3.2 Estructura.
3.3 La selección
3.4 La reunión (join).
3.4.1. Algoritmos de una pasada.
3.4.2. Reuniones con ciclos anidados.
3.4.3. Algoritmos de dos pasadas basados en ordenamiento.
3.4.4. Algoritmos de dos pasadas basados en estructuras Hash.
3.4.5. Algoritmos basados en Índices.
3.4.6. Algoritmos que utilizan más de dos pasadas.
3.5 Evaluación de expresiones (Materialización y pipeline).
3.6 Transformación y evaluación de expresiones.
3.7 Optimizaciones.
Práctica 4 - Manejo de Índices
Práctica 5 - Optimización de consultas
4.1 Concepto (ACID).
4.2 Implementación de ACID.
4.3 Seriabilidad.
Práctica 6 - Transacciones
5.1 Seriabilidad y sus problemas.
5.2 Bloqueos y sus tipos.
5.3 Deadlock: Definición manejo y prevención
5.4 Calendarización
5.5 Métodos de control de concurrencia (marcas de tiempo y validación).
Práctica 7 - Concurrencia
6.1 Tipos de fallas.
6.2 Seriabilidad.
6.3 Recuperación
6.4 Tipos de almacenamiento.
6.5 Recuperación basada en bitácoras.
6.6 Protección contra fallas en los medios.
6.7 Paginación sombra.
6.8 Recuperación en transacciones concurrentes.
Práctica 8 - Recuperación
7.1 Clasificación
7.2 Sistemas paralelos.
7.3 Aceleración y escalamiento (speedup, scaleup).
7.4 Sistemas distribuidos.
7.5 Tipos de redes.
8.1 Introducción
8.2 Paralelismo interconsulta e intraconsulta.
8.3 Paralelismo intraoperacional e interoperacional
8.4 Almacenamiento distribuido.
8.5 Replicación y fragmentación
8.6 Procesamiento de consultas distribuidas.
8.7 Modelo de transacciones distribuidas.
8.8 Protocolos de Verificación (commit protocols).
8.9 El coordinador y su selección
8.10 Control de concurrencia.
8.11 Manejo de deadlock.
Práctica 9 Bases de Datos Distribuidas - uso de un SMBD distribuido (Slony, VirtualBox)
1.1 Conceptos de DataWarehouse.
1.2 Ventajas y aplicaciones.
1.3 Data-Marts.
1.4 Cubos de múltiples dimensiones.
1.5 Operaciones.
Práctica 10 – Datawarehouse y Minería de Datos – uso de TPC-H
Bibliografía básica:
[1] R. Elmasri and S.B. Navathe. Fundamentals of Database Systems. Addison Wesley, 6th edition, 2010.
[2] H. Garcia-Molina, J.D. Ullman, and J. Widom. Database Systems: The Complete Book Prentice Hall, 2nd edition, 2008.
[3] A. Silberschatz, H.F. Korth, and S. Sudarshan. Database System Concepts Mcgraw-Hill College, 6th edition, 2010.
Bibliografía complementaria:
Biblioteca Digital ACM e IEEE , artículos escogidos de ACM SIGMOD, ACM CIKM, ACM TODS, ACM TOIS, IEEE TKDE, Decision Support Systems Journal, Information Systems Journal
Taller solicitado.
Taller de Ingeniería de Software y Bases de Datos
martes y jueves 7:00 - 8:00 hrs.
Lab: ------
La clase del profesor lunes, miércoles y viernes 7:00 - 8:00 hrs. puede ser en un salón de clase (con pantalla) o en el mismo taller.
Software: (este sw se actualiza constantemente y el laboratorista o el ayudante lo puede proporcionar)
Postgresql v 9.1.0
Slony-I v 2.1.1
VirtualBox 4.1.18
Calificación:
Examenes |
40.00% |
Prácticas |
40.00% |
Tareas/Participación |
20.00% |