Administració de Dades Massives

Esteu aquí

Crèdits
6
Tipus
Obligatòria
Requisits
Aquesta assignatura no té requisits, però té capacitats prèvies
Departament
ESSI
L'objectiu principal d'aquest curs és analitzar les necessitats tecnològiques i d'enginyeria de la gestió de Big Data. La tecnologia habilitadora d'aquest desafiament són els serveis en el núvol, que proporcionen l'elasticitat necessària per escalar adequadament la infraestructura a mesura que creixen les necessitats de l'empresa. D'aquesta manera, els estudiants aprenen tècniques avançades de gestió de dades (és a dir, solucions NOSQL) que també escalen amb la infraestructura. Sent la gestió de Big Data l'evolució de Data Warehousing, es considera que aquest coneixement (consulteu el tema corresponent a l'especialitat de Ciència de Dades per obtenir més informació sobre els seus continguts) com ja asolit i l'assignatura es centrarà específicament en la gestió del volum i la velocitat.

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

  • Alberto Abello Gamazo ( )

Altres

  • Besim Bilalli ( )

Hores setmanals

Teoria
1.9
Problemes
0
Laboratori
1.9
Aprenentatge dirigit
0
Aprenentatge autònom
6.85

Competències

Competències Transversals

Treball en equip

  • CT3 - Ser capaç de treballar com a membre d'un equip interdisciplinari, ja sigui com un membre més o duent a terme tasques de direcció, amb la finalitat de contribuir a desenvolupar projectes amb pragmatisme i sentit de la responsabilitat, tot assumint compromisos considerant els recursos disponibles.

Tercera llengua

  • CT5 - Conèixer una tercera llengua, preferentment l'anglès, amb un nivell adequat oral i escrit i en consonància amb les necessitats que tindran els titulats i titulades.

Emprenedoria i innovació

  • CT1 - Conèixer i comprendre l'organització d'una empresa i les ciències que regeixen la seva activitat; tenir capacitat per entendre les normes laborals i les relacions entre la planificació, les estratègies industrials i comercials, la qualitat i el benefici. Conèixer i entendre els mecanismes en què es basa la recerca científica, així com els mecanismes i instruments de transferència de resultats entre els diferents agents socioeconòmics implicats en els processos d'I+D+i.

Bàsiques

  • CB6 - Que els estudiants sàpiguen aplicar els coneixements adquirits y la seva capacitat de resolució de problemes en entorns nous o poc coneguts dins de contexts més amplis (o multidisciplinaris) relacionats amb la seva àrea d'estudi.
  • CB7 - Que els estudiants siguin capaços d'integrar coneixements i enfrontar-se a la complexitat de formular judicis a partir d'una informació que, essent incomplerta o limitada, inclogui reflexions sobre les responsabilitats socials i ètiques vinculades a l'aplicació dels seus coneixements i judicis.
  • CB8 - Que els estudiants sàpiguen comunicar les seves conclusions i els coneixements i raons darreres que les sustenten- a públics especialitzats i no especialitzats d'una manera clara i sense ambigüitats.
  • CB9 - Que els estudiants posseeixin les habilitats d'aprenentatge que els permetin continuar estudiant d'una manera que haurà de ser en gran mesura autodirigida o autònoma..
  • CB10 - Posseir i comprendre coneixements que aportin una base o oportunitat de ser originals en el desenvolupament i/o aplicació d'idees, sovint en un context de recerca.

Competències Tècniques Generals

Genèriques

  • CG1 - Identificar i aplicar els mètodes i processos de gestió de dades més adequats per gestionar el cicle de vida de les dades, incloent-hi dades estructurades i no estructurades
  • CG3 - Definir, dissenyar i implementar sistemes complexos que cobreixin totes les fases en projectes de ciència de dades

Competències Tècniques

Específiques

  • CE2 - Aplicar els fonaments de la gestió i processament de dades en un problema de ciència de dades
  • CE4 - Aplicar mètodes escalables d'emmagatzematge i processament paral·lel de dades, incloent-hi fluxos continus de dades, un cop identificats els més apropiats per a un problema de ciència de dades
  • CE5 - Modelar, dissenyar i implementar sistemes complexos de dades, incloent-hi la visualització de dades
  • CE12 - Aplicar la ciència de dades en projectes multidisciplinaris per resoldre problemes en dominis nous o poc coneguts per la ciència de dades i que siguin econòmicament viables, socialment acceptables, i d'acord amb la legalitat vigent
  • CE13 - Identificar les principals amenaces en l'àmbit de l'ètica i la privacitat de dades en un projecte de ciència de dades (tant en l'aspecte de gestió com d'anàlisi de dades) i desenvolupar i implantar mesures adequades per esmorteïr aquestes amenaces.

Objectius

  1. 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: CT3, CT5, CG1, CG3, CE2, CE4, CE5, CB6, CB7, CB8, CB9, CB10,
  2. Comprendre, dissenyar, explicar i dur a terme processament paral·lel de la informació en sistemes distribuïts massivament.
    Competències relacionades: CT3, CT5, CG1, CG3, CE2, CE4, CE5, CB6, CB7, CB8, CB9, CB10,
  3. Gestionar i processar un flux continu de dades.
    Competències relacionades: CT3, CT5, CG1, CG3, CE2, CE4, CE5, CB6, CB7, CB8, CB9, CB10,
  4. Dissenyar, implementar i mantenir arquitectures de sistemes que gestionen el cicle de vida de la dada en entorns analítics.
    Competències relacionades: CT3, CT5, CT1, CG1, CG3, CE2, CE4, CE5, CE12, CE13, CB6, CB7, CB8, CB9, CB10,

Continguts

  1. Introducció
    Big Data, Cloud Computing, Escalabilitat
  2. Disseny de Big Data
    Polyglot systems; Schemaless databases; Key-value stores; Wide-column stores; Document-stores
  3. Gestió de dades distribuides
    Transparency layers; Distributed file systems; File formats; Fragmentation; Replication and synchronization; Sharding; Distributed hash; LSM-Trees
  4. Gestió de dades a memòria
    NUMA architectures; Columnar storage; Late reconstruction; Light-weight compression
  5. Processament distribuït de dades
    Distributed Query Processing; Sequential access; Pipelining; Parallelism; Synchronization barriers; Multitenancy; MapReduce; Resilient Distributed Datasets; Spark
  6. Gestió i processament de Streams
    One-pass algorithms; Sliding window; Stream to relation operations; Micro-batching; Sampling; Filtering; Sketching
  7. Arquitectures de Big Data
    Centralized and Distributed functional architectures of relational systems; Lambda architecture

Activitats

Activitat Acte avaluatiu


Classes de teoria

En aquestes activitats, el profesor introduirà el principals conceptes teòrics de l'assignatura. Es demanarà la participació activa dels estudiants.
Objectius: 2 1 3 4
Continguts:
Teoria
25h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
25h

Teoria
2h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
17h

Teoria
0h
Problemes
0h
Laboratori
27h
Aprenentatge dirigit
0h
Aprenentatge autònom
54h

Metodologia docent

The course comprises theory, and lab sessions.

Theory: Inverted class techniques will be used, which require that the student works on the provided multimedia materials before the class. Then, theory lectures comprise the teacher's 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 = min(10 ; 60%E + 40%L + 10%P)

L = Weighted average of the marks of the lab deliverables and tests
E = Final exam
P = Participation in the class

Bibliografia

Bàsica:

Complementaria:

Web links

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 OLAP

Especí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