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 (
)
Marc Maynou Yelamos (
)
Weekly hours
Theory
2
Problems
0
Laboratory
2
Guided learning
0
Autonomous learning
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
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,
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,
Enumerar, discutir i justificar amb detall els principis que comparteixen els nous sistemes d'emmagatzematge no relacionals.
Related competences:
CT2.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.
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.
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.
Donats uns sistemes d'emmagatzemament ja existents, analitzar, justificar i classificar els (possibles) problemes d'integració.
Related competences:
CES1.2,
Especificar, dissenyar i crear processos de migració de dades (o processos ETL).
Related competences:
CES1.2,
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,
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.
Capacitat de treball en situacions de falta d'informació.
Related competences:
G8.3,
Subcompetences:
Desenvolupar la capacitat d'autoformació.
Contents
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.
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.
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.
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
ActivityEvaluation 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:132 Contents:
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:
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:13 Contents:
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:134 Contents:
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:134 Contents:
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:456 Contents:
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:4678 Contents:
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:456 Contents:
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:
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:456 Contents:
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:456 Contents:
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:27 Contents:
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:298 Contents:
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:28 Contents:
Final exam including all the course content Objectives:1345627981011 Week:
15 (Outside class hours)
Theory
2h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
6h
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).
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.
Evaluation methodology
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).
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.