Crèdits
6
Tipus
Obligatòria
Requisits
Aquesta assignatura no té requisits
, però té capacitats prèvies
Departament
ESSI
Web
https://learnsql3.fib.upc.edu/moodle/course/view.php?id=169
D'una banda, per fer front a grans volums de dades, veurem com un sistema de fitxers distribuït pot escalar a tantes màquines com sigui necessari. A continuació, estudiarem les diferents estructures físiques que podem utilitzar per emmagatzemar les nostres dades. Aquestes estructures poden ser en forma de format de fitxer al nivell del sistema operatiu o en un nivell superior d'abstracció. En aquest últim cas, prenen la forma de conjunts de parells clau-valor, col·leccions de documents semiestructurats o taules emmagatzemades en columnes. Veurem que, independentment del tipus d'emmagatzematge que escollim, els sistemes de processament actualment paral·lelitzables utilitzen principis de programació funcional (normalment basats en funcions map i reduce), i poden descansar sobre fitxers temporals (com Hadoop MapReduce) o principalment sobre estructures de memòria (com Spark).
D'altra banda, per fer front a l'alta velocitat de les dades, necessitem un sistema de latència baix que processi fluxos o micro-lots. No obstant això, avui en dia, la producció de dades ja supera la capacitat de les tecnologies de processament. Es generen més dades de les que podem emmagatzemar o fins i tot processar sobre la marxa. Així doncs, reconeixerem la necessitat de (a) algunes tècniques per seleccionar subconjunts de dades (és a dir, filtrar o mostrejar), (b) resumir-los maximitzant la informació rellevant retinguda, i (c) simplificar els nostres algorismes per reduir la seva complexitat computacional (és a dir, fer un sol pas sobre les dades) i proporcionar una resposta aproximada.
Finalment, la complexitat d'un projecte Big Data (que combina totes les eines necessàries en un ecosistema col·laboratiu), que generalment implica diverses persones amb perfils diferents, requereix la definició d'una arquitectura d'alt nivell que superi les dificultats tecnològiques i se centri en les funcionalitats proporcionades i les interaccions entre mòduls. Per tant, també analitzarem diferents arquitectures de programari per Big Data.
Professorat
Responsable
- Alex Barceló Cuerda ( alex.barcelo@upc.edu )
Altres
- Marc Maynou Yelamos ( marc.maynou@upc.edu )
- Sergi Nadal Francesch ( sergi.nadal@upc.edu )
Hores setmanals
Teoria
1.9
Problemes
0
Laboratori
1.9
Aprenentatge dirigit
0
Aprenentatge autònom
6.85
Competències
Treball en equip
Tercera llengua
Emprenedoria i innovació
Bàsiques
Genèriques
Específiques
Objectius
-
Comprendre els principals mètodes avançats de gestió de dades i dissenyar i implementar gestors de bases de dades no relacionals, amb especial èmfasi en sistemes distribuïts.
Competències relacionades: CB10, CB6, CB7, CB8, CB9, CT3, CT5, CE2, CE4, CE5, CG1, CG3, -
Comprendre, dissenyar, explicar i dur a terme processament paral·lel de la informació en sistemes distribuïts massivament.
Competències relacionades: CB10, CB6, CB7, CB8, CB9, CT3, CT5, CE2, CE4, CE5, CG1, CG3, -
Gestionar i processar un flux continu de dades.
Competències relacionades: CB6, CB7, CB8, CB9, CT3, CT5, CE2, CE4, CE5, CB10, CG1, CG3, -
Dissenyar, implementar i mantenir arquitectures de sistemes que gestionen el cicle de vida de la dada en entorns analítics.
Competències relacionades: CB10, CB6, CB7, CB8, CB9, CT1, CT3, CT5, CE12, CE13, CE2, CE4, CE5, CG1, CG3,
Continguts
-
Introducció
Big Data, Cloud Computing, Escalabilitat -
Disseny de Big Data
Polyglot systems; Schemaless databases; Key-value stores; Wide-column stores; Document-stores -
Gestió de dades distribuides
Transparency layers; Distributed file systems; File formats; Fragmentation; Replication and synchronization; Sharding; Distributed hash; LSM-Trees -
Gestió de dades a memòria
NUMA architectures; Columnar storage; Late reconstruction; Light-weight compression -
Processament distribuït de dades
Distributed Query Processing; Sequential access; Pipelining; Parallelism; Synchronization barriers; Multitenancy; MapReduce; Resilient Distributed Datasets; Spark -
Gestió i processament de Streams
One-pass algorithms; Sliding window; Stream to relation operations; Micro-batching; Sampling; Filtering; Sketching -
Arquitectures de Big Data
Centralized and Distributed functional architectures of relational systems; Lambda architecture
Activitats
Activitat Acte avaluatiu
Metodologia docent
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ètode d'avaluació
Final Mark = 60%E + 40%LL = Weighted average of the marks of the lab deliverables and tests
E = Final exam
Bibliografia
Bàsic
-
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/
Complementari
-
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
Capacitats prèvies
En ser Big Data Management l'evolució del Data Warehousing, aquest coneixement s'assumeix en aquest curs. Per tant, s'espera coneixement general sobre: disseny de bases de dades relacionals; Arquitectura del sistema de gestió de bases de dades; ETL i OLAPEspecíficament, s'espera coneixement 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