Conceptes per a Bases de Dades Especialitzades

Esteu aquí

Crèdits
6
Tipus
Complementària d'especialitat (Enginyeria del Software)
Requisits
  • Prerequisit: DBD
Departament
ESSI
Abans del nou mil·lenni, les bases de dades relacionals (BDRs) simbolitzaven el paradigma "one size fits all" per a l'emmagatzemament de dades. És a dir, eren la solució universal per a emmagatzemar, processar i accedir dades en qualsevol escenari, fos quin fos. Això, però, ha canviat amb l'arribada de nous reptes (molts d'ells impensables 20 anys enrere) que han portat els gestors relacionals al límit de la seva capacitat.

En aquesta assignatura es presenten conceptes de bases de dades específiques (és a dir, nous gestors i arquitectures) que avui dia ja són una alternativa real a les bases de dades relacionals en camps específics com els sistemes Web massius, els magatzems de dades (data warehouses) o la integració semàntica de dades, entre d'altres. Tot i ser tecnologies relativament noves, el seu grau de maduresa i la seva vàlua han estat provats davant casos reals, on han millorat el rendiment de les BDRs. Un bon exemple són els gestors NOSQL (Not Only SQL) que varen néixer i evolucionar amb els grans sistemes Web (xarxes socials com Facebook i Twitter, els serveis massius de Google i Amazon o el nou paradigma d'e-science). Aquests sistemes requereixen emmagatzemar quantitats ingents de dades (ja es comença a parlar d'exabytes), processar-les i accedir-les en un temps raonable (normalment, emprant paral•lelisme i computació distribuïda) a l'hora que el sistema és flexible, fàcilment escalable i tolerant a fallides. Per contra, renunciar (parcial o temporalment) a la consistència de dades, la concurrència o l'estructura de les dades (indispensables per les BDRs) no suposa un problema per aquests sistemes. De la mateixa manera, els sistemes column-store han irromput amb força en el món dels magatzems de dades, on conceptes com la normalització de les dades i l'optimització de les transaccions d'inserció i consulta no són indispensables.

A més, altres problemes quasi inexistents fa 20 anys, com la integració de dades (causada per fusions d'organitzacions, consorcis, cercadors, xarxes de coneixement, etc.), requereixen de noves tècniques i eines per resoldre l'heterogeneïtat semàntica de diferents fonts de dades. En definitiva, es presenten sistemes alternatius i complementaris als ben coneguts sistemes relacionals que, any rere any, guanyen pes a l'industria i a la ciència.

Professorat

Responsable

  • Oscar Romero Moral ( )

Altres

  • Anna Queralt Calafat ( )
  • Sergi Nadal Francesch ( )

Hores setmanals

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

Competències

Competències Tècniques

Competències tècniques comunes

  • CT2 - Utilitzar d'una manera apropiada teories, procediments i eines en el desenvolupament professional de l'enginyeria informàtica en tots els seus àmbits (especificació, disseny, implementació, desplegament -implantació- i avaluació de productes) de manera que es demostri la comprensió dels compromisos adoptats a les decisions de disseny.
    • CT2.4 - Demostrar coneixement i capacitat per a aplicar les eines necessàries a l'emmagatzematge, el processament i l'accés als sistemes d'informació, fins i tot els que es basen en la web.

Competències Tècniques de cada especialitat

Especialitat enginyeria del software

  • CES1 - Desenvolupar, mantenir i avaluar serveis i sistemes software que satisfacin tots els requisits de l'usuari, que es comportin de forma fiable i eficient, que tinguin un desenvolupament i un manteniment assequible i que compleixin normes de qualitat aplicant les teories, els principis, els mètodes i les pràctiques d'Enginyeria del Software.
    • CES1.2 - Donar solució a problemes d'integració en funció de les estratègies, dels estàndards i de les tecnologies disponibles.
    • CES1.5 - Especificar, dissenyar, implementar i avaluar bases de dades.
    • CES1.6 - Administrar bases de dades (CIS4.3)
  • CES3 - Identificar i analitzar problemes; dissenyar, desenvolupar, implementar, verificar i documentar solucions software sobre la base d'un coneixement adient de les teories, dels models i de les tècniques actuals.
    • CES3.2 - Dissenyar i gestionar un magatzem de dades (data warehouse).

Competències Transversals

Actitud adequada davant el treball

  • G8 [Avaluable] - Tenir motivació per a la realització professional i per a afrontar nous reptes, tenir una visió àmplia de les possibilitats de la carrera professional en l'àmbit de l'enginyeria en informàtica. Sentir-se motivat per la qualitat i la millora contínua, i actuar amb rigor en el desenvolupament professional. Capacitat d'adaptació als canvis organitzatius o tecnològics. Capacitat de treballar en situacions de carència d'informació i/o amb restriccions temporals i/o de recursos.
    • G8.3 - Estar motivat pel desenvolupament professional, per a afrontar nous reptes i per la millora contínua. Tenir capacitat de treball en situacions de falta d'informació.

Objectius

  1. Enumerar, discutir i justificar amb detall els colls d'ampolla dels gestors relacionals enfront de sistemes d'emmagatzematge massius (de dades o processament).
    Competències relacionades: CES1.5, CES1.6,
  2. Enumerar els pros i contres de tenir / no tenir un model únic de referència que s'adapti a tots els possibles escenaris d'emmagatzemament.
    Competències relacionades: CT2.4,
  3. Enumerar, discutir i justificar amb detall els principis que comparteixen els nous sistemes d'emmagatzematge no relacionals.
    Competències relacionades: CT2.4,
  4. Donat un escenari concret, amb uns requeriments d'usuari (parcials o totals), identificar quines característiques dels gestors relacionals actuarien com a coll d'ampolla (si cap) i enraonar quin gestor (o gestors) d'emmagatzematge alternatiu als relacionals és més adient.
    Competències relacionades: CT2.4,
    Subcompetences:
    • Enumerar, discutir i justificar amb detall les característiques principals dels sistemes data warehousing (o magatzems de dades) i contraposar-les als sistemes relacionals.
    • Enumerar, discutir i justificar amb detall les característiques principals dels sistemes massius basats en la web i contraposar-les als sistemes relacionals.
  5. Especificar i dissenyar arquitectures no relacionals que satisfacin els requeriments de qualsevol escenari.
    Competències relacionades: CES1.5, CES3.2,
    Subcompetences:
    • Dissenyar i mantenir arquitectures no relacionals per gestionar magatzems de dades.
    • Dissenyar i mantenir arquitectures no relacionals per gestionar sistemes massius basats en la web.
  6. Mantenir i evolucionar arquitectures no relacionals per adaptar-les a l'evolució dels requeriments d'usuari.
    Competències relacionades: CES1.6,
    Subcompetences:
    • Identificar les mancances d'un sistema d'emmagatzematge qualsevol i proposar (i justificar) alternatives d'emmagatzematge adequades per diferents criteris.
  7. Donats uns sistemes d'emmagatzemament ja existents, analitzar, justificar i classificar els (possibles) problemes d'integració.
    Competències relacionades: CES1.2,
  8. Especificar, dissenyar i crear processos de migració de dades (o processos ETL).
    Competències relacionades: CES1.2,
  9. Donat un nivell de qualitat de dades, portar a terme migracions de dades entre sistemes que garanteixin el nivell de qualitat demanat.
    Competències relacionades: CES1.2,
  10. Capacitat de treball en grup.
    Competències relacionades: G8.3,
    Subcompetences:
    • Defensar i justificar idees davant d'un grup.
    • Capacitat de negociació per arribar a consens.
  11. Capacitat de treball en situacions de falta d'informació.
    Competències relacionades: G8.3,
    Subcompetences:
    • Desenvolupar la capacitat d'autoformació.

Continguts

  1. Introducció
    Paradigma one size fits all. Colls d'ampolla de les bases de dades relacionals. Els sistemes distribuïts no relacionals con a solució. Nous reptes i oportunitats.
  2. Fonaments de bases de dades distribuïdes
    Les noves arquitectures de bases de dades tenen un tret en comú: la distribució de les dades com a estratègia per afrontar volums ingents de dades. Aquest bloc es divideix en quatre grans apartats:

    1) Introducció: Taxonomia de bases de dades distribuïdes. Arquitectures. Disseny de bases de dades distribuïdes (fragmentació i replicació). Mesures d'escalabilitat.


    2) Optimització de consultes en sistemes distribuits: Optimització semàntica, sintàctica i física de consultes. Paral·lelisme. Bases de dades paral·leles.


    3) Concurrència en sistemes distribuïts: Extensions del mòdul de concurrència d'un sistema centralitzat per adaptar-ho a entorns distribuïts. CAP theorem. Two-phase locking. Multi-versió. Time-stamping. Tècniques optimistes. Eventually consistent.


    4) Recuperació en sistemes distribuïts: Extensions del mòdul de recuperació d'un sistema centralitzat per adaptar-ho a entorns distribuïts. Checkpointing. Multi-level recovering. ARIES. 2-phase commit protocol. 3-phase commit protocol.
  3. NOSQL
    Sota l'etiqueta NOSQL trobem els nous sistemes distribuïts que relaxen tots (o alguns) dels colls d'ampolla del model relacional en entorns distribuïts. En aquest curs presentem una classificació d'aquests sistemes segons quina (o quines) característiques del model relacional relaxen i en veiem els 5 més rellevants:

    1) Object-oriented databases. Introducció i assumpcions. Model de dades. Escalabilitat. Llenguatges d'alt nivell. La primera extensió del model relacional: object-relational databases. Similituds i diferències.
    2) Column-oriented stores. Introducció i assumpcions. Model de dades. Escalabilitat. Llenguatges d'alt nivell. Extensions relacionals DSS.
    3) Key-value stores. Introducció i assumpcions. Model de dades. Escalabilitat. Llenguatges d'alt nivell. MapReduce.
    4) Document-stores. Introducció i assumpcions. Model de dades. XML databases. Escalabilitat. Llenguatges d'alt nivell.
    5) Graph databases. Introducció i assumpcions. Model de dades. RDF i triple stores. Escalabilitat. Llenguatges d'alt nivell.
  4. Integració de dades
    El trencament del paradigma one size fits all comporta la co-existència de diferents gestors de bases de dades, cadascun especialitzat en un tipus d'escenari (inclús d'escenaris dintre del mateix sistema) amb unes característiques concretes. Integrar (per creuar, analitzar, homogenitzar, etc.) dades provinents de diferents sistemes és, avui dia, un repte. En aquest bloc ens centrem en com resoldre la integració de dades a nivell d'esquema:

    1) Introducció: Tipus d'heterogeneïtats. Arquitectures: LAV, GAV, GLAV, Mediators, Peer-to-peer, Ontology-based data access.

    2) Processos ETL: Originalment associats als magatzems de dades, avui dia tenen un àmbit més general i són sinònims de migració de dades entre sistemes (normalment heterogenis). El punt anterior afronta l'heterogeneïtat a nivell d'esquema, mentre que els processos ETL ho fan a nivell d'instància. Conceptes bàsics. Extracció, transformació i càrrega. Operadors ETL.

    3) Molt lligat amb la integració de dades, diferents sistemes requereixen diferent nivell de qualitat de les dades, i això impacta directament en el nombre de transformacions a aplicar a les dades durant els processos de migració. Introducció. Causes. Mètodes i tècniques. Avaluació de la qualitat.

Activitats

Activitat Acte avaluatiu


Sessió 1: Motivació i introducció als sistemes NOSQL (més enllà de la tecnologia relacional).

Ve a classe i escolta. S'espera una actitud activa per part de l'alumne, ja sigui preguntant sobre els materials disponibles del tema, així com preparant i participant activament en les activitats d'aprenentatge actiu que s'aniran introduïnt durant el curs.
  • Teoria: Motivació de la necessitat de flexibilitzar els sistemes relacionals per adaptar-se millor a qualsevol entorn.
Objectius: 1 3 2
Continguts:
Teoria
2h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
0h

Sessió 2: Fonaments dels sistemes de bases de dades distribuïts

Ve a classe i escolta. S'espera una actitud activa per part de l'alumne, ja sigui preguntant sobre els materials disponibles del tema, així com preparant i participant activament en les activitats d'aprenentatge actiu que s'aniran introduïnt durant el curs.
  • Aprenentatge autònom: Llegir el document sobre disseny de bases de dades distribuïdes. Fer un exercici sobre el tema.
Objectius: 3
Continguts:
Teoria
2h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
2h

Sessió 2.1: Optimització de consultes en sistemes distribuïts

Ve a classe i escolta. S'espera una actitud activa per part de l'alumne, ja sigui preguntant sobre els materials disponibles del tema, així com preparant i participant activament en les activitats d'aprenentatge actiu que s'aniran introduïnt durant el curs.
  • Aprenentatge autònom: Fer un exercici sobre el tema.
Objectius: 1 3
Continguts:
Teoria
2h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
2h

Sessió 2.2: Concurrència en sistemes distribuïts

Ve a classe i escolta. S'espera una actitud activa per part de l'alumne, ja sigui preguntant sobre els materials disponibles del tema, així com preparant i participant activament en les activitats d'aprenentatge actiu que s'aniran introduïnt durant el curs.
  • Aprenentatge autònom: Llegir el document sobre concurrència en sistemes distribuïts. Fer un exercici sobre el tema.
Objectius: 1 3 4
Continguts:
Teoria
2h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
2h

Sessió 2.3: Recuperació en sistemes distribuïts

Ve a classe i escolta. S'espera una actitud activa per part de l'alumne, ja sigui preguntant sobre els materials disponibles del tema, així com preparant i participant activament en les activitats d'aprenentatge actiu que s'aniran introduïnt durant el curs.
  • Aprenentatge autònom: Llegir el document sobre recuperació en sistemes distribuïts
Objectius: 1 3 4
Continguts:
Teoria
2h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
2h

Sessió 3.1: Key-value stores

Ve a classe i escolta. S'espera una actitud activa per part de l'alumne, ja sigui preguntant sobre els materials disponibles del tema, així com preparant i participant activament en les activitats d'aprenentatge actiu que s'aniran introduïnt durant el curs.
Objectius: 4 5 6
Continguts:
Teoria
2h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
0h

Sessió 3.2: MapReduce

Ve a classe i escolta. S'espera una actitud activa per part de l'alumne, ja sigui preguntant sobre els materials disponibles del tema, així com preparant i participant activament en les activitats d'aprenentatge actiu que s'aniran introduïnt durant el curs.
Objectius: 4 6 7 8
Continguts:
Teoria
2h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
0h

Sessió 3.3: Document-stores

Ve a classe i escolta. S'espera una actitud activa per part de l'alumne, ja sigui preguntant sobre els materials disponibles del tema, així com preparant i participant activament en les activitats d'aprenentatge actiu que s'aniran introduïnt durant el curs.
Objectius: 4 5 6
Continguts:
Teoria
2h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
0h

Sessió 3.4: Object-relational

Ve a classe i escolta. S'espera una actitud activa per part de l'alumne, ja sigui preguntant sobre els materials disponibles del tema, així com preparant i participant activament en les activitats d'aprenentatge actiu que s'aniran introduïnt durant el curs.
  • Teoria: Estudi de les extensions object-oriented dels sistemes relacionals
  • Aprenentatge autònom: Cada estudiant ha de portar llegit un dels següents articles, que després es discutiran a classe: - "The Object-Oriented Database System Manifesto" - "Third Generation Database System Manifesto"
Objectius: 2
Continguts:
Teoria
2h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
1h

Sessió 3.5: Graph databases

Ve a classe i escolta. S'espera una actitud activa per part de l'alumne, ja sigui preguntant sobre els materials disponibles del tema, així com preparant i participant activament en les activitats d'aprenentatge actiu que s'aniran introduïnt durant el curs.
Objectius: 4 5 6
Continguts:
Teoria
2h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
0h

Sessió 3.6: Column-store databases

Ve a classe i escolta. S'espera una actitud activa per part de l'alumne, ja sigui preguntant sobre els materials disponibles del tema, així com preparant i participant activament en les activitats d'aprenentatge actiu que s'aniran introduïnt durant el curs.
Objectius: 4 5 6
Continguts:
Teoria
2h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
0h

Sessió 4: Integració de dades

Ve a classe i escolta. S'espera una actitud activa per part de l'alumne, ja sigui preguntant sobre els materials disponibles del tema, així com preparant i participant activament en les activitats d'aprenentatge actiu que s'aniran introduïnt durant el curs.
Objectius: 2 7
Continguts:
Teoria
2h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
0h

Sessió 4.1: Qualitat de les dades

Ve a classe i escolta. S'espera una actitud activa per part de l'alumne, ja sigui preguntant sobre els materials disponibles del tema, així com preparant i participant activament en les activitats d'aprenentatge actiu que s'aniran introduïnt durant el curs.
Objectius: 2 9 8
Continguts:
Teoria
2h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
0h

Sessió 4.2: Processos ETL

Ve a classe i escolta. S'espera una actitud activa per part de l'alumne, ja sigui preguntant sobre els materials disponibles del tema, així com preparant i participant activament en les activitats d'aprenentatge actiu que s'aniran introduïnt durant el curs.
Objectius: 2 8
Continguts:
Teoria
2h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
0h

Lab 1: Pràctica sobre la teoria dels sistemes distribuïts


Objectius: 1 3 10 11
Setmana: 2
Tipus: examen de laboratori
Teoria
0h
Problemes
0h
Laboratori
3h
Aprenentatge dirigit
0h
Aprenentatge autònom
5h

Lab: Key-value stores (part 1)


Objectius: 4 5 6 10 11
Setmana: 3
Tipus: examen de laboratori
Teoria
0h
Problemes
0h
Laboratori
3h
Aprenentatge dirigit
0h
Aprenentatge autònom
10h

Lab: Key-value stores (part 2)


Objectius: 4 5 6 10 11
Setmana: 4
Tipus: examen de laboratori
Teoria
0h
Problemes
0h
Laboratori
3h
Aprenentatge dirigit
0h
Aprenentatge autònom
8h

Lab: Document-stores (part 1)


Objectius: 4 5 6 10 11
Setmana: 5
Tipus: examen de laboratori
Teoria
0h
Problemes
0h
Laboratori
3h
Aprenentatge dirigit
0h
Aprenentatge autònom
10h

Lab: Document-stores (part 2)


Objectius: 4 5 6 10 11
Setmana: 6
Tipus: examen de laboratori
Teoria
0h
Problemes
0h
Laboratori
3h
Aprenentatge dirigit
0h
Aprenentatge autònom
8h

Lab: Object-relational Vs. Object-relational databases (part 1)


Objectius: 4 2 10 11
Setmana: 7
Tipus: examen de laboratori
Teoria
0h
Problemes
0h
Laboratori
3h
Aprenentatge dirigit
0h
Aprenentatge autònom
4h

Lab: Object-relational Vs. Object-relational databases (part 2)


Objectius: 4 5 6 2 10 11
Setmana: 8
Tipus: examen de laboratori
Teoria
0h
Problemes
0h
Laboratori
3h
Aprenentatge dirigit
0h
Aprenentatge autònom
4h

Lab: Graph databases (part 1)


Objectius: 4 5 6 10 11
Setmana: 9
Tipus: examen de laboratori
Teoria
0h
Problemes
0h
Laboratori
3h
Aprenentatge dirigit
0h
Aprenentatge autònom
6h

Lab: Graph databases (part 2)


Objectius: 4 5 6 10 11
Setmana: 10
Tipus: examen de laboratori
Teoria
0h
Problemes
0h
Laboratori
3h
Aprenentatge dirigit
0h
Aprenentatge autònom
10h

Lab 6: Simulacio de column-oriented DBs


Objectius: 4 5 6 10 11
Setmana: 11
Tipus: examen de laboratori
Teoria
0h
Problemes
0h
Laboratori
3h
Aprenentatge dirigit
0h
Aprenentatge autònom
10h

Exàmen final

Exàmen final de tots els continguts de l'assignatura
Objectius: 1 3 4 5 6 2 7 9 8 10 11
Setmana: 15 (Fora d'horari lectiu)
Tipus: examen de teoria
Teoria
2h
Problemes
0h
Laboratori
0h
Aprenentatge dirigit
0h
Aprenentatge autònom
6h

Metodologia docent

A les hores de teoria el professor exposa els conceptes corresponents a algun dels continguts. Vàries de les sessions de teoria disposen de material addicional que l'alumne haurà de llegir abans de la sessió. Els dubtes que puguin sorgir al llegir aquest material es resoldran per part del professor o pels propis companys, mitjançant activitats d'aprenentatge cooperatiu, a les sessions de teoria.
Alguns conceptes d'alguns continguts no són discutits pel professor sinó que els estudiants han de treballar materials que el professor haurà publicat al campus virtual (en aquest cas, caldrà resoldre petits qüestionaris que es trobaran al campus virtual).

Els laboratoris es treballen en parelles i es presenten durant una setmana i s'entreguen a la següent. A la primera sessió el professor introdueix el tema i l'objectiu de la pràctica. Els estudiants comencen a fer la pràctica i resolen els seus dubtes amb el professor. A la segona sessió es fa l'entrega.

El curs també té una component d'auto-aprenentatge, donat que hauran de treballar amb gestors no relacionals. A part del material de suport, han de ser capaços de resoldre dubtes o problemes d'us amb aquests gestors. S'activarà un forum per tal de promoure la discussió entre alumnes.

Mètode d'avaluació

Nota final = 70% min(10,P) + 20%EX + 10%C

EX = nota de l'examen final
P = promig ponderat de les notes dels qüestionaris i de les sessions de laboratori
C = avaluació entre companys

Càlcul de P:
1) Multiplicar la nota obtinguda a cadascuna de les activitats per un pes igual a 1, 2, 4 o 8 (depenent del contingut de l'activitat en questió)
2) Dividir la suma d'aquests valors per la suma de pesos assignats menys el 10%

Càlcul de C: els estudiants tindran diverses parelles durant el semestre. Al final hauran de valorar-les segons 5 criteris: contribucions, abilitat per resoldre problemes, actitud, preparació, treball en equip i concentració. Prenent com a base aquestes valoracions, el professor assignarà la nota.

La qualificació de la competència transversal "Actitud adequada davant el treball" serà A (competència superada amb excel.lència), B (competència superada al nivell desitjat), C (competència superada a un nivell suficient) o D(competència no superada). Aquesta nota es computa com la mitja ponderada de C i la nota d'actitud recollida pel professor (participació en les activitats dirigides a classe i grau d'autonomia a l'hora de preparar les sessions NOSQL).

Bibliografia

Bàsica:

Complementaria:

Capacitats prèvies

Es pressuposen coneixements en disseny físic de sistemes centralitzats, específicament en transaccions ACID i optimització física de consultes.
Ser capaç de llegir i entendre materials en anglès.