Bussiness Intelligence Orientada a los Servicios

Usted está aquí

Créditos
6
Tipos
Complementaria de especialidad (Ingeniería de Servicios)
Requisitos
Esta asignatura no tiene requisitos, pero tiene capacidades previas
Departamento
ESSI
The main goal of this course is to analyze the technological and engineering needs of Big Data Management. The enabling technology for such a challenge is cloud services, which provide the elasticity needed to properly scale the infrastructure as the needs of the company grow. Thus, students will learn advanced data management techniques (i.e., NOSQL solutions) that also scale with the infrastructure. Being Big Data Management the evolution of Data Warehousing, such knowledge (see the corresponding subject in Data Science speciality for more details on its contents) is assumed in this course , which will specifically focus on the management of data Volume and Velocity.

On the one hand, to deal with high volumes of data, we will see how a distributed file system can scale to as many machines as necessary. Then, we will study different physical structures we can use to store our data in it. Such structures can be in the form of a file format at the operating system level, or at a higher level of abstraction. In the latter case, they take the form of either sets of key-value pairs, collections of semi-structured documents or column-wise stored tables. We will see that, independently of the kind of storage we choose, current highly parallelizable processing systems using funtional programming principles (typically based on Map and Reduce functions), whose processing framework can rely on temporal files (like Hadoop MapReduce) or in-memory structures (like Spark).

On the other hand, to deal with high velocity of data, we need some low latency system which processes either streams or micro-batches. However, nowadays, data production is already beyond processing technologies capacity. More data is being generated than we can store or even process on the fly. Thus, we will recognize the need of (a) some techniques to select subsets of data (i.e., filter out or sample), (b) summarize them maximizing the valuable information retained, and (c) simplify our algorithms to reduce their computational complexity (i.e., doing one single pass over the data) and provide an approximate answer.

Finally, the complexity of a Big Data project (combining all the necessary tools in a collaborative ecosystem), which typically involves several people with different backgrounds, requires the definition of a high level architecture that abstracts technological difficulties and focuses on functionalities provided and interactions between modules. Therefore, we will also analyse different software architectures for Big Data.

This course participates in a joint project conducted during the second semester together with VBP, SDM and CC. In VBP, the students will come up with a business idea related to Big Data Management and Analytics, which will be evaluated from a business perspective. In the three other courses the students have to implement a prototype meeting the business idea created. In CC, they will be introduced to the main concepts behind large-scale distributed computing based on a service-based model and will have to choose the right infrastructure for their prototype. In BDM and SDM, they will be introduced to specific data management techniques to deal with Volume and Velocity (BDM) and Variety (SDM). As final outcome, a working prototype must be delivered.

Profesores

Responsable

  • Alberto Abello Gamazo ( )

Otros

  • Sergi Nadal Francesch ( )

Horas semanales

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

Competencias

Competencias Técnicas Genéricas

Genéricas

  • CG2 - Capacidad para dirigir, planificar y supervisar equipos multidisciplinares.
  • CG5 - Capacidad para aplicar soluciones innovadoras y realizar avances en el conocimiento que exploten los nuevos paradigmas de la Informática, particularmente en entornos distribuidos.

Competencias Transversales

Trabajo en equipo

  • CTR3 - Ser capaz de trabajar como miembro de un equipo, 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.

Básicas

  • 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

Competencias Técnicas de cada especialidad

Específicas comunes

  • CEC1 - Capacidad para aplicar el método científico en el estudio y análisis de fenómenos y sistemas en cualquier ámbito de la Informática, así como en la concepción, diseño e implantación de soluciones informáticas innovadoras y originales.
  • CEC2 - Capacidad para el modelado matemático, cálculo y diseño experimental en centros tecnológicos y de ingeniería de empresa, particularmente en tareas de investigación e innovación en todos los ámbitos de la Informática.
  • CEC3 - Capacidad para aplicar soluciones innovadoras y realizar avances en el conocimiento que exploten los nuevos paradigmas de la Informática, particularmente en entornos distribuidos.

Objetivos

  1. Understand the differences and benefits of in-memory data management.
    Competencias relacionadas: CB7, CEC1, CEC2, CEC3, CG5,
  2. Understand the execution flow of a distributed query.
    Competencias relacionadas: CB7, CEC1, CEC2, CEC3, CG5,
  3. Identify the difficulties of scalability and parallelization.
    Competencias relacionadas: CB7, CEC1, CEC2, CEC3, CG5,
  4. Design a distributed database using NoSQL tools.
    Competencias relacionadas: CG2, CB7, CEC1, CEC2, CEC3, CTR3, CG5,
  5. Produce a functional program to process Big Data in a Cloud environment.
    Competencias relacionadas: CG2, CB7, CEC1, CEC2, CEC3, CTR3, CG5,
  6. Manage and process a Data Stream.
    Competencias relacionadas: CG2, CB7, CEC1, CEC2, CEC3, CTR3, CG5,
  7. Design the architecture of a Big Data management system.
    Competencias relacionadas: CG2, CB7, CEC1, CEC2, CEC3, CTR3, CG5,

Contenidos

  1. Introduction
    Big Data, Cloud Computing, Scalability
  2. Big Data Design
    Polyglot systems; Schemaless databases; Key-value stores; Wide-column stores; Document-stores
  3. Distributed Data Management
    Transparency layers; Distributed file systems; File formats; Fragmentation; Replication and synchronization; Sharding; Consistent hash; LSM-Trees
  4. In-memory Data Management
    NUMA architectures; Columnar storage; Late reconstruction; Light-weight compression
  5. Distributed Data Processing
    Distributed Query Processing; Sequential access; Pipelining; Parallelism; Synchronization barriers; Multitenancy; MapReduce; Resilient Distributed Datasets; Spark
  6. Stream management and processing
    One-pass algorithms; Sliding window; Stream to relation operations; Micro-batching; Sampling; Filtering; Sketching
  7. Big Data Architectures
    Centralized and Distributed functional architectures of relational systems; Data Wareshousing architectures; Service Oriented Architecture; Lambda architecture

Actividades

Actividad Acto evaluativo


Theoretical lectures

In these activities, the lecturer will introduce the main theoretical concepts of the subject. Besides lecturing, cooperative learning techniques will be used. These demand the active participation of the students, and consequently will be evaluated.
Objetivos: 1 2 3 4 5 6 7
Contenidos:
Teoría
28h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
28h

Projects

The students will be asked to define a BI project either using services or making decisions on a service, and prepare a demo of it in front of the classmates and a jury. Also, there will be some deliverables along the course.
Objetivos: 2 3 4 5 6 7
Contenidos:
Teoría
0h
Problemas
0h
Laboratorio
9h
Aprendizaje dirigido
0h
Aprendizaje autónomo
57h

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

Lab

Students will use different NOSQL tools in a sandbox environment.
Objetivos: 2 3 4 5 6
Contenidos:
Teoría
0h
Problemas
0h
Laboratorio
6h
Aprendizaje dirigido
0h
Aprendizaje autónomo
12h

Metodología docente

The course comprises theory, problems, lab sessions and a project.

Theory: The theory classes comprise the teacher's explanations and constitute the main part of the course. The students will also have some contents to be read and prepared outside the classroom, and will be asked to participate in cooperative learning activities to solve some problems.

Lab: There will be some lab sessions to introduce some of the technologies and a cluster execution environment.

Project: The students will have to implement a proof of concept of an analytical service, which will share the topic with the project in other sibling subjects: BIP, SEAIT, VBP, SDM, CC, and WS (for those students taking them).

Método de evaluación

Final mark = 35% C + 30% Pr + 5%P + 30%E

C = Weighted average of collaborative activities and labs
Pr = Project
P = Peer evaluation
E = Exam

Calculation of C:
1) Multiply the mark of each activity/lab by a weight equal to 1, 2, 4 or 6 (depending on the content of the corresponding activity/lab)
2) Divide the sum of these values by the sum of weights assigned minus 4

Calculation of P: Students will have multiple mates in the activities during the semester and they will evaluate them at the end. Based on these evaluations, the teacher will assign a mark to each student.

Project: Students will implement a proof of concept of the project and will present it in front of their classmates and a jury. Based on that presentation, and the delivered materials during the course the teacher will assign a mark to each student.

Bibliografía

Básica:

Complementaria:

Capacidades previas

Being Big Data Management the evolution of Data Warehousing, such knowledge is assumed in this course. Thus, general knowledge is expected on: Relational database desing; Database management system architecture; ETL and OLAP

Specifically, knowledge is expected on:
- 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