Información general de la asignatura
BASES DE DATOS AVANZADAS - BIG DATA
- 009842
- ÁREA ACADÉMICA INDUSTRIAS Y TECNOLOGÍAS DIGITALES
PRESENTACION
Las Bases de Datos Relacionales (BD) se consideran una tecnología genérica, y
su éxito se evidencia en la utilización de las mismas. Prácticamente todas las
actividades económicas requieren el procesamiento de información. Sin embargo,
el auge en el uso de Internet desde el principio de este siglo, y otros
factores como el uso de dispositivos que generan datos todo el tiempo, ha
creado desafíos en tres dimensiones: volumen, velocidad y variedad
(denominados las tres Vs).
El volumen es un factor clave ya que en el mundo se generan 2.5
quintillones de bytes de datos diariamente. Debido al incremento en el volumen
de datos que se están generando (sobre todo de forma automatizada), el 90% de
los datos que existen en el mundo han sido creados en los últimos 2 años. La
velocidad se debe a que es necesario procesar flujos de datos (streams) sin
demora y de forma confiable (por ejemplo, para detectar fraude en las
transacciones de las tarjetas de crédito). La variedad se refiere al hecho que
los datos generados hoy-en-día son cada más heterogéneos y complejos:
comprenden texto libre, datos semi-estructurados, BD relacionales e incluso
flujos de video.
Las herramientas convencionales, aunque siguen siendo vigentes para la
mayoría de los casos de uso, se ven limitadas ante semejantes desafíos.
OBJETIVO DE APRENDIZAJE
Aprender de temas avanzados de BDs relacionales, en especial las distribuidas, y familizarse con tecnologías Big Data y NoSQL, que representan un nuevo paradigma en el procesamiento de la información.
CONTENIDOS TEMATICOS
Sesión 1:
Introducción al curso
Bases de Datos: Pasado, presente, futuro
Introducción al álgebra relacional vs SQL
Principios de los sistemas Distribuidos
Arquitecturas de Bases de Datos Distribuidas
Shared memory, shared disc, shared nothing.
Sesión 2: Fragmentación y localización de datos
Horizontal primaria
Horizontal derivada
Vertical
Distribución de datos.
Sesión 3: Laboratorio de BD distribuidas (Rafael).
Sesión 4: Optimización de Consultas
El caso centralizado
Análisis de sintaxis
Traducción a árbol de operadores lógicos
Optimización lógica
Optimización física
El caso distribuido
Fragmentación y Alocación
Localización de datos.
Sesión 5: Técnicas de integración y Transacciones
Técnicas de integración de BD relacionales
Bodegas de Datos vs. Mediadores
Local-as view
Global-as view
Transacciones
Propiedades ACID
Tipos de transacciones
Protocolo Two Phase Commit
Sesión 6: Introducción a Big Data
¿El fin de la talla única?
Las Tres Vs (Volumen, Variedad, Velocidad)
Las redes de sensores y el Internet de las Cosas
Modelos NoSQL
Almacenes llave-valor
Almacenes de documentos
Almacenes de columnas
BD de grafos
Procesamiento Masivo de Datos
Los Data Appliances
MapReduce.
Sesión 7: Laboratorio Hadoop (en Python).
Sesión 8: Teorema CAP, BASE
Teorema CAP
BASE: Una alternativa a ACID
Indexación de datos en sistemas escalables
Distributed Hash Tables
Un caso del mundo real: Amazon Dynamo.
Sesión 9: Modelando Datos con Grafos
Neo4j
Tutorial de consultas con Cypher
Sesión 10: Laboratorio Neo4j.
Sesión 11: Charlas: Big Data en el mundo real
Las sesiones que siguen son sólo para estudiantes de la maestría
Sesión 12: MapReduce en más detalle, y Recuperación de la
Información
Patrones de programación para MapReduce
Generación de índices
Limpieza y normalización de datos
Tópicos avanzadas de indexación
Sesión 13: Laboratorio: Índice invertido en Hadoop (en Java)
Sesión 14: Cassandra y MongoDB, en más detalle
Cassandra
Data model, Bigtable, sorting, tablets, column families, SSTables,
writes, reads, compactions, hierarchy, bloom filters
MongoDB
Operaciones CRUD
Sesión 15: Laboratorio Cassandra o MongoDB
Sesión 16: Examen final
BIBLIOGRAFIA BASICA OBLIGATORIA
1. Tamer Ozsu, M., & Valduriez, P. (2011). Principles of distributed database
systems. Springer.
2. Ullman, J. D., Garcia-Molina, H., & Widom, J. (2001). Database
systems: the complete book. Upper Saddle River: Prentice Hall.
3. Kossmann, D. (2000). The state of the art in distributed query
processing. ACM Computing Surveys (CSUR), 32(4), 422-469.
4. DeCandia, G., Hastorun, D., Jampani, M., Kakulapati, G., Lakshman,
A., Pilchin, A., ... & Vogels, W. (2007, October). Dynamo: Amazon's highly
available key-value store. In SOSP (Vol. 7, pp. 205-220).
5. Ghemawat, S., Gobioff, H., & Leung, S. T. (2003, October). The Google
File System. In ACM SIGOPS Operating Systems Review (Vol. 37, No. 5, pp.
29-43). ACM.
6. Pritchett, D. (2008). Base: An acid alternative. ACM Queue, 6(3),
48-55.
7. Dean, J., & Ghemawat, S. (2010). MapReduce: a flexible data
processing tool. Communications of the ACM, 53(1), 72-77.
8. Arasu, A., Babcock, B., Babu, S., Cieslewicz, J., Datar, M., Ito, K.,
... & Widom, J. (2004). Stream: The Stanford data stream management system.
Book chapter.