Ciò si riferisce alla definizione, all’analisi, ed
all’utilizzo di strumenti orientati ad i Big Data
(ad es. Database No-SQL) e linguaggi di
programmazione per il parsing ed ingestion di
dati. Gli studenti acquisiranno sia principi
teorici che pratici dei sistemi di analisi,
acquisizione e gestione dei Big Data.
Alla fine del corso gli studenti saranno in
grado di:
· comprendere i sistemi di acquisizione
dei Big Data;
· comprendere ciò che è necessario per
pianificare un'implementazione della
tecnologia Big Data;
· conoscere la gestione dei Big Data
mediante DBMS NoSQL;
· individuare la migliore soluzione
DBMS per l’archiviazione dei Big Data
in base ad un determinato caso di studio.
Prerequisiti
Conoscenze basilari dei database di tipo
relazionale. Programmazione procedurale e
ad oggetti.
Testi
Hurwitz, Judith and Nugent, Alan and Halper, Fern and Kaufman, Marcia (2015). Big Data For Dummies. USA: For Dummies.
Ghislain Fourny (2016-2023). The Big Data Textbook.
Andreas Kretz (2023). The Data Engineering Cookbook.
Contenuti
Introduzione ai Big Data: caratteristiche, problemi, opportunità. Tecnologie e soluzioni per la gestione di Big Data (cenni): Distributed File Systems (HDFS), Map Reduce e Spark. Una panoramica sui data storage: le lezioni apprese, cloud storage e file system distribuiti. Dati semi-strutturati e sintassi: XML, JSON e CSV. ETL (Extract/Transform/Load) ed ELT (Extract/Load/Transform): principali differenze. Acquisizione dei Big Data: Apache Flume, Apache Sqoop, Apache Nifi e Logstash. La pipeline dei dati: RestAPI e Apache Kafka.