Durante más de 30 años, los sistemas de bases de datos basados en el modelo relacional dominaron el almacenamiento y la gestión de datos. En la última década, y debido a múltiples razones, esta hegemonía se ha visto desafiada. En particular, las aplicaciones sobre la Internet, con billones de usuarios distribuidos mundialmente generando datos constantemente, configuran un nuevo escenario y plantean problemas que los sistemas de bases de datos relacionales no logran resolver adecuadamente. Como consecuencia, en la actualidad coexisten nuevos modelos y estrategias de gestión de datos. A la hora de diseñar una solución informática resulta imprescindible contar con información y hacer un análisis crítico de cada una de estas estrategias, que permita tomar decisiones fundadas más allá de las modas o tendencias.
El objetivo de esta asignatura es brindar una visión general sobre estos nuevos modelos de gestión de datos, analizando las fortalezas y debilidades de cada uno, y buscando así enriquecer la mirada y el espíritu crítico sobre estas estrategias que llegaron para quedarse. Durante el curso se hará énfasis en lo modelos de datos subyacentes y los lenguajes de consulta asociados. Al final del curso el estudiante contará con elementos para decidir cuál es el modelo y la estrategia de gestión de datos que mejor se ajusta a su problema.
El objetivo de esta asignatura es brindar una visión general sobre estos nuevos modelos de gestión de datos, analizando las fortalezas y debilidades de cada uno, y buscando así enriquecer la mirada y el espíritu crítico sobre estas estrategias que llegaron para quedarse. Durante el curso se hará énfasis en lo modelos de datos subyacentes y los lenguajes de consulta asociados. Al final del curso el estudiante contará con elementos para decidir cuál es el modelo y la estrategia de gestión de datos que mejor se ajusta a su problema.
1 - Introducción
1.1 Perspectiva histórica y evolución de los sistemas de bases de datos.
1.2 Modelo conceptual
2 - El modelo relacional
2.1 Introducción al modelo relacional
2.2 Restricciones de integridad
2.3 Propiedades ACID
2.4 SQL
3 - Bases de datos de documentos
3.1 Introducción al modelado basados en documentos
3.2 Aspectos técnicos de MongoDB
3.3 Consultas en MongoDB
4 - Bases de datos de grafos
4.1 ¿Qué es un grafo?
4.2 Introducción a los modelos de grafos
4.3 Aspectos técnicos de Neo4j
4.4 Neo4j Cypher
5 - BigData y el ecosistema Apache Hadoop
5.1 Definición de BigData
5.2 Principales componentes del ecosistema Apache Hadoop (Spark, Cassandra, Hive, Pig)
5.3 Aspectos técnicos de Hadoop
5.4 Hadoop MapReduce
Todos los estudiantes serán evaluados a través de entregas de ejercicios prácticos en grupos y una prueba final individual.