Logo

Data Management

Code: 108254
Credits: 6
2026/2027
Degree programme Type Course
Bachelor in Artificial Intelligence FB 2

Contact lecturer

Name :
Eduardo Cesar Cabrera Flores
Email :
eduardocesar.cabrera@uab.cat

Group languages

You can consult this information at the end of the document.

Prerequisites


It is recommended to have programming knowledge in Python or any other high-level programming language, as well as familiarity with and the ability to use the Linux operating system in development environments. Basic knowledge of databases and SQL is also beneficial.

Objectives


The objectives of the module are as follows:


  • Understand the limitations of data management tools to select the necessary tools for a given problem.
  • Efficiently model and organise data.
  • Implement and query relational and NoSQL databases.
  • Develop basic machine learning workflows on distributed data platforms.
  • Deploy and use cloud-based database and data warehouse services.
  • Design comprehensive data management architectures for large-scale data applications.


By the end of the module, students will be able to understand the requirements of a data problem, select the most appropriate tools and design efficient solutions for its storage, processing and analysis.

Learning outcomes

  • CM05 (Plan the deployment of AI applications using distributed cloud platforms and massive data storage tools.) Plan the deployment of AI applications using distributed cloud platforms and massive data storage tools.
  • KM16 (Describe the basics of relational and non-relational database management systems.) Describe the basics of relational and non-relational database management systems.
  • SM18 (Develop appropriate data management systems that allow for efficient storage and retrieval of information.) Develop appropriate data management systems that allow for efficient storage and retrieval of information.

Contents


T1: Main concepts for large data management

  • Data Systems
  • Data Models

T2: Large data management systems

  • Relational Databases
  • Non-SQL Databases
  • In-memory databases


T3: Data analysis with large data volume: Apache Spark

  • Spark Dataframes
  • Spark MLib


T4: Cloud database services

  • Cloud Databases Services
  • Data Warehouse


Learning activities and methodology

Title Hours ECTS Learning outcomes
Laboratory 40 1.6 CM05, KM16, SM18
Theory 44 1.76 CM05, KM16
Development of practical exercises 66 2.64 CM05, KM16, SM18


The course will be based primarily on a "learning by doing" methodology. Each topic will be introduced through theoretical sessions in which the lecturer will present the fundamental concepts and provide support materials for independent study (books, online educational resources, scientific articles and specialised technical documentation). .


Building on this knowledge, students will take part in practical sessions focused on solving exercises and developing small projects, both individually and in pairs. These activities will allow them to apply theoretical concepts to real-world situations and consolidate the skills acquired.


Throughout the course, students will prepare technical reports documenting the practical work carried out on each topic, thereby fostering their ability to analyse, synthesise and communicate results.

Annotation: within the schedule set by the centre or degree programme, 15 minutes of one class will be reserved for students to evaluate their lecturers and their courses or modules through questionnaires.

Assessment

Continuous assessment activities

Title Weight Hours ECTS Learning outcomes
Spark lab 10 0 0 CM05, KM16, SM18
Redis lab 10 0 0 CM05, KM16, SM18
Spark MLIB lab 10 0 0 CM05, KM16, SM18
AWS lab 10 0 0 CM05, SM18


The assessment consists of two components: Theory & Problems and Practice.


The Theory & Problems component represents 60% of the final grade, whereas the Practice component represents the remaining 40%.


The theory and problem-solving component will be assessed individually through two written examinations. Each examination will contribute 30% of the final course grade, resulting in a total weighting of 60% for this component. The theory grade will be calculated as the arithmetic mean of the marks obtained in Exam 1 and Exam 2:

Theory = (Exam 1 + Exam 2) /2


​To be eligible to sit Exam 2, students must obtain a minimum mark of 4,5 out of 10 in Exam 1. Students who do not meet this requirement will not be allowed to take Exam 2 and will instead be required to sit a recovery examination covering the corresponding contents.


In order to pass the theory component, the average mark of the two examinations must be 5.0 out of 10 or higher. Students whose average theory grade is below 5.0 will be required to take the corresponding resit examination during the official recovery period. The mark obtained in the resit examination will be used in accordance with the assessment regulations established for the course.


Regarding the practice component will be assessed in groups of three. The practice grade will be calculated as the arithmetic mean of the marks obtained in PLABS:

Practice = (PLAB1 + PLAB2 + PLAB3 + PLAB4 ) / 4 (In groups of 3).


Attendance at practical sessions is mandatory. Practical work will be carried out in groups of three students and assessed through the corresponding laboratory activities and deliverables. This component is non-recoverable. Students must obtain a minimum average mark of 5.0 out of 10 in the practical component to pass it and, consequently, to pass the course.


A student will pass the course only if the weighted average of both components is at least 5.0.

Bibliography


  • Martin Kleppmann. “Designing Data-Intensive Applications“. O'Reilly, 2017.
  • A. Wittig, M. Wittig. “Amazon Web Services in Action“, Manning, 2nd Edition, 2018.
  • Coulouris, George F; J. Dollimore and T. Kindberg, “Distributed Systems: concepts and design“, Addison-Wesley, 5th edition, 2012.
  • Bell, Charles; Kindahl, Mats; Thalmann, Lars. “MySQL High Availability“. O'Reilly, 2010. recurs electrònic a la biblioteca de la UAB
  • Bell, Charles, “MySQL Database Service Revealed: Running MySQL as a Service in the Oracle Cloud Infrastructure“, Apress, 1st edition, 2023. recurs electrònic a la biblioteca de la UAB
  • Chang, Fay, et al. “Bigtable: A Distributed Storage System for Structured Data“, OSDI, 2006
  • Dewitt, David, and Jim Gray. “Parallel Database Systems: The Future of High Performance Database Processing“, Communications of the ACM 35, no. 6 (1992): 85-98
  • Schwartz, Baron; Zaitsev, Peter; Tkachenko, Vadim; Zawodny, Jeremy D.; Lentz, Arjen; Balling, Derek J. “High Performance MySQL“, O'Reilly, 2008.
  • Seyed M. M. Tahaghoghi and Hugh E. Williams. “Learning MySQL“, O’Reilly, 2006
  • Nathan Haines. “Beginning Ubuntu for Windows and Mac Users”. Apress 2015. recurs electrònic a la biblioteca de la UAB
  • William E. Shotts. “The Linux Command Line”. Second Internet Edition. 2013. http://linuxcommand.org/tlcl.php
  • Dan C. Marinescu. “Cloud Computing. Theory and Practice”. Morgan-Kaufmann. 2018.
  • R. Buyya, R. N. Calheiros, A. V. Dastjerdi. “Big data. Principles and paradigms”. Morgan-Kaufmann. 2016.


Software


The course will work with the most up-to-date versions of the systems and tools:


  • Linux
  • Apache Spark
  • Linux development environment


Course groups and languages

The information provided is provisional until November 30. After this date, you will be able to consult the language of each group through this link. To access the information, you will need to enter the course CODE

Type of teaching Group Language Semester Shift
(TE) Theory 71 English first semester afternoon
(PAUL) Classroom practices 711 English first semester afternoon
(PLAB) Practical laboratories 711 English first semester afternoon
(PAUL) Classroom practices 712 English first semester afternoon
(PLAB) Practical laboratories 712 English first semester afternoon
(PLAB) Practical laboratories 713 English first semester afternoon