Conceptos para Bases de Datos Especializadas

Usted está aquí

Créditos
6
Tipos
Complementaria de especialidad (Ingeniería del Software)
Requisitos
  • Prerrequisito: DBD
Departamento
ESSI
Antes del nuevo milenio, las bases de datos relacionales (BDRs) simbolizaban el paradigma "one size fits all" para el almacenamiento de datos. Es decir, eran la solución universal para almacenar, procesar y acceder a datos en cualquier escenario, sea cual fuere. Sin embargo, esto ha cambiado con la llegada de nuevos retos (muchos de ellos impensables 20 años atrás) que han llevado a los gestores relacionales al límite de su capacidad. En esta asignatura se presentan conceptos de bases de datos específicas (es a decir, nuevos gestores y arquitecturas) que hoy en día ya son una alternativa real a las bases de datos relacionales en campos específicos como los sistemas Web masivos, los almacenes de datos (data warehouses) o la integración semántica de datos, entre otros. A pesar de ser tecnologías relativamente nuevas, su grado de madurez y su valía han sido probados frente a casos reales, donde han mejorado el rendimiento de las BDRs. Un buen ejemplo son los gestores NOSQL (Not Only SQL) que nacieron y evolucionaron con los grandes sistemas Web (redes sociales como Facebook y Twitter, los servicios masivos de Google y Amazon o el nuevo paradigma de e-science). Estos sistemas requieren almacenar cantidades ingentes de datos (ya se empieza a hablar de exabytes), procesarlos y accederlos en un tiempo razonable (normalmente, empleando paralelismo y computación distribuida) a la vez que el sistema es flexible , fácilmente escalable y tolerante a quiebras. Por el contrario, renunciar (parcial o temporalmente) a la consistencia de datos, la concurrencia o estructura de los datos (indispensables por las BDRs) no supone un problema para estos sistemas. De la misma forma, los sistemas column-store han irrumpido con fuerza en el mundo de los almacenes de datos, donde conceptos como la normalización de los datos y la optimización de las transacciones de inserción y consulta no son indispensables. Además, otros problemas casi inexistentes hace 20 años, como la integración de datos (causada por fusiones de organizaciones, consorcios, buscadores, redes de conocimiento, etc.), requieren nuevas técnicas y herramientas para resolver la heterogeneidad semántica de diferentes fuentes de datos. En definitiva, se presentan sistemas alternativos y complementarios a los bien conocidos sistemas relacionales que, año tras año, ganan peso en la industria y la ciencia.

Profesorado

Responsable

  • Oscar Romero Moral ( )

Otros

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

Horas semanales

Teoría
2
Problemas
0
Laboratorio
2
Aprendizaje dirigido
0
Aprendizaje autónomo
6

Competencias

Competencias Técnicas

Competencias técnicas comunes

  • CT2 - Utilizar de forma apropiada teorías, procedimientos y herramientas en el desarrollo profesional de la ingeniería informática en todos sus ámbitos (especificación, diseño, implementación, despliegue -implantación- y evaluación de productos) de manera que se demuestre la comprensión de los compromisos adoptados en las decisiones de diseño.
    • CT2.4 - Demostrar conocimiento y capacidad de aplicación de las herramientas necesarias para el almacenaje, el procesamiento y el acceso a los Sistemas de información, incluidos los basados en web.

Competencias Técnicas de cada especialidad

Especialidad ingeniería del software

  • CES1 - Desarrollar, mantener y evaluar servicios y sistemas software que satisfagan todos los requisitos del usuario, que se comporten de forma fiable y eficiente, que tengan un desarrollo y mantenimiento asequible y que cumplan normas de calidad, aplicando las teorías, los principios, los métodos y las prácticas de Ingeniería del Software.
    • CES1.2 - Dar solución a problemas de integración en función de las estrategias, de los estándares y de las tecnologías disponibles.
    • CES1.5 - Especificar, diseñar, implementar y evaluar bases de datos.
    • CES1.6 - Administrar bases de datos (CIS4.3).
  • CES3 - Identificar y analizar problemas, y diseñar, desarrollar, implementar, verificar y documentar soluciones software sobre la base de un conocimiento adecuado de las teorías, de los modelos y de las técnicas actuales.
    • CES3.2 - Diseñar y gestionar un almacén de datos (data warehouse).

Competencias Transversales

Actitud frente al trabajo

  • G8 [Avaluable] - Tener motivación para la realización profesional y para afrontar nuevos retos, así como una visión amplia de las posibilidades de la carrera profesional en el ámbito de la Ingeniería en Informática. Tener motivación por la calidad y la mejora continua, y actuar con rigor en el desarrollo profesional. Capacidad de adaptación a los cambios organizativos o tecnológicos. Capacidad de trabajar en situaciones de falta de información y/o con restricciones temporales y/o de recursos.
    • G8.3 - Tener motivación para el desarrollo profesional y para afrontar nuevos retos. Tener motivación para la mejora continua. Disponer de capacidad de trabajo en situaciones de falta de información.

Objetivos

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

Contenidos

  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.

Actividades

Actividad Acto evaluativo


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.
Objetivos: 1 3 2
Contenidos:
Teoría
2h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
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.
Objetivos: 3
Contenidos:
Teoría
2h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
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.
Objetivos: 1 3
Contenidos:
Teoría
2h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
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.
Objetivos: 1 3 4
Contenidos:
Teoría
2h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
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.
Objetivos: 1 3 4
Contenidos:
Teoría
2h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
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.
Objetivos: 4 5 6
Contenidos:
Teoría
2h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
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.
Objetivos: 4 6 7 8
Contenidos:
Teoría
2h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
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.
Objetivos: 4 5 6
Contenidos:
Teoría
2h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
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.
Objetivos: 2
Contenidos:
Teoría
2h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
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.
Objetivos: 4 5 6
Contenidos:
Teoría
2h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
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.
Objetivos: 4 5 6
Contenidos:
Teoría
2h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
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.
Objetivos: 2 7
Contenidos:
Teoría
2h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
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.
Objetivos: 2 9 8
Contenidos:
Teoría
2h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
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.
Objetivos: 2 8
Contenidos:
Teoría
2h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
0h

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


Objetivos: 1 3 10 11
Semana: 2
Teoría
0h
Problemas
0h
Laboratorio
3h
Aprendizaje dirigido
0h
Aprendizaje autónomo
5h

Lab: Key-value stores (part 1)


Objetivos: 4 5 6 10 11
Semana: 3
Teoría
0h
Problemas
0h
Laboratorio
3h
Aprendizaje dirigido
0h
Aprendizaje autónomo
10h

Lab: Key-value stores (part 2)


Objetivos: 4 5 6 10 11
Semana: 4
Teoría
0h
Problemas
0h
Laboratorio
3h
Aprendizaje dirigido
0h
Aprendizaje autónomo
8h

Lab: Document-stores (part 1)


Objetivos: 4 5 6 10 11
Semana: 5
Teoría
0h
Problemas
0h
Laboratorio
3h
Aprendizaje dirigido
0h
Aprendizaje autónomo
10h

Lab: Document-stores (part 2)


Objetivos: 4 5 6 10 11
Semana: 6
Teoría
0h
Problemas
0h
Laboratorio
3h
Aprendizaje dirigido
0h
Aprendizaje autónomo
8h

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


Objetivos: 4 2 10 11
Semana: 7
Teoría
0h
Problemas
0h
Laboratorio
3h
Aprendizaje dirigido
0h
Aprendizaje autónomo
4h

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


Objetivos: 4 5 6 2 10 11
Semana: 8
Teoría
0h
Problemas
0h
Laboratorio
3h
Aprendizaje dirigido
0h
Aprendizaje autónomo
4h

Lab: Graph databases (part 1)


Objetivos: 4 5 6 10 11
Semana: 9
Teoría
0h
Problemas
0h
Laboratorio
3h
Aprendizaje dirigido
0h
Aprendizaje autónomo
6h

Lab: Graph databases (part 2)


Objetivos: 4 5 6 10 11
Semana: 10
Teoría
0h
Problemas
0h
Laboratorio
3h
Aprendizaje dirigido
0h
Aprendizaje autónomo
10h

Lab 6: Simulacio de column-oriented DBs


Objetivos: 4 5 6 10 11
Semana: 11
Teoría
0h
Problemas
0h
Laboratorio
3h
Aprendizaje dirigido
0h
Aprendizaje autónomo
10h

Examen final

Examen final que incluye todos los contenidos de la asignatura
Objetivos: 1 3 4 5 6 2 7 9 8 10 11
Semana: 15 (Fuera de horario lectivo)
Teoría
2h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
6h

Metodología docente

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étodo de evaluación

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

Bibliografía

Básica:

Complementaria:

Capacidades previas

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.