Big Data is traditionally defined with the three V's: Volume, Velocity and Variety. Traditionally, Big Data has been associated with Volume (e.g., the Hadoop ecosystem) and recently Velocity has earned its momentum (especially, with the arrival of Stream processors such as Spark). However, currently, associating Big Data with simply Volume or Velocity is a capital mistake. The biggest challenge in Big Data Management is nowadays the Variety challenge and how to tackle Variety in real-world projects is yet not clear and there are no standarized solutions (such as Hadoop for Volume or Spark for Velocity) for this challenge. Yet, the main efforts in Big Data, nowadays, go in this direction.
In this course the student will be introduced to advanced database technologies, modeling techniques and methods for tackling Variety for decision making. We will also explore the difficulties that arise when combining Variety with Volume and / or Velocity. The focus of this course is on the need to enrich the available data (typically owned by the organization) with external repositories (special attention will be paid to Open Data), in order to gain further insights into the organization business domain. There is a vast amount of examples of external data to be considered as relevant in the decision making processes of any company. For example, data coming from social networks such as Facebook or Twitter; data released by governmental bodies (such as town councils or governments); data coming from sensor networks (such as those in the city services within the Smart Cities paradigm); etc.
This is a new hot topic without a clear and established (mature enough) methodology. For this reason, it requires rigorous thinking, innovation and a strong technical background in order to master the inclusion of external data in an organization decision making processes. Accordingly, this course focuses on three main aspects:
1.- The use of property graphs to ingest, process and query highly unstructured data. The course covers the basic graph algorithms to perform graph-oriented data analysis and foundations on large graph processing.
2.- The use of knowledge graphs to overcome data exchange and data integration, specially with / from third parties, and the use of graph embeddings to perform analysis on them.
3.- Fundamentals on data integration for Big Data and its current application in real-world projects.
Profesorado
Responsable
Anna Queralt Calafat (
)
Otros
Gerard Pons Recasens (
)
Oscar Romero Moral (
)
Horas semanales
Teoría
2
Problemas
0
Laboratorio
2
Aprendizaje dirigido
0
Aprendizaje autónomo
7.11
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
CE3 - Aplicar métodos de integración de datos para dar solución a problemas de ciencia de datos en entornos heterogéneos
CE5 - Modelar, diseñar e implementar sistemas complejos de datos, incluyendo la visualización de datos
CE9 - Aplicar métodos adecuados para el análisis de otro tipo de formatos, tales como procesos y grafos, dentro del ámbito de ciencia 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
Learn, understand and apply the fundamentals of property graphs
Competencias relacionadas:
CT3,
CT5,
CG1,
CE5,
CE9,
CB6,
CB9,
CB10,
Learn, understand and apply the fundamentals of knowledge graphs
Competencias relacionadas:
CT3,
CT5,
CG1,
CE5,
CE9,
CB6,
CB9,
CB10,
Perform graph data processing both in centralized and distributed environments
Competencias relacionadas:
CT3,
CT5,
CG1,
CE5,
CE9,
CB6,
CB9,
CB10,
Integrate, combine and refine semi-structured or non-structured data using graph formalisms
Competencias relacionadas:
CT3,
CT5,
CT1,
CG1,
CG3,
CE3,
CE5,
CE9,
CE12,
CE13,
CB6,
CB7,
CB8,
CB9,
Determine how to apply graph formalisms to solve the Variety challenge (data integration)
Competencias relacionadas:
CT5,
CT1,
CG3,
CE3,
CE5,
CE9,
CE12,
CE13,
CB6,
CB7,
CB9,
Apply property or knowledge graphs to solve realistic problems such as data integration, graph-based data analysis, etc.
Competencias relacionadas:
CT3,
CT5,
CT1,
CG1,
CG3,
CE3,
CE5,
CE9,
CE12,
CE13,
CB6,
CB7,
CB8,
CB9,
CB10,
Contenidos
Introducción y formalización del concepto de Variedad en Big Data y su gestión
Definición de las tareas de gestión de datos: desde la perspectiva de las bases de datos y de la representación del conocimiento.
Definición de Variedad en el concepto de Big Data. Heterogeneidades sintácticas y semánticas. Efecto de las heterogeneidades de datos en las diferentes tareas de gestión de datos identificadas.
Concepto de integración de datos. Definición de un marco teórico para la gestión e integración de fuentes de datos heterogéneas.
Principales componentes de un sistema de integración de datos: fuentes, esquema global o de integración y mappings.
La necesidad de un modelo de datos canónico para la integración de datos. Definición de modelo de datos. Características esenciales de los modelos de datos canónicos.
Gestión de los property graphs
Estructuras de datos. Restricciones de integridad del modelo.
Operaciones básicas. Basadas en la topología, en el contenido y mixtas.
Lenguajes de consulta de datos en grafo. GraphQL.
Concepto de graph database. Heterogeneidad de las herramientas a la hora de implementar las estructuras internas del grafo. Impacto de dichas decisiones en las operaciones básicas presentadas.
Distributed graph database. Necesidad. Dificultades. Paradigma thinking like a vertex como estándar de facto para procesamiento de grafos distribuidos.
Principales algoritmos de procesamiento distribuido.
Gestión de los knowledge graphs
Estructuras de datos: lenguajes RDF. Origen y relación con Linked Open Data. Restricciones de integridad de cada lenguaje.
Estructuras de datos: RDFS y OWL. Relación con la lógica de primer orden. Fundamentos en Description Logics. Restricciones de integridad de cada lenguaje. Concepto de razonamiento.
Operaciones básicas y lenguaje de consulta. SPARQL y álgebra subyacente. Entailment regimes (razonamiento).
Concepto de triplestore. Diferencias con una graph database. Implementaciones nativas. Implementaciones basadas en el modelo relacional. Impacto de dichas decisiones en las operaciones básicas presentadas.
Distributed triplestore. Necesidad. Dificultades. Graph Engine 1.0 como paradigma de triplestore distribuido.
Principales algoritmos distribuidos.
Graph embeddings.
Los grafos como solución a la gestión de la variedad
La idoneidad de los grafos como modelo de datos canónico en sistemas de integración de datos.
Principales características de los modelos de datos en grafo. Diferencia con otros modelos de datos (especialmente con el modelo relacional).
Concepto de dato y metadato y su formalización en los modelos de grafos.
Casos de uso (especial énfasis en los beneficios topológicos de los grafos): detección de fraude, aplicaciones en bioinformática, gestión del tráfico y logística, redes sociales, etc.
Introducción a los principales modelos de grafos: property graph y knowledge graph.
Diferencias entre ambos paradigmas y casos de uso
Recapitulación de ambos modelos. Similitudes y diferencias. Conceptos exportables entre ambos modelos.
Principales casos de uso. Gestión de metadatos: semantificación del Data Lake y gobernanza de datos.
Principales casos de uso. Explotación de sus características topológicas: recomendadores sobre grafos y minería de datos en grafo.
Visualización. A través de GUI (Gephi) o programáticas (D3.js o GraphLab).
Actividades
ActividadActo evaluativo
Lectures
During lectures the main concepts will be discussed. Lectures will combine master lectures and active / cooperative learning activities. The student is meant to have a pro-active attitude during active / cooperative learning activities. During master lectures, the student is meant to listen, take notes and ask questions. Objetivos:2531 Contenidos:
The student will be asked to practice the different concepts introduced in the lectures. This includes problem solving either on the computer or on paper. Objetivos:654 Contenidos:
El curso tiene sesiones magistrales y de laboratorio.
Magistrales: El profesor expone el tema. Los estudiantes siguen la lección. toman apuntes y preparan material adicional fuera de clase. También se les pide que participen en actividades evaluatorias durante estas sesiones.
Laboratorio: Principalmente, las sesiones de laboratorio estan dedicadas a la práctica (con o sin ordenador) de los conceptos introducidos en las sesiones magistrales. Herramientas relevantes para dichos conceptos se presentan en estas sesiones y se pide llevar a cabo pequeños proyectos en que haya que usarlas.
Método de evaluación
Nota final = 40% EX + 60% LAB
EX = Nota examen final
LAB = Nota ponderada de los laboratorios
Bibliografía
Básica:
Data Integration: A Theoretical Perspective -
Lenzerini, Maurizio,
PODS '02: Proceedings of the twenty-first ACM SIGMOD-SIGACT-SIGART symposium on Principles of database systems, 2002. ISBN: 1-58113-507-6 https://doi.org/10.1145/543613.543644
The Ubiquity of Large Graphs and Surprising Challenges of Graph Processing -
Sahu, Siddhartha; Mhedhbi, Amine; Salihoglu, Semih; Lin, Jimmy; Özsu, M. Tamer,
Cornell University Library, 2017. https://arxiv.org/abs/1709.03188
Capacidades previas
The student must be familiar with basics on databases and data modeling. Advanced programming skills are mandatory.