INGEGNERIA ELETTRICA ELETTRONICA E INFORMATICAComputer EngineeringAcademic Year 2022/2023

1016152 - DISTRIBUTED SYSTEMS AND BIG DATA A - Z

Teacher: Antonella DI STEFANO

Expected Learning Outcomes

All the enterprise software systems and successful applications that we have today are wide-area distributed architecture which features a large quantity of data and codebase. This course aims to systematically present the main topics related to the design of these systems and to provide basic information on the related technologies  

In this rapidly changing scenario, the main objective is to help the students improve their skills to apply the fundamental algorithms and patterns to design large scale complex solutions. 

Knowledge and Understanding

Today there are many different continuously evolving solutions thanks to the research enterprise’s effort to meet the requirements of an ever-growing customer base. Thus, the goal is to give the students not only tools to meet today’s needs in the work environment but also to deal with the emerging challenges in the area of distributed software architecture maturing their abilities to adapt to novel solutions and technologies.

Among the main topics of the course:

Applied knowledge and Understanding

The intent of the course is to push the students to design software solutions and to improve their ability to autonomously engage in the design, development, and deployment, individually or in teams, of today’s real-world large distributed software architecture. The course uses practical activities and homework to achieve:

Course Structure

Lessons ex-catedra and laboratory activities.

Detailed Course Content

Textbook Information

for technologies and freamworks you can refer to the websites (as it will be during the course)

other textbooks you can consult 

Course Planning

 SubjectsText References
11_tipi di Distributed Systems (DS)
22_caratteristiche dei Distributed Systems (DS)
33_lo scenario cloud
44_architettura sw: componenti, connettori, ruoli C/S e P2P
54a_modelli di comunicazione
65_placement, distribuzione verticale e orizzontale
76_SOA e REST
86b_springboot
97_monolithic vs microservice Architecture
108_DOCKER e Docker Compose
119_kubernetes
1210_messaging
1311_kafka
1412a_HDFS, MapReduce, Function as a Service
1512_Big Data. Data Lake e Data Pipeline
1612b partitioning & sharding; NoSQL data model
1713 graphDB e Neo4j
1814 time series
1915 Prometheus
201alg_Tempo
212alg_GlobalSnapshot
223alg_FaultDelivery
234alg_Consenso
245alg_Paxos; Raft
256alg_Flooding & DHT
266alg_a gossip
277alg_transactions & ACID properties
288alg_saga
299alg_repliche
3010alg_ election;
3111alg_CAP theorem & BASE properties

Versione in italiano