The course aims to provide the necessary knowledge and skills needed for the design and use of data management systems in cloud computing. After attending the course, the student will be able to autonomously assess the services provided by cloud frameworks and design new cloud-based solutions, taking current ICT standards into account when available. The course aims to 1- provide basic concepts related to cloud computing, cloud service models, and cloud infrastructure deployment models. 2- train the student in the use of cloud computing enabling technologies. 3- initiate the student to the main paradigms for data analysis in the cloud 4- introduce data management systems for the cloud 5- analyze security and privacy issues of cloud data management. The studied topics will be presented, where possible, by taking as a reference the architectures of the principal commercial solutions (e.g., Microsoft Azure, Amazon Web Services, etc.). In addition, the course aims to develop the student's soft skills, such as the ability to learn new cloud data management technologies autonomously. It is expected that, after attending this course, the student will be able to assess the strengths and weaknesses of cloud data management technologies.
Prerequisiti
The course requires students to have strong knowledge of relational database management systems.
Metodi didattici
The course comprises lessons (32 hours), exercise sessions (12 hours), and laboratory sessions (16 hours), as illustrated in the Course Content section of this syllabus.
Verifica Apprendimento
Exams aim at verifying that students have successfully acquired the knowledge and abilities described in the "Objectives" section. The exam consists of a written test which lasts 2 hours. Students cannot consult any textbook or other learning material during the exam. The written exam consists of 2/3 open questions on the conceptual aspects of the course and 3/4 exercises that aim to assess students' abilities in data modeling, data analysis, data distribution, or data protection. The grade is given out of thirty. Students can take intermediate written tests to assess the knowledge and skills acquired at the mid- and end-of-course. The intermediate tests have the same structure as the final written exam. The grade of both tests is given in thirtieths. The exam is passed if a student receives a grade greater than 18/30 in both intermediate tests, or if he/she receives a grade greater than 18/30 in the final written test. If a student has received a grade greater than 18/30 on both intermediate tests, the final exam score is the average of the intermediate test grades. Otherwise, the final score corresponds to the grade of the written test. The scores for the intermediate and final tests are derived as follows. Each question and exercise is associated with a weight equal to the maximum score the student can obtain by correctly completing the exercise. The weight can range from 3 to 8 points depending on the complexity of the related question or exercise. The exact weight for each exercise will be indicated on the exam sheet. The final grade, specified out of thirty, is calculated as the weighted average of the correctness percentages of the related questions and exercises. The laude is awarded if the candidate achieves the maximum score and demonstrates remarkable argumentative skills or provides original solutions showing his/her exceptional reasoning abilities.
Contenuti
- Foundations of cloud computing (goal 1, Lectures 4h) --The cloud model and its properties --Service models for cloud computing --Deployment models for cloud infrastructures
- Enabling technologies (goal 2, Lectures 10h -- 6h theory, 4h labs) -- Introduction to virtualization -- Containerization and orchestration - Data management and analysis in the cloud (goal 3, Lectures 32h -- 12 h theory, 10 h exercise, 10h labs) --Distributed computational paradigm
-Cloud-based NoSQL databases (goal 4, Lectures 10h -- 6 h theory, 2 h exercise, 2h labs) --System families, data models, and query languages