+55 XP

Pipelines de données : ETL/ELT, batch, streaming et architecture Medallion

Les data pipelines sont le système circulatoire de votre plateforme de données. Ils déplacent la donnée de là où elle est produite vers là où elle est consommée. Quand ils fonctionnent, personne ne le remarque. Quand ils tombent, tout s'arrête.

Un CDO qui ne comprend pas l'architecture des data pipelines ne peut pas diagnostiquer les pannes, ne peut pas avoir de conversations crédibles avec les équipes engineering, et ne peut pas prendre de bonnes décisions d'architecture.

ETL vs ELT : le changement de pattern fondamental

L'ETL traditionnel (Extract, Transform, Load) transforme la donnée avant de la charger vers la destination. L'ELT (Extract, Load, Transform) charge d'abord la donnée brute, puis la transforme dans le système de destination.

L'ETL avait du sens quand le compute était cher et le stockage bon marché : vous minimisiez ce que vous stockiez. L'ELT a du sens quand les warehouses cloud (Snowflake, BigQuery) offrent du compute scalable, et que vous voulez conserver la donnée brute pour une réutilisation flexible.

Défaut moderne : ELT. Chargez la donnée brute dans votre warehouse ou votre lake. Transformez en SQL (dbt) ou avec Spark. Re-transformez à mesure que les besoins évoluent, sans recharger la donnée source.

ETL vs ELT: Key Differences Explained

Watch on YouTube

Vérification des acquis

1. Quelle est la distinction fondamentale entre ETL et ELT ?

2. Pourquoi l'ELT est-il devenu le défaut moderne face à l'ETL traditionnel ?

3. Un système de détection de fraude doit réagir aux transactions au moment où elles se produisent. Quel pattern de traitement est le plus approprié ?

CHOIX MULTIPLES

4. Sélectionnez TOUTES les affirmations correctes sur les traitements batch, streaming et micro-batch.

Sélectionnez toutes les réponses correctes.

CHOIX MULTIPLES

5. Sélectionnez TOUTES les affirmations correctes sur l'orchestration de pipelines et Apache Airflow.

Sélectionnez toutes les réponses correctes.

Batch vs streaming : le spectre de latence

Le traitement batch déplace la donnée par fenêtres planifiées : horaire, quotidienne, hebdomadaire. Outils : Apache Spark, dbt, AWS Glue. À utiliser quand : la latence est acceptable (rapports de nuit, modèles hebdomadaires), le volume de données est élevé et le traitement complexe.

Le traitement streaming déplace la donnée en temps réel ou quasi temps réel (de la seconde à la minute). Outils : Apache Kafka, Apache Flink, AWS Kinesis, Google Pub/Sub. À utiliser quand : les décisions business dépendent de données à jour (détection de fraude, personnalisation temps réel, dashboards opérationnels).

Le micro-batch est l'entre-deux : de petits lots traités toutes les quelques minutes. Apache Spark Structured Streaming le prend en charge. Souvent suffisant quand le vrai temps réel n'est pas nécessaire mais que le batch horaire est trop lent.

La plupart des organisations ont besoin des deux : le batch pour les charges analytiques lourdes, le streaming pour les cas d'usage opérationnels. Architecturez pour supporter les deux patterns, ne construisez pas des systèmes séparés et incompatibles pour chacun.

Orchestration des pipelines

L'orchestration répond à la question : qui décide quand les pipelines s'exécutent, dans quel ordre, et que se passe-t-il quand ils échouent ?

Apache Airflow est l'orchestrateur open source dominant. Les pipelines sont définis comme des DAG (Directed Acyclic Graphs) en Python. Écosystème solide, monitoring mature, exploitation complexe.

Prefect et Dagster sont des alternatives modernes avec une meilleure expérience développeur et un support natif des patterns spécifiques à la donnée (matérialisation d'assets, data lineage).

dbt Cloud gère l'orchestration des charges de transformation spécifiquement.

À l'échelle, la complexité d'orchestration devient une charge opérationnelle significative. Airbnb exécute des milliers de DAG Airflow chaque jour : gérer la prolifération des DAG, les dépendances et la reprise après échec est une fonction engineering dédiée. Les CDO devraient intégrer ce coût dans leur planification des effectifs data engineering.

Fiabilité des data pipelines

La fiabilité des pipelines est une préoccupation de premier ordre. Un pipeline qui produit silencieusement des résultats faux est pire qu'un pipeline qui échoue bruyamment. Pratiques clés :

  • Idempotence : exécuter un pipeline deux fois doit produire le même résultat. Évitez les écritures en append seul sans déduplication.
  • Contrôles de qualité à chaque étape : n'attendez pas la fin pour valider ; contrôlez à l'ingestion, à la transformation, au chargement.
  • Alerting sur la qualité, pas seulement sur l'échec : un pipeline qui s'exécute mais produit 40 % de valeurs nulles a échoué. Surveillez la complétude, la fraîcheur et le schema drift, pas seulement le statut du job.
  • Documentation du lineage : sachez quels consommateurs en aval dépendent de chaque pipeline. Quand un pipeline change, prévenez proactivement les équipes en aval.

Architecture pratique : le pattern medallion

L'architecture medallion (Bronze → Silver → Gold) est devenue un standard de fait pour les implémentations lake et lakehouse :

  • Bronze : donnée brute ingérée, non modifiée, avec métadonnées (timestamp de chargement, système source). Ne jamais supprimer. C'est votre piste d'audit.
  • Silver : donnée nettoyée, dédupliquée, standardisée. Jointures appliquées. Règles métier partiellement appliquées. Adaptée à l'exploration data science.
  • Gold : donnée agrégée prête pour le business. Optimisée pour des cas d'usage analytiques spécifiques. Utilisée par les outils BI et les parties prenantes métier.

Uber, Netflix et les clients de Databricks utilisent largement ce pattern. Il fournit des attentes de qualité claires à chaque couche et accélère le debugging : quand une métrique business est fausse, vous savez quelle couche investiguer en premier.

Quiz Questions

  1. Pourquoi l'ELT est-il devenu le pattern moderne par défaut ?

A) Il est plus rapide que l'ETL

B) Les warehouses cloud offrent du compute scalable, permettant de conserver la donnée brute et de re-transformer à la demande

C) Il nécessite moins de compétences techniques

D) Il réduit les coûts de stockage

Réponse: B

  1. Dans l'architecture Medallion, que contient la couche Bronze ?

A) Des données agrégées optimisées pour le BI

B) Des données nettoyées et standardisées

C) Des données brutes non modifiées avec métadonnées de chargement

D) Des données de production en temps réel

Réponse: C

  1. Quelle est la différence clé entre le streaming et le micro-batch ?

A) Le micro-batch est toujours plus lent que le batch

B) Le streaming traite chaque événement individuellement en temps réel, le micro-batch traite de petits lots toutes les quelques minutes

C) Le micro-batch est identique au streaming

D) Le streaming ne fonctionne qu'avec Kafka

Réponse: B

À faire, tiré de cette leçon

Ces actions sont compilées dans le plan d'action du rôle.

  • Standardiser les pipelines sur le pattern de couches Medallion bronze-silver-gold
Voir le plan d'action complet →

Articles liés

Les articles récents du blog qui s'appuient sur cette leçon.