Administración de Datos Masivos

Usted está aquí

Créditos
6
Tipos
Obligatoria
Requisitos
Esta asignatura no tiene requisitos, pero tiene capacidades previas
Departamento
ESSI
El objetivo principal de este curso es analizar las necesidades tecnológicas y de ingeniería de a gestión de Big Data. La tecnología que permite este desafío son los servicios en la nube, que brindan la elasticidad necesaria para escalar adecuadamente la infraestructura a medida que crecen las necesidades de la empresa. Por lo tanto, los estudiantes aprenderán técnicas avanzadas de administración de datos (es decir, soluciones NOSQL) que también se adaptan a la infraestructura. Al ser la gestión de Big Data la evolución del Data Warehousing, tal conocimiento (ver la asignatura correspondiente en la especialidad Data Science para obtener más detalles sobre sus contenidos) se presupone en este curso, que se centrará específicamente en la gestión del volumen y la velocidad de los datos.

Por un lado, para lidiar con grandes volúmenes de datos, veremos cómo un sistema de archivos distribuidos puede escalar a tantas máquinas como sea necesario. Luego, estudiaremos diferentes estructuras físicas que podemos usar para almacenar nuestros datos. Dichas estructuras pueden dar lugar a un formato de archivo en el nivel del sistema operativo o un gestor más complejo a un nivel de abstracción más alto. En este último caso, toman la forma de conjuntos de pares clave-valor, colecciones de documentos semiestructurados o tablas almacenadas en columnas. Veremos que, independientemente del tipo de almacenamiento que elijamos, los actuales sistemas de procesamiento altamente paralelizables utilizan principios de programación funcional (generalmente basados ¿¿en funciones de map y reduce), cuyo marco de procesamiento puede basarse en archivos temporales (como Hadoop MapReduce) o principalmente en estructuras de memoria (como Spark).

Por otro lado, para hacer frente a la alta velocidad de los datos, necesitamos algún sistema de baja latencia que procese secuencias o micropaquetes. Sin embargo, hoy en día, la producción de datos ya está más allá de la capacidad de las tecnologías de procesamiento. Se están generando más datos de los que podemos almacenar o incluso procesar sobre la marcha. Por lo tanto, reconoceremos la necesidad de (a) algunas técnicas para seleccionar subconjuntos de datos (es decir, filtrar o muestrear), (b) resumirlos maximizando la información relevante retenida, y (c) simplificar nuestros algoritmos para reducir su complejidad computacional (es decir, haciendo una única pasada sobre los datos) y proporcionar una respuesta aproximada.

Finalmente, la complejidad de un proyecto Big Data (que combina todas las herramientas necesarias en un ecosistema colaborativo), que generalmente involucra a varias personas con diferentes antecedentes, requiere la definición de una arquitectura de alto nivel que supere las dificultades tecnológicas y se centre en las funcionalidades proporcionadas y las interacciones entre módulos. Por lo tanto, también analizaremos diferentes arquitecturas de software para Big Data.

Profesorado

Responsable

  • Alberto Abello Gamazo ( )

Otros

  • Besim Bilalli ( )

Horas semanales

Teoría
1.9
Problemas
0
Laboratorio
1.9
Aprendizaje dirigido
0
Aprendizaje autónomo
6.85

Competencias

Competencias Transversales

Trabajo en equipo

  • CT3 - Ser capaz de trabajar como miembro de un equipo interdisciplinar ya sea como un miembro mas, o realizando tareas de direccion con la finalidad de contribuir a desarrollar proyectos con pragmatismo y sentido de la responsabilidad, asumiendo compromisos teniendo en cuenta los recursos disponibles.

Lengua extranjera

  • CT5 - Conocer una tercera lengua, preferentemente el inglés, con un nivel adecuado oral y escrito y en consonancia con las necesidades que tendrán los titulados y tituladas.

Espíritu emprendedor e innovador

  • CT1 - Conocer y entender la organización de una empresa y las ciencias que rigen su actividad; tener capacidad para entender las normas laborales y las relaciones entre la planificación, las estrategias industriales y comerciales, la calidad y el beneficio. Conocer y entender los mecanismos en que se basa la investigación científica, así como los mecanismos e instrumentos de transferencia de resultados entre los diferentes agentes socioeconómicos implicados en los procesos de I+D+i.

Básicas

  • CB6 - Que los estudiantes sepan aplicar los conocimientos adquiridos y su capacidad de resolución de problemas en entornos nuevos o poco conocidos dentro de contextos más amplios (o multidisciplinares) relacionados con su área de estudio.
  • CB7 - Que los estudiantes sean capaces de integrar conocimientos y enfrentarse a la complejidad de formular juicios a partir de una información que, siendo incompleta o limitada, incluya reflexiones sobre las responsabilidades sociales y éticas vinculadas a la aplicación de sus conocimientos y juicios.
  • CB8 - Que los estudiantes sepan comunicar sus conclusiones y los conocimientos y razones últimas que las sustentan a públicos especializados y no especializados de un modo claro y sin ambigüedades.
  • CB9 - Que los estudiantes posean las habilidades de aprendizaje que les permitan continuar estudiando de un modo que habrá de ser en gran medida autodirigido o autónomo.
  • CB10 - Poseer y comprender conocimientos que aporten una base u oportunidad de ser originales en el desarrollo y/o aplicación de ideas, a menudo en un contexto de investigación.

Competencias Técnicas Genéricas

Genéricas

  • CG1 - Identificar y aplicar los métodos y procesos de gestión de datos más adecuados para gestionar el ciclo de vida de los datos, incluyendo datos estructurados y no estructurados
  • CG3 - Definir, diseñar e implementar sistemas complejos que cubran todas las fases en proyectos de ciencia de datos

Competencias Técnicas

Específicas

  • CE2 - Aplicar los fundamentos de la gestión y procesamiento de datos en un problema de ciencia de datos
  • CE4 - Aplicar métodos escalables de almacenamiento y procesamiento paralelo de datos, incluyendo flujos continuos de datos, una vez identificados los más apropiados para un problema de ciencia de datos
  • CE5 - Modelar, diseñar e implementar sistemas complejos de datos, incluyendo la visualización de datos
  • CE12 - Aplicar la ciencia de datos en proyectos multidisciplinares para resolver problemas en dominios nuevos o poco conocidos y que sean económicamente viables, socialmente aceptables, y de acuerdo con la legalidad vigente
  • CE13 - Identificar las principales amenazas en el ámbito de la ética y la privacidad de datos en un proyecto de ciencia de datos (tanto en el aspecto de gestión como de análisis de datos) y desarrollar e implantar medidas adecuadas para mitigar dichas amenazas.

Objetivos

  1. Comprender los principales métodos avanzados de gestión de datos y diseñar e implementar gestores de bases de datos no relacionales, con especial énfasis en sistemas distribuidos.
    Competencias relacionadas: CT3, CT5, CG1, CG3, CE2, CE4, CE5, CB6, CB7, CB8, CB9, CB10,
  2. Comprender, diseñar, explicar y llevar a cabo procesamiento paralelo de la información en sistemas distribuidos masivamente.
    Competencias relacionadas: CT3, CT5, CG1, CG3, CE2, CE4, CE5, CB6, CB7, CB8, CB9, CB10,
  3. Gestionar y procesar un flujo continuo de datos.
    Competencias relacionadas: CT3, CT5, CG1, CG3, CE2, CE4, CE5, CB6, CB7, CB8, CB9, CB10,
  4. Diseñar, implementar y mantener arquitecturas de sistemas que gestionan el ciclo de vida del dato en entornos analíticos.
    Competencias relacionadas: CT3, CT5, CT1, CG1, CG3, CE2, CE4, CE5, CE12, CE13, CB6, CB7, CB8, CB9, CB10,

Contenidos

  1. Introducción
    Big Data, Cloud Computing, Escalabilidad
  2. Diseño de Big Data
    Polyglot systems; Schemaless databases; Key-value stores; Wide-column stores; Document-stores
  3. Gestión de datos distribuidos
    Transparency layers; Distributed file systems; File formats; Fragmentation; Replication and synchronization; Sharding; Distributed hash; LSM-Trees
  4. Gestión de datos en memoria
    NUMA architectures; Columnar storage; Late reconstruction; Light-weight compression
  5. Procesamiento distribuido de datos
    Distributed Query Processing; Sequential access; Pipelining; Parallelism; Synchronization barriers; Multitenancy; MapReduce; Resilient Distributed Datasets; Spark
  6. Gestión y procesamiento de Streams
    One-pass algorithms; Sliding window; Stream to relation operations; Micro-batching; Sampling; Filtering; Sketching
  7. Arquitecturas de Big Data
    Centralized and Distributed functional architectures of relational systems; Lambda architecture

Actividades

Actividad Acto evaluativo


Clases de teoría

En estas actividades, el profesor introducirá los principales conceptos teóricos de la asignatura. Se requerirá la participación activa de los estudiantes.
Objetivos: 2 1 3 4
Contenidos:
Teoría
25h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
25h

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

Teoría
0h
Problemas
0h
Laboratorio
27h
Aprendizaje dirigido
0h
Aprendizaje autónomo
54h

Metodología docente

The course comprises theory, and lab sessions.

Theory: Inverted class techniques will be used, which require that the student works on the provided multimedia materials before the class. Then, theory lectures comprise the teacher's complementary explanations and problem solving.

Lab: There will be a project done in teams where students will put into practice the kinds of tools studied during the course. This will be evaluated in two deliverables and individual tests.

Método de evaluación

Final Mark = min(10 ; 60%E + 40%L + 10%P)

L = Weighted average of the marks of the lab deliverables and tests
E = Final exam
P = Participation in the class

Bibliografía

Básica:

Complementaria:

Web links

Capacidades previas

Al ser Big Data Management la evolución del Data Warehousing, dicho conocimiento se asume en este curso. Por lo tanto, se espera conocimiento general sobre: diseño de bases de datos relacionales; Arquitectura del sistema de gestión de bases de datos; ETL y OLAP

Específicamente, se espera conocimiento sobre:
- Multidimensional modeling (i.e, star schemas)
- Querying relational databases
- Physical design of relational tables (i.e., partitioning)
- Hash and B-tree indexing
- External sorting algorithms (i.e., merge-sort)
- ACID transactions