Indirizzo di studi: Informatica e sistemi di comunicazione
Specializzazione: Data Engineering
Modulo: Gestion avancée des données

Descrizione del corso

Tornare al modulo Traitement des données distribuées

  • Obiettivi

    A la fin du cours, l'étudiant-e devrait avoir une base solide sur la structure et l'implémentation d'une chaîne de traitement de données distribuéés, qui lui servira de guide pour la conception de ses propres projets. Plus précisément, les objectifs sont :

    • Définir les motivations, opportunités et challenges du stockage et traitement de données distribuées
    • Expliquer concepts de base des systèmes de données distribuées : Théorème CAP, réplication, partitionnement et consensus
    • Décrire la structure d'une chaîne de traitement des données (''data pipeline'') à travers le Data Engineering Lifecycle
    • Distinguer les modèles de stockage distribués (object, file, block, stream) et expliquer de fonctionnement détaillé de HDFS et Kafka ainsi que les concepts de base de l'object storage
    • Comparer les formats de données selon leur niveau de structure et différencier les formats de stockage structurés orientés row/record, column et table
    • Qualifier les données pour l'ingestion en termes de type de système source et caractéristiques pour proposer un modèle d'ingestion de données approprié à une situation
    • Expliquer les concepts de base du stream processing (processing/event time, triggers, watermarks, windowing, exactitude) et les illustrer au travers du modèle Datafow
    • Comparer des abstractions de stockage/transformation/présentation comme Data Lake, Data Warehouse, Data Lakehouse, Streaming Kappa/Lambda, Data Integration Platform, Modern Data stack
    • Implémenter l'ingestion, le stockage, la transformation et le serving de données distribuées en ''batch'' et ''streaming'' à travers des technologies actuelles comme Spark, Beam, Airbyte, Kafka, HDFS, Avro, Parquet, Iceberg, Trino, ....
  • contenuto

    Ce cours explore une des tâches principales du Data Engineer : construire des chaînes de traitement de données (data pipelines). Lorsque l'on veut créer des systèmes traitant des masses considérables de données, on a besoin de distribuer leur stockage et traitement.

    On se concentre sur les étapes suivantes : génération, ingestion, stockage, transformation et serving (présentation) des données distribuées. Le cours est composé de cours magistral/discussions/exercices, de travaux pratiques, et d'un mini-projet commun au module.

    Le cours contient les chapitres suivants :

    • Motivations et concepts du distribué
    • Data Engineering et Data Engineering Lifecycle (''Data pipeline'')
    • Stockage distribué et batch processing 1: Stockage fichier/bloc/objet distribué, MapReduce, Data Lake, ...
    • Stockage distribué et batch processing 2: Formats structurés, Spark
    • Serving : Moteurs SQL distribués (Hive, Trino, ...) et formats ''table'' (Iceberg, ...)
    • Stockage de streams (écosystème Kafka)
    • Génération (systèmes source) et ingestion ''batch'' et ''streaming''
    • Stream Processing: concepts, modèle Dataflow, Apache Beam
    • Mini-projet intégré avec les autres cours du module pour construire une pipeline end-to-end

Metodo d'insegnamento e volume di lavoro

Insegnamento frontale (esercizi inclusi)
24 periodi
lavori pratici / laboratorio
15 periodi
project
9 periodi
Travail personnel
48 periodi

Titolo del corso

Anno di validità
2025-2026
Anno del piano degli studi
3o anno
Semestre
autunno
Programma
francese,bilingue
Indirizzo di studi
Informatica e sistemi di comunicazione
Lingua d'insegnamento
francese
ID del corso
B3C-TDDS-S
Livello
Avanzato
Tipo di corso
fondamentale
Formazione
Bachelor

Metodi di valutazione

  • prove in itinere prove scritte, lavori pratici / valuatazione delle relazioni di laboratorio, mini-projet commun au module (note indépendante par cours)

Metodo di calcolo della nota del corso

La note du contrôle continu est la moyenne pondérée des évaluations du semestre.

Letteratura di riferimento

Seront fournies sur la plateforme de cours Cyberlearn

Docente/i e/o coordinatore/i

Philippe Joye