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.
ETLETLL'ETL (Extract, Transform, Load) est un processus d'intégration de données qui extrait les données de sources multiples, les remet en forme dans un format cohérent et les écrit dans un système cible.Voir la définition complète → vs ELTELTL'ELT (Extract, Load, Transform) est un pattern d'intégration de données où les données brutes sont d'abord chargées dans le système cible, puis transformées à l'intérieur de celui-ci en s'appuyant sur sa puissance de calcul.Voir la définition complète → : 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 SQLSQLSales Qualified Lead : un prospect que l'équipe commerciale a validé comme prêt pour une prise de contact directe et une proposition, après avoir passé des critères de qualification explicites.Voir la définition complète → (dbt) ou avec Spark. Re-transformez à mesure que les besoins évoluent, sans recharger la donnée source.
ETL vs ELT: Key Differences Explained
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é ?
4. Sélectionnez TOUTES les affirmations correctes sur les traitements batch, streaming et micro-batch.
Sélectionnez toutes les réponses correctes.
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 lineagedata lineageLe data lineage cartographie les déplacements et transformations de la donnée à travers les systèmes, de l'origine à la consommation : d'où elle vient, ce qui l'a modifiée, et où elle va.Voir la définition complète →).
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 pipelinepipelineL'ensemble des opportunités commerciales actives réparties selon les étapes du processus de vente, avec leur valeur potentielle cumulée et leur probabilité de conclusion.Voir la définition complète → 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 schemaschemaUn schema est le plan formel qui définit comment les données sont structurées, nommées, typées et reliées entre elles au sein d'une base de données, d'un fichier ou d'un message.Voir la définition complète → 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 BIBITechnologies et processus qui transforment des données brutes en insights actionnables via du reporting, des dashboards et de l'analyse, pour que les équipes décident sur des faits plutôt qu'à l'intuition.Voir la définition complète → 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
- 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-transformertransformerUn Transformer est une architecture de réseau de neurones qui utilise le self-attention pour traiter des séquences en parallèle. Elle est au cœur de la plupart des modèles de langage et d'IA générative actuels.Voir la définition complète → à la demande
C) Il nécessite moins de compétences techniques
D) Il réduit les coûts de stockage
Réponse: B
- 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
- 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
Articles liés
Les articles récents du blog qui s'appuient sur cette leçon.
- DataLa stack ELT moderne : comprendre dbt, ingestion et orchestrationLa stack ELT moderne repose sur trois couches distinctes qui ont chacune un rôle précis. Comprendre leur articulation, c'est éviter des choix d'architecture qui coûtent cher à corriger.
- DataComment Deliveroo a reconstruit sa chaîne de données autour du stack ELT moderneQuand Deliveroo a voulu passer d'un entrepôt de données fragmenté à une architecture analytique cohérente, l'entreprise a misé sur dbt, Fivetran et Airflow. Ce cas illustre concrètement ce que signifie adopter un stack ELT moderne, et ce que cela implique vraiment en termes d'organisation et de gouvernance.
- DataLa stack ELT moderne : comprendre dbt, ingestion et orchestrationLa stack ELT moderne repose sur trois composants distincts que beaucoup confondent ou regroupent sous un même terme. Comprendre leur rôle respectif et leurs interactions est une condition préalable à toute décision d'architecture data sérieuse.