Bases de Datos Avanzadas

Usted está aquí

Créditos
6
Tipos
Obligatoria
Requisitos
Esta asignatura no tiene requisitos, pero tiene capacidades previas
Departamento
ESSI
Esta asignatura forma a los estudiantes en las competencias necesarias para diseñar y configurar bases de datos analíticas, evaluando las diferentes alternativas posibles en el contexto de su empresa. Se tratan conceptos de bases de datos relacionales genéricas (aplicables a entornos decisionales de almacenamiento de datos), con el fin de profundizar después en las alternativas no tradicionales, también conocidas como gestores NewSQL, más apropiados por entornos Big Data. Primero se presentarán conceptos de almacenes de datos y, después, gestores de datos (columnares) y arquitecturas (distribuidas y en memoria) alternativas a las bases de datos relacionales tradicionales en ciertos escenarios. Se incluye también el tratamiento masivo de datos en entornos de estilo funcional.
Los conocimientos impartidos son imprescindibles para hacer frente a las tareas propias del ingeniero de datos.

Profesorado

Responsable

  • Alberto Abello Gamazo ( )

Otros

  • Besim Bilalli ( )

Horas semanales

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

Competencias

Competencias Técnicas

Competencias técnicas

  • CE7 - Demostrar conocimiento y capacidad de aplicación de las herramientas necesarias para el almacenaje, el procesamiento y el acceso a los datos.

Competencias Transversales

Transversales

  • CT4 - Trabajo en equipo. Ser capaz de trabajar como miembro de un equipo interdisciplinar, ya sea como un miembro más o realizando tareas de dirección, con la finalidad de contribuir a desarrollar proyectos con pragmatismo y sentido de la responsabilidad, asumiendo compromisos teniendo en cuenta los recursos disponibles.
  • CT6 [Avaluable] - Aprendizaje autónomo. Detectar deficiencias en el propio conocimiento y superarlas mediante la reflexión crítica y la elección de la mejor actuación para ampliar dicho conocimiento.

Básicas

  • CB2 - Que los estudiantes sepan aplicar sus conocimientos a su trabajo o vocación de una forma profesional y posean las competencias que suelen demostrarse por medio de la elaboración y defensa de argumentos y la resolución de problemas dentro de su área de estudio.
  • CB3 - Que los estudiantes tengan la capacidad de reunir e interpretar datos relevantes (normalmente dentro de su área de estudio) para emitir juicios que incluyan una reflexión sobre temas relevantes de índole social, científica o ética.

Competencias Técnicas Genéricas

Genéricas

  • CG1 - Concebir sistemas computacionales que integren datos de procedencias y formas muy diversas, creen con ellos modelos matemáticos, razonen sobre dichos modelos y actúen en consecuencia, aprendiendo de la experiencia.
  • CG2 - Elegir y aplicar los métodos y técnicas más adecuados a un problema definido por datos que representen un reto por su volumen, velocidad, variedad o heterogeneidad, incluidos métodos informáticos, matemáticos, estadísticos y de procesado de la señal.

Objetivos

  1. Ser capaz de discutir y justificar con detalle los principios arquitectonicos y cuellos de botella de los gestores relacionales frente a sistemas de almacenamiento y procesamiento alternativos.
    Competencias relacionadas: CE7, CT4, CT6, CG1, CG2, CB2, CB3,
  2. Ser capaz de obtener el esquema lógico de un almacén de datos a partir de un esquema conceptual expresado en UML, detectar y corregir sus defectos.
    Competencias relacionadas: CE7, CT4, CT6, CB2, CB3,
  3. Ser capaz de elegir y justificar el uso de almacenamiento basado en filas o columnas.
    Competencias relacionadas: CE7, CT4, CT6, CG2, CB2, CB3,
  4. Ser capaz de explicar y utilizar los principales mecanismos de procesamiento paralelo de consultas en entornos distribuidos, y detectar cuellos de botella.
    Competencias relacionadas: CE7, CT4, CT6, CG2, CB2, CB3,
  5. Ser capaz de justificar y utilizar entornos de procesamiento distribuido de datos de estilo funcional, tipo MapReduce/Spark.
    Competencias relacionadas: CE7, CT4, CT6, CG1, CG2, CB2, CB3,

Contenidos

  1. Introducción
    Almacenamiento de datos en entornos analíticos y Big Data
  2. Almacenamiento de datos
    Almacenamiento de datos. Flujos de datos ETL. Integración de datos. Herramientas OLAP. Técnicas de compresión y almacenamiento columnar.
  3. Bases de datos distribuidas
    Taxonomía de bases de datos distribuidas. Arquitecturas. Diseño de bases de datos distribuidas (fragmentación y replicación). Paralelismo. Métricas de escalabilidad. Sistemas de ficheros distribuídos.
  4. Procesamiento distribuido de datos
    Importancia del acceso secuencial paralelo. Barreras de sincronización (Bulk Synchronous Parallel modelo). Entornos de procesamiento distribuido de datos de estilo funcional (MapReduce y Spark). Abstracción de conjuntos de datos distribuidos (Resilient Distributed Datasets). Arquitecturas de Big Data.

Actividades

Actividad Acto evaluativo


Introducción

Introducción de la asignatura, motivación y visión general de las herramientas de gestión de datos existentes actualmente, sus ventajas e inconvenientes
Objetivos: 1
Contenidos:
Teoría
2h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
0h

Estudio de los almacenes de datos


Objetivos: 2 3
Contenidos:
Teoría
10h
Problemas
0h
Laboratorio
14h
Aprendizaje dirigido
0h
Aprendizaje autónomo
38h

Estudio de bases de datos distribuidas

Aprendizaje de los principios de bases de datos distribuidas y su aplicación en sistemas NOSQL
Objetivos: 1 4
Contenidos:
Teoría
6h
Problemas
0h
Laboratorio
4h
Aprendizaje dirigido
0h
Aprendizaje autónomo
4h

Estudio del procesamiento distribuido de datos

Aprendizaje de técnicas de procesamiento distribuido de datos en entornos de estilo funcional
Objetivos: 1 4 5
Contenidos:
Teoría
10h
Problemas
0h
Laboratorio
12h
Aprendizaje dirigido
0h
Aprendizaje autónomo
38h

Examen final

Examen global de la asignatura
Objetivos: 1 2 4 3 5
Semana: 15 (Fuera de horario lectivo)
Tipo: examen de teoría
Teoría
2h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
10h

Metodología docente

La asignatura se compone de teoría, y sesiones de laboratorio.

Teoría: Se utilizarán técnicas de clase invertida que requieren que el estudiante trabaje materiales multimedia antes de la clase. Las clases de teoría consisten en explicaciones complementarias del profesor y resolución de problemas.

Laboratorio: Se utilizarán herramientas representativas para la aplicación de conceptos teóricos (por ejemplo, IndyCar Builder, PotgreSQL, Pentaho Data Integration, Spark). Se harán también dos proyectos, en el que los estudiantes trabajarán en equipos: uno de análisis descriptivo de datos en un almacén de datos y el otro de análisis predictivo en un entorno Big Data. Consecuentemente, habrá dos entregables fuera del horario de clase, pero los estudiantes también serán evaluados individualmente en el aula sobre los conocimientos adquiridos durante cada uno de los proyectos.

El curso tiene una componente de aprendizaje autónomo, dado que los estudiantes tendrán que trabajar con diferentes herramientas de gestión y procesamiento de datos. Aparte del material de apoyo, los estudiantes deben ser capaces de resolver dudas o problemas de uso de estas herramientas.

Método de evaluación

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

EP = nota del examen parcial
EF = nota del examen final
P = nota de proyecto, como promedio ponderado de los proyectos del curso
C = participació a classe

Para los estudiantes que puedan concurrir a la reavalaució, la nota del examen de reevaluación sustituirá EF.

Bibliografía

Básica:

Complementaria:

  • Exercises Big Data Management - , , .
  • Exercises Data Warehousing - , , .

Web links

Capacidades previas

Ser capaz de leer y entender materiales en inglés.
Ser capaz de enumerar las etapas que conforman el proceso de la ingeniería de software.
Ser capaz de entender esquemas conceptuales en UML.
Ser capaz de crear, consultar y manipular bases de datos con SQL.