Créditos
6
Tipos
Obligatoria
Requisitos
Esta asignatura no tiene requisitos
, pero tiene capacidades previas
Departamento
ESSI
Por un lado, para lidiar con grandes volúmenes de datos, veremos cómo un sistema de archivos distribuidos puede escalar a tantas máquinas como sea necesario. Luego, estudiaremos diferentes estructuras físicas que podemos usar para almacenar nuestros datos. Dichas estructuras pueden dar lugar a un formato de archivo en el nivel del sistema operativo o un gestor más complejo a un nivel de abstracción más alto. En este último caso, toman la forma de conjuntos de pares clave-valor, colecciones de documentos semiestructurados o tablas almacenadas en columnas. Veremos que, independientemente del tipo de almacenamiento que elijamos, los actuales sistemas de procesamiento altamente paralelizables utilizan principios de programación funcional (generalmente basados ¿¿en funciones de map y reduce), cuyo marco de procesamiento puede basarse en archivos temporales (como Hadoop MapReduce) o principalmente en estructuras de memoria (como Spark).
Por otro lado, para hacer frente a la alta velocidad de los datos, necesitamos algún sistema de baja latencia que procese secuencias o micropaquetes. Sin embargo, hoy en día, la producción de datos ya está más allá de la capacidad de las tecnologías de procesamiento. Se están generando más datos de los que podemos almacenar o incluso procesar sobre la marcha. Por lo tanto, reconoceremos la necesidad de (a) algunas técnicas para seleccionar subconjuntos de datos (es decir, filtrar o muestrear), (b) resumirlos maximizando la información relevante retenida, y (c) simplificar nuestros algoritmos para reducir su complejidad computacional (es decir, haciendo una única pasada sobre los datos) y proporcionar una respuesta aproximada.
Finalmente, la complejidad de un proyecto Big Data (que combina todas las herramientas necesarias en un ecosistema colaborativo), que generalmente involucra a varias personas con diferentes antecedentes, requiere la definición de una arquitectura de alto nivel que supere las dificultades tecnológicas y se centre en las funcionalidades proporcionadas y las interacciones entre módulos. Por lo tanto, también analizaremos diferentes arquitecturas de software para Big Data.
Profesorado
Responsable
- Alex Barceló Cuerda ( alex.barcelo@upc.edu )
Otros
- Marc Maynou Yelamos ( marc.maynou@upc.edu )
- Sergi Nadal Francesch ( sergi.nadal@upc.edu )
Horas semanales
Teoría
1.9
Problemas
0
Laboratorio
1.9
Aprendizaje dirigido
0
Aprendizaje autónomo
6.85
Competencias
Trabajo en equipo
Lengua extranjera
Espíritu emprendedor e innovador
Básicas
Genéricas
Específicas
Objetivos
-
Comprender los principales métodos avanzados de gestión de datos y diseñar e implementar gestores de bases de datos no relacionales, con especial énfasis en sistemas distribuidos.
Competencias relacionadas: CT3, CT5, CG1, CG3, CE2, CE4, CE5, CB6, CB7, CB8, CB9, CB10, -
Comprender, diseñar, explicar y llevar a cabo procesamiento paralelo de la información en sistemas distribuidos masivamente.
Competencias relacionadas: CT3, CT5, CG1, CG3, CE2, CE4, CE5, CB6, CB7, CB8, CB9, CB10, -
Gestionar y procesar un flujo continuo de datos.
Competencias relacionadas: CT3, CT5, CG1, CG3, CE2, CE4, CE5, CB6, CB7, CB8, CB9, CB10, -
Diseñar, implementar y mantener arquitecturas de sistemas que gestionan el ciclo de vida del dato en entornos analíticos.
Competencias relacionadas: CT3, CT5, CT1, CG1, CG3, CE2, CE4, CE5, CE12, CE13, CB6, CB7, CB8, CB9, CB10,
Contenidos
-
Introducción
Big Data, Cloud Computing, Escalabilidad -
Diseño de Big Data
Polyglot systems; Schemaless databases; Key-value stores; Wide-column stores; Document-stores -
Gestión de datos distribuidos
Transparency layers; Distributed file systems; File formats; Fragmentation; Replication and synchronization; Sharding; Distributed hash; LSM-Trees -
Gestión de datos en memoria
NUMA architectures; Columnar storage; Late reconstruction; Light-weight compression -
Procesamiento distribuido de datos
Distributed Query Processing; Sequential access; Pipelining; Parallelism; Synchronization barriers; Multitenancy; MapReduce; Resilient Distributed Datasets; Spark -
Gestión y procesamiento de Streams
One-pass algorithms; Sliding window; Stream to relation operations; Micro-batching; Sampling; Filtering; Sketching -
Arquitecturas de Big Data
Centralized and Distributed functional architectures of relational systems; Lambda architecture
Actividades
Actividad Acto evaluativo
Metodología docente
The course comprises theory, and lab sessions.Theory: Classical theory lectures in conjunction with complementary explanations and problem solving.
Lab: There will be a project done in teams where students will put into practice the kinds of tools studied during the course. This will be evaluated in two deliverables and individual tests.
Método de evaluación
Final Mark = 60%E + 40%LL = Weighted average of the marks of the lab deliverables and tests
E = Final exam
Bibliografía
Básico
-
Principles of distributed database systems
- Özsu, M.T.; Valduriez, P,
Springer,
2020.
ISBN: 9783030262525
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991004193569706711&context=L&vid=34CSUC_UPC:VU1&lang=ca -
Encyclopedia of database systems
- Liu, L.; Özsu, M.T,
Springer,
2009.
ISBN: 9780387399409
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991004877013906711&context=L&vid=34CSUC_UPC:VU1&lang=ca -
NoSQL distilled: a brief guide to the emerging world of polygot persistence
- Sadalage, P.J.; Fowler, M,
Addison-Wesley,
2013.
ISBN: 9780321826626
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991003990429706711&context=L&vid=34CSUC_UPC:VU1&lang=ca -
In-memory data management
- Plattner, H.; Zeier, A,
Springer,
2012.
ISBN: 9783642295744
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991004007899706711&context=L&vid=34CSUC_UPC:VU1&lang=ca -
An architecture for fast and general data processing on large clusters
- Zaharia, M,
ACM Books,
2016.
ISBN: 9781970001563
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991004088079706711&context=L&vid=34CSUC_UPC:VU1&lang=ca -
Mining of massive datasets
- Leskovec, J.; Rajaraman, A.; Ullman, J.D,
Cambridge University Press,
2020.
ISBN: 9781108476348
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991004193679706711&context=L&vid=34CSUC_UPC:VU1&lang=ca -
Data streams: models and algorithms
- Aggarwal, C.C. (ed.),
Springer,
2007.
ISBN: 9780387287591
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991003199179706711&context=L&vid=34CSUC_UPC:VU1&lang=ca -
Understanding ETL Data Pipelines for Modern Data Architectures
- PALMER, Matt,
O'Reilly Media, Inc.,
2024.
ISBN: 9781098159252
https://www.oreilly.com/library/view/understanding-etl/9781098159269/
Complementario
-
Database systems : the complete book
- Garcia-Molina, Hector; Ullman, Jeffrey D; Widom, Jennifer,
Pearson Education Limited,
[2014].
ISBN: 9781292024479
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991004168919706711&context=L&vid=34CSUC_UPC:VU1&lang=ca -
Master data management
- Loshin, D,
Morgan Kaufmann/Elsevier,
2009.
ISBN: 9781282285507
Web links
- Summer school http://cs.ulb.ac.be/conferences/ebiss.html
- PhD programme https://deds.ulb.ac.be
Capacidades previas
Al ser Big Data Management la evolución del Data Warehousing, dicho conocimiento se asume en este curso. Por lo tanto, se espera conocimiento general sobre: diseño de bases de datos relacionales; Arquitectura del sistema de gestión de bases de datos; ETL y OLAPEspecíficamente, se espera conocimiento sobre:
- Multidimensional modeling (i.e, star schemas)
- Querying relational databases
- Physical design of relational tables (i.e., partitioning)
- Hash and B-tree indexing
- External sorting algorithms (i.e., merge-sort)
- ACID transactions