Concepts for Specialised Databases

You are here

Credits
6
Types
Specialization complementary (Software Engineering)
Requirements
  • Prerequisite: DBD
Department
ESSI
Before the 2000, relational databases (RDBMS) were the "one size fits all" universal solution for data storage. Regardless of the scenario, RDBMS were always chosen to store and process data. However, this has dramatically changed with the advent of new challenges (most of them unimaginable 20 years ago), which have brought RDBMS, for some scenarios, to the limits of their capacity.

In this course we present concepts for specialized databases (i.e., new database management system architectures) that are nowadays a reality and an alternative to RDBMS for specific scenarios such as massive Web-based systems, decision support systems (e.g., data warehousing), semantic data integration etc. Although these are relatively new technologies, their maturity and added value has already been shown for real cases where they have outperformed RDBMS. A good example are the NOSQL (Not Only SQL) management systems, which got born and evolved aligned with large Web systems (e.g., social media such as Facebook and Twitter; massive services such as Google or Amazon or the new e-science paradigm). Such systems need to store large volumes of data, process and manage them in a reasonable amount of time (typically exploiting parallelism on top of distributed architectures) while the system remains flexible, scalable and fault-tolerant. As a price to pay, these systems tend to compromise consistency, concurrency and data tend to be semi-structured (leading to the loss of the data independence principle and difficulting the possibility to develop query optimizers).

Teachers

Person in charge

  • Oscar Romero Moral ( )

Others

  • Anna Queralt Calafat ( )

Weekly hours

Theory
2
Problems
0
Laboratory
2
Guided learning
0.4
Autonomous learning
5.6

Competences

Technical Competences

Common technical competencies

  • CT2 - To use properly theories, procedures and tools in the professional development of the informatics engineering in all its fields (specification, design, implementation, deployment and products evaluation) demonstrating the comprehension of the adopted compromises in the design decisions.
    • CT2.4 - To demonstrate knowledge and capacity to apply the needed tools for storage, processing and access to the information system, even if they are web-based systems.

Technical Competences of each Specialization

Software engineering specialization

  • CES1 - To develop, maintain and evaluate software services and systems which satisfy all user requirements, which behave reliably and efficiently, with a reasonable development and maintenance and which satisfy the rules for quality applying the theories, principles, methods and practices of Software Engineering.
    • CES1.2 - To solve integration problems in function of the strategies, standards and available technologies
    • CES1.5 - To specify, design, implement and evaluate databases.
    • CES1.6 - To administrate databases (CIS4.3).
  • CES3 - To identify and analyse problems; design, develop, implement, verify and document software solutions having an adequate knowledge about the current theories, models and techniques.
    • CES3.2 - To design and manage a data warehouse.

Transversal Competences

Appropiate attitude towards work

  • G8 [Avaluable] - To have motivation to be professional and to face new challenges, have a width vision of the possibilities of the career in the field of informatics engineering. To feel motivated for the quality and the continuous improvement, and behave rigorously in the professional development. Capacity to adapt oneself to organizational or technological changes. Capacity to work in situations with information shortage and/or time and/or resources restrictions.
    • G8.3 - To be motivated for the professional development, to face new challenges and the continuous improvement. To have capacity to work in situations with a lack of information.

Objectives

  1. Enumerar, discutir i justificar amb detall els colls d'ampolla dels gestors relacionals enfront de sistemes d'emmagatzematge massius (de dades o processament).
    Related competences: 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.
    Related competences: CT2.4,
  3. Enumerar, discutir i justificar amb detall els principis que comparteixen els nous sistemes d'emmagatzematge no relacionals.
    Related competences: 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.
    Related competences: 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.
    Related competences: 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.
    Related competences: 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ó.
    Related competences: CES1.2,
  8. Especificar, dissenyar i crear processos de migració de dades (o processos ETL).
    Related competences: 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.
    Related competences: CES1.2,
  10. Capacitat de treball en grup.
    Related competences: 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ó.
    Related competences: G8.3,
    Subcompetences:
    • Desenvolupar la capacitat d'autoformació.

Contents

  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.

Activities

Activity Evaluation act


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.
Objectives: 1 3 2
Contents:
Theory
2h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
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.
Objectives: 3
Contents:
Theory
2h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
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.
Objectives: 1 3
Contents:
Theory
2h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
0h

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.
Objectives: 1 3 4
Contents:
Theory
2h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
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.
Objectives: 1 3 4
Contents:
Theory
2h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
2h

Examen Parcial


Objectives: 1 2
Week: 4
Type: theory exam
Theory
2h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
6h

Sessió 3: Introducció a NOSQL.

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.
Objectives: 3 2
Contents:
Theory
0.5h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
0h

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.
Objectives: 4 5 6
Contents:
Theory
1.5h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
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.
Objectives: 4 6 7 8
Contents:
Theory
2h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
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.
Objectives: 4 5 6
Contents:
Theory
2h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
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.
Objectives: 2
Contents:
Theory
2h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
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.
Objectives: 4 5 6
Contents:
Theory
2h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
0h

Sessió 3.6: Sistemes decisionals (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.
Objectives: 4 5 6
Contents:
Theory
2h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
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.
Objectives: 2 7
Contents:
Theory
2h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
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.
Objectives: 2 9 8
Contents:
Theory
2h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
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.
Objectives: 2 8
Contents:
Theory
2h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
0h

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


Objectives: 1 3 10 11
Week: 2
Type: lab exam
Theory
0h
Problems
0h
Laboratory
2h
Guided learning
0h
Autonomous learning
1h

Lab: Key-value stores (part 1)


Objectives: 4 5 6 10 11
Week: 3
Type: lab exam
Theory
0h
Problems
0h
Laboratory
2h
Guided learning
0h
Autonomous learning
6h

Lab: Key-value stores (part 2)


Objectives: 4 5 6 10 11
Week: 4
Type: lab exam
Theory
0h
Problems
0h
Laboratory
2h
Guided learning
0h
Autonomous learning
4h

Lab: Document-stores (part 1)


Objectives: 4 5 6 10 11
Week: 5
Type: lab exam
Theory
0h
Problems
0h
Laboratory
2h
Guided learning
0h
Autonomous learning
8h

Lab: Document-stores (part 2)


Objectives: 4 5 6 10 11
Week: 6
Type: lab exam
Theory
0h
Problems
0h
Laboratory
2h
Guided learning
0h
Autonomous learning
8h

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


Objectives: 4 2 10 11
Week: 7
Type: lab exam
Theory
0h
Problems
0h
Laboratory
2h
Guided learning
0h
Autonomous learning
4h

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


Objectives: 4 5 6 2 10 11
Week: 8
Type: lab exam
Theory
0h
Problems
0h
Laboratory
2h
Guided learning
0h
Autonomous learning
4h

Lab: Graph databases (part 1)


Objectives: 4 5 6 10 11
Week: 9
Type: lab exam
Theory
0h
Problems
0h
Laboratory
2h
Guided learning
0h
Autonomous learning
4h

Lab: Graph databases (part 2)


Objectives: 4 5 6 10 11
Week: 10
Type: lab exam
Theory
0h
Problems
0h
Laboratory
2h
Guided learning
0h
Autonomous learning
8h

Lab 6: Sistemes de suport a les decisions


Objectives: 4 5 6 10 11
Week: 11
Type: lab exam
Theory
0h
Problems
0h
Laboratory
2h
Guided learning
0h
Autonomous learning
6h

Lab 11: Integració de dades


Objectives: 4 2 7 10 11
Week: 12
Type: lab exam
Theory
0h
Problems
0h
Laboratory
2h
Guided learning
0h
Autonomous learning
6h

Lab 13: Qualitat de les dades


Objectives: 2 9 10 11
Week: 13
Type: lab exam
Theory
0h
Problems
0h
Laboratory
2h
Guided learning
0h
Autonomous learning
6h

Lab 12: Processos ETL


Objectives: 2 8 10 11
Week: 14
Type: lab exam
Theory
0h
Problems
0h
Laboratory
2h
Guided learning
0h
Autonomous learning
6h

Xerrades d'experts en sistemes distribuïts avançats

Assisteix i escolta. Després, s'espera que sigui crític i participi activament en la discussió del tema amb els seus companys, el professor i l'expert.
Objectives: 1 3 4 5 6 2 7 9 8
Contents:
Theory
0h
Problems
0h
Laboratory
0h
Guided learning
6h
Autonomous learning
0h

Teaching methodology

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).

Sobre els conceptes introduits durant el curs, els estudiants poden anar creant entrades d'un glossari accessible des del campus virtual. L'objectiu d'aquest glossari és capturar els conceptes més rellevants del curs.

A les hores de laboratori el professor presenta una pràctica, a través del campus virtual, que els estudiants han de solucionar per parelles. En els dies previs les mateixes parelles hauran tingut l'oportunitat de treballar un qüestionari similar al de la sessió de laboratori. Això ho poden fer des de qualsevol punt amb accés a internet obtenint feedback del corrector automàtic. A més, el mateix mòdul permet als membres de la parella fer-se comentaris sobre els exercicis sense necessitat de trobar-se físicament.

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.

Evaluation methodology

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

EX = nota de l'examen parcial (no hi ha 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 6

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.

S = nota dels seminaris (assistència, participació i qüestionaris)

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, S 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).

Bibliography

Basic:

Complementary:

Previous capacities

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.

Addendum

Contents

Els continguts de l'assignatura no varien.

Teaching methodology

La teoria es farà de forma presencial, tal i com estava planeada. Els laboratoris es faran de forma online. Segons el tipus de laboratori, alguns es faran de forma online síncrona, i d'altres asíncronament. En general, es publicarà un enunciat que caldrà resoldre per parelles (que decidiran els mateixos estudiants). Els primers minuts de les sessions de laboratori, el professor explicarà l'objectiu de la pràctica i es destinaran els primers 30-45' a resoldre dubtes. A partir d'aquí, l'estudiant, de forma autònoma, haurà de resoldre el laboratori i pujar la solució a la pàgina web de l'assignatura abans de la data de finalització que s'anunciarà d'avantmà. S'evitaran entregues síncrones, per lo que sempre hi haurà temps per treballar amb el company. Fora d'aquest temps de classe, es planificaran sessions de consultes per correu o, si cal, per videoconferència. Segons la necessitat.

Evaluation methodology

Donat que pot passar que alguns estudiants hagin de quedar-se a casa al desenvolupar síntomes o s'hagin de confinar per contacte amb tercers infectats, s'anul·len les activitats de classe obligatòries. D'aquesta manera, cap acte avaluatori requerirà de la presència de l'estudiant a una aula. Els percentatges d'avaluació es mantenen igual. Els laboratoris, com s'explica al punt anterior, no requereixen avaluació síncrona i no hi haurà exercicis de classe que computin per la nota de pràctiques / exercicis.

Contingency plan

En cas que s'hagi d'arribar a un nou confinament, les classes de teoria també passaran a ser online. Es distingeixen dos tipus de sessions: 1) Aquelles on hi ha suficient material de suport, els professors facilitaran material (documents i vídeos) i exercicis per fer, així com exercicis solucionats. Els estudiants hauran d'estudiar aquest material pel seu compte. 2) Quan no hi hagi suficient material de qualitat per desenvolupar l'activitat, es faran classes síncrones per videonconferència. La intenció és gravar-les per a que els estudiants en tinguin accés sempre que vulguin. No obstant, aquest punt dependrà que la UPC confirmi que es mantindrà l'opció de gravar les sessions a Google Meet.