
Data Management
Code: 108254Credits: 6
| 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.
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 |