Bases de Dades Avançades

Esteu aquí

Crèdits
6
Tipus
Obligatòria
Requisits
Aquesta assignatura no té requisits, però té capacitats prèvies
Departament
ESSI
Aquesta assignatura forma els estudiants en les competències necessàries per a dissenyar i configurar bases de dades analítiques, avaluant les diferents alternatives possibles en el context de la seva empresa. Es tracten conceptes de bases de dades relacionals genèriques (aplicables a entorns decisionals d'emmagatzemament de dades), per tal d'aprofundir després en les alternatives no relacionals, també conegudes com a gestors NOSQL, més apropiats per entorns Big Data. Primer es presentaran conceptes de magatzems de dades i, després, gestors de dades específics (key-value i columnars) i arquitectures (distribuïdes i en memoria) alternatives a les bases de dades relacionals en certs escenaris. S'inclou també una introducció al disseny i configuració de bases de dades no relacionals, emfatitzant la configuració en entorns analítics i, incloent-hi el tractament massiu de dades en entorns d'estil funcional.
Els coneixements impartits són imprescindibles per afrontar les tasques pròpies de l'enginyer de dades.

Professors

Responsable

  • Alberto Abello Gamazo ( )

Altres

  • Oscar Romero Moral ( )
  • Sergi Nadal Francesch ( )

Hores setmanals

Teoria
2
Problemes
0
Laboratori
2
Aprenentatge dirigit
0.4
Aprenentatge autònom
6

Competències

Competències Tècniques

Competències tècniques

  • CE7 - Demostrar coneixement i capacitat d'aplicació de les eines necessàries per a l'emmagatzematge, el processament i l'accés a les dades.

Competències Transversals

Transversals

  • CT4 - Treball en equip. Ser capaç de treballar com a membre d'un equip interdisciplinari, ja sigui com un membre més o realitzant tasques de direcció, amb la finalitat de contribuir a desenvolupar projectes amb pragmatisme i sentit de la responsabilitat, assumint compromisos tenint en compte els recursos disponibles.
  • CT6 - Aprenentatge autònom. Detectar deficiències en el propi coneixement i superar-les mitjançant la reflexió crítica i l'elecció de la millor actuació per ampliar aquest coneixement.
  • CT7 - Tercera llengua. Conèixer una tercera llengua, preferentment l'anglès, amb un nivell adequat oral i escrit i d'acord amb les necessitats que tindran els titulats i titulades.

Bàsiques

  • CB2 - Que els estudiants sàpiguen aplicar els seus coneixements al seu treball o vocació d'una manera professional i posseeixin les competències que solen demostrar-se mitjançant l'elaboració i defensa d'arguments i la resolució de problemes dins la seva àrea d'estudi.
  • CB3 - Que els estudiants tinguin la capacitat de reunir i interpretar dades rellevants (normalment dins la seva àrea d'estudi) per emetre judicis que incloguin una reflexió sobre temes rellevants d'índole social, científica o ètica.

Competències Tècniques Generals

Genèriques

  • CG1 - Concebre sistemes computacionals que integren dades de procedències i formes molt diverses, construeixen amb ells models matemàtics, raonen sobre aquests models i actuen en conseqüència, aprenent de l'experiència.
  • CG2 - Elegir i aplicar els mètodes i tècniques més adequats a un problema definit per dades que representin un repte pel seu volum, velocitat, varietat o heterogeneïtat, inclosos mètodes informàtics, matemàtics, estadístics i de processament del senyal.

Objectius

  1. Ser capaç de discutir i justificar amb detall els colls d'ampolla dels gestors relacionals enfront de sistemes d'emmagatzematge i processament alternatius.
    Competències relacionades: CE7, CT4, CT6, CT7, CG1, CG2, CB2, CB3,
  2. Ser capaç d'analitzar els pros i contres de tenir (o no) un model únic de referència que s'adapti a tots els possibles escenaris d'emmagatzemament.
    Competències relacionades: CT7, CG1, CG2, CB2, CB3,
  3. Ser capaç de detectar i corregir defectes en un disseny lògic.
    Competències relacionades: CE7, CT4, CT6, CT7, CG2, CB2, CB3,
  4. Ser capaç d'obtenir l'esquema lògic a partir d'un esquema conceptual expressat en UML tenint en compte les conseqüències de la varietat i variabilitat de les dades.
    Competències relacionades: CE7, CT4, CT6, CT7, CG1, CG2, CB2, CB3,
  5. Ser capaç, donades unes certes característiques de les dades (volum, variabilitat d'esquema / dades, càrrega de treball esperada), elegir el model de dades i les estructures físiques adients per garantir un correcte balanç entre manteniment de la base de dades i rendiment.
    Competències relacionades: CE7, CT4, CT6, CT7, CG1, CG2, CB2, CB3,
  6. Ser capaç d'explicar el funcionament i calcular els cost d'accés de les principals estructures de dades utilitzades pels gestors.
    Competències relacionades: CE7, CT4, CT6, CT7, CG2, CB2, CB3,
  7. Ser capaç d'obtenir el pla d'accés d'una consulta segons uns criteris d'optimització.
    Competències relacionades: CE7, CT4, CT6, CT7, CG2, CB2, CB3,
  8. Ser capaç de reproduir l'execució dels algoritmes que intervenen en un arbre de procés i d'estimar-ne el cost.
    Competències relacionades: CE7, CT4, CT6, CT7, CG2, CB2, CB3,
  9. Ser capaç de decidir els índexos (primaris i secundaris) que cal definir en funció de les operacions esperades.
    Competències relacionades: CE7, CT4, CT6, CT7, CG2, CB2, CB3,
  10. Ser capaç de triar i justificar l'us d'emmagatzemament basat en files o columnes.
    Competències relacionades: CE7, CT4, CT6, CT7, CG2, CB2, CB3,
  11. Ser capaç d'explicar i utilitzar els principals mecanismes de processament paral·lel de consultes en entorns distribuïts, i detectar colls d'ampolla.
    Competències relacionades: CE7, CT4, CT6, CT7, CG2, CB2, CB3,
  12. Ser capaç de discutir i justificar amb detall els principis arquitectònics que comparteixen els nous sistemes d'emmagatzematge no relacionals.
    Competències relacionades: CE7, CT6, CT7, CG2, CB2, CB3,
  13. Ser capaç de, donat un escenari concret amb uns requeriments d'usuari (parcials o totals), identificar quines característiques dels gestors relacionals actuarien potencialment com a coll d'ampolla i enraonar quins tipus de gestors d'emmagatzematge serien més adients.
    Competències relacionades: CE7, CT4, CT6, CT7, CG1, CG2, CB2, CB3,
  14. Ser capaç de justificar i utilitzar entorns de processament distribuït de dades d'estil funcional, tipus MapReduce/Spark.
    Competències relacionades: CE7, CT4, CT6, CT7, CG1, CG2, CB2, CB3,

Continguts

  1. Introducció
    Emmagatzemament de dades en entorns analítics i Big Data
  2. Magatzems de dades
    Emmagatzemament de dades. Fluxes de dades ETL. Integració de dades. Eines OLAP.
  3. Tècniques per a la millora de rendiment de sistemes de bases de dades
    Vistes materialitzades. Estructures de dades i tècniques d'indexació (hash, arbres i bitmaps). Tècniques de compressió i emmagatzemament columnar. Paral·lelisme.
  4. Bases de dades distribuïdes
    Taxonomia de bases de dades distribuïdes. Arquitectures. Disseny de bases de dades distribuïdes (fragmentació i replicació). Mesures d'escalabilitat. Sistemes no relacionals Key-Value.
  5. Processament distribuït de dades
    Importància de l'accés seqüencial paral·lel. Barreres de sincronització (Bulk Synchronous Parallel model). Entorns de processament distribuït de dades d'estíl funcional (MapReduce i Spark). Abstracció de conjunts de dades distribuïts (Resilient Distributed Datasets).

Activitats

Activitat Acte avaluatiu


Introducció

Introducció de l'assignatura, motivació i visió general de les eines de gestió de dades existents actualment, els seus avantatges i inconvenients
Objectius: 1
Continguts:
Teoria
2h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
0h

Estudi dels magatzems de dades



Teoria
10h
Problemes
0h
Laboratori
12h
Aprenentatge dirigit
1h
Aprenentatge autònom
32h

Estudi de tècniques de millora del rendiment de sistemes de bases de dades

Aprenentatge dels tipus de problemes de gestió de vistes materialitzades i estructures d'indexació, així com els principals costos associats que tenen en cada cas
Objectius: 9 6 10
Continguts:
Teoria
4h
Problemes
0h
Laboratori
4h
Aprenentatge dirigit
1h
Aprenentatge autònom
12h

Estudi de bases de dades distribuïdes

Aprenentatge dels principis de bases de dades distribuïdes i la seva aplicació en sistemes NOSQL
Objectius: 1 12 13 11
Continguts:
Teoria
4h
Problemes
0h
Laboratori
4h
Aprenentatge dirigit
1h
Aprenentatge autònom
12h

Estudi del processament distribuït de dades

Aprenentatge de tècniques de processament distribuït de dades en entorns d'estil funcional
Objectius: 14
Continguts:
Teoria
10h
Problemes
0h
Laboratori
10h
Aprenentatge dirigit
1h
Aprenentatge autònom
24h

Examen final

Examen global de l'assignatura
Objectius: 1 2 12 9 7 8 3 4 13 6 11 10 14 5
Setmana: 15 (Fora d'horari lectiu)
Tipus: examen final
Teoria
0h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
2h
Aprenentatge autònom
10h

Metodologia docent

A les hores de teoria el professor exposa els conceptes corresponents a algun dels continguts. Alguns dels conceptes no són discutits pel professor sinó que els estudiants han de treballar materials publicats al campus virtual. Els dubtes que puguin sorgir al llegir aquests materials es resolen per part del professor o dels propis companys, mitjançant activitats d'aprenentatge cooperatiu.

A les hores de laboratori el professor presenta diferents exercicis, que els estudiants han de solucionar per parelles i que es resoldran a classe. Apart d'això, es faran també dos projectes: un d'anàlisi descriptiu de dades en un magatzem de dades i l'altre d'anàlisi predictiu en un entorn Big Data.

El curs també té una component d'aprenentatge autònom, donat que hauran de treballar amb diferents eines de gestió de dades (relacionals i no relacionals). A part del material de suport, han de ser capaços de resoldre dubtes o problemes d'us d'aquests gestors.

Mètode d'avaluació

Nota final = max(20%EP+40%EF ; 60% EF) + 40% P

EP = nota de l'examen parcial
EF = nota de l'examen final
P = nota de projecte, com a promig ponderat dels projectes del curs

Pels estudiants que puguin concórrer a la reavalaució, la nota de examen de reavaluació substituirà EF.

Bibliografia

Bàsica:

Complementaria:

Capacitats prèvies

Ser capaç de llegir i entendre materials en anglès.
Ser capaç d'enumerar les etapes que conformen el procés de l'enginyeria de software.
Ser capaç d'entendre esquemes conceptuals en UML.
Ser capaç de crear, consultar i manipular bases de dades amb SQL.

Addenda

Continguts

El contingut de l'assignatura no canviarà.

Metodologia docent

Es modificaran les classes magistrals per classes invertides (flipped classroom) en que l'estudiant haurà d'estudiar materials (texts o videos) de forma independent abans de la sessió corresponent, que es dedicarà a la realitazió d'exercicis i discussió/resolució de dubtes.

Mètode d'avaluació

El métode d'avaluació no canviarà.

Pla de contingència

La realització d'exercicis, discussions i resolució de dubtes de les classes invertides es farà de forma remota.