Programma di Sistemi E Architetture Per Big Data:

Introduzione ai Big Data: problemi e sfide. Archiviazione dei dati: file system distribuiti, data store NoSQL, database NewSQL, database a serie temporali. Casi di studio: GFS, HDFS, Dynamo, Bigtable, Cassandra, DynamoDB, Spanner, VoltDB. Laboratorio: HDFS, Redis, MongoDB, HBase, Neo4j, InfluxDB, CockroachDB. Sistemi di acquisizione e ingestione dati: pub/sub, code di messaggi, sistemi di raccolta. Casi di studio: Kafka, Pulsar, Flume e NiFi. Sistemi per l'elaborazione batch. Casi di studio: Hadoop, Spark, Spark SQL. Laboratorio: Spark, Spark SQL. Sistemi per l'elaborazione di flussi di dati in tempo reale. Casi di studio: Storm, Flink. Laboratorio: Flink, Spark Streaming, Kafka Streams. Sfide nel data stream processing. Adattamento a runtime di sistemi di data stream processing.  Elaborazione batch e stream nel cloud. Machine learning distribuito e federato. Casi di studio: Spark MLlib, TensorFlow distribuito.