La plupart des équipes ont besoin de beaucoup de données, du type de données fiables, qu’on peut interroger et utiliser sans démêler un fouillis d’exportations, d’incohérences de champs et de tableaux de bord à peine fonctionnels. Au-delà du déplacement des données, un pipeline d’extraction, de transformation et de chargement (ETL) les transforme en quelque chose d’utilisable, évolutif et sans surprises. En 2024, on estimait 149 zettaoctets de données ont été créés, capturés, copiés et consommés dans le monde entier, il est donc important de disposer d’un pipeline capable de simplifier le traitement des données.
Vous trouverez ci-dessous un guide sur le fonctionnement des pipelines ETL, pourquoi ils sont utiles et comment en concevoir un qui s’adapte à votre entreprise.
Sommaire
- Qu’est-ce qu’un pipeline ETL?
- Comment fonctionne un pipeline ETL?
- Pourquoi les entreprises utilisent-elles des pipelines ETL?
- Quels sont les défis courants liés à l’ETL et comment les résoudre?
- Comment concevoir un pipeline ETL évolutif?
Qu’est-ce qu’un pipeline ETL?
Un pipeline ETL est le système qui rend les données brutes utilisables et les déplace d’un endroit à un autre. Voici ce que signifie l’acronyme :
- Extract : Extraire des données des systèmes sources.
- Transform : Nettoyer et reformater ces données.
- Load : Acheminer les données vers une destination centralisée (par exemple, un entrepôt de données).
En conditions pratiques, un pipeline ETL collecte des données à partir de sources telles que les plateformes de paiement, les bases de données de produits et les outils d’analyse Web. Le système traite ces données (en les nettoyant, en unifiant les formats et en combinant les systèmes), puis pousse le produit final vers un endroit où il peut être utilisé, par exemple pour les rapports, les tableaux de bord ou la modélisation.
Qu’en est-il de l’extraction, du chargement et de la transformation (ELT)?
Traditionnellement, les pipelines ETL transforment les données avant de les charger dans l’entrepôt. Mais aujourd’hui, avec un calcul plus rapide et un stockage moins cher, de nombreuses équipes utilisent l’ELT, en chargeant d’abord les données brutes, puis en les transformant à l’intérieur de l’entrepôt.
L’ELT est un commande d’opérations différent, mais il a le même objectif que l’ETL : déplacer vos données en un seul endroit et dans un état en permettant l’exploitation.
Comment fonctionne un pipeline ETL?
Les pipelines ETL fonctionnent en trois étapes principales (extraction, transformation et chargement), mais il s’agit rarement d’un processus linéaire et net. Un pipeline bien conçu est constamment en mouvement, gérant différents lots de données, coordonnant les dépendances et fournissant des informations avant la fin du dernier lot.
Voici ce qui se passe à chaque étape :
Extraction
Les méthodes d’extraction varient en fonction du système. Les limites de débit et la latence dictent le rythme des interfaces de programmation de formulaire d’inscription (API). Avec les bases de données de production, les équipes utilisent souvent des extractions incrémentielles, en extrayant uniquement les données qui ont été modifiées depuis la dernière exécution pour minimiser la charge. Le pipeline commence par extraire les données de l’endroit où elles se trouvent.
Les sources peuvent inclure ce qui suit :
- Bases de données relationnelles (par exemple, PostgreSQL, MySQL)
- Logiciel-service (SaaS), via des API provenant d’outils tels que les systèmes de gestion des relations client (CRM), les logiciels de soutien et les prestataires de service de paiement
- Fichiers plats, journaux, compartiments cloud ou serveurs FTP (File Transfer Protocol)
Transformation
C’est le cœur du pipeline et généralement la partie la plus lourde. Après l’extraction, les données atterrissent dans un environnement de préparation pour être traitées. La phase de transformation peut impliquer :
- Le nettoyage des données : Supprimer les lignes corrompues, supprimer les enregistrements en double et remplir les valeurs manquantes.
- La normalisation des données : Harmoniser les formats et les unités (par exemple, conversion des horodatages, correspondance des codes devises).
- La mise en commun des données : Combiner les informations de toutes les sources (par exemple, en faisant correspondre les enregistrements utilisateur d’un système CRM avec l’historique transaction d’un système paiement).
- Création de champs dérivés : Calcul de nouvelles métriques ou application de la logique de l’entreprise (par exemple, en balisant les clients « risque d’attrition » en fonction des modèles de comportement).
Vous pouvez exécuter ces étapes dans des langages de programmation tels que SQL (Structured Query Language) et Python, ou via un moteur de transformation tel qu’Apache Spark, selon la taille et l’étendue des données. Il en résulte des ensembles de données ordonnés et structurés qui conviennent au modèle de données et aux objectifs d’analyse de l’entreprise.
Chargement
Une fois les données transformées, elles sont prêtes à être déplacées vers leur destination finale, qui peut être :
- Un entrepôt de données dans le cloud (par exemple, Amazon, BigQuery)
- Un lac de données
- Une base de données de rapports
La façon dont les données sont chargées dépend de vos objectifs. Certaines équipes ajoutent continuellement de nouveaux enregistrements, tandis que d’autres insèrent des lignes ou les mettent à jour pour maintenir les tables à jour. Les échanges de tables complètes ou l’écrasement de partition sont courants pour la vérification des données.
Des pipelines efficaces gèrent le chargement par lots ou en mode vrac, en particulier à se développer. Cela permet de réduire les conflits d’écriture, d’éviter les goulets d’étranglement des performances et de fournir aux systèmes en aval des données utilisables dans un format prévisible.
Parallélisme
Dans un pipeline mature, ces étapes ne se produisent pas en même temps. Au lieu de cela, Elles sont échelonnées et parallélisées : par exemple, pendant que les données extraites du lundi sont en cours de transformation, l’extraction du mardi peut commencer.
Ce pipeline maintient un débit élevé. Mais cela peut également entraîner des complications : si quelque chose échoue en cours de route, vous avez besoin de visibilité sur l’étape échouée et sur la manière de la reprendre sans corrompre votre flux de données.
Orchestration
Des programmes d’orchestration tels qu’Apache Airflow, Prefect et des services natifs du cloud (par exemple, AWS Glue) gèrent ces étapes. Ils coordonnent :
- __ Les dépendants de tâches :__ Celles-ci déterminent ce qui s’exécute en premier et ce qui suit.
- La programmation : C’est à ce moment-là que chaque étape commence (par exemple, toutes les heures, tous les jours établi sur des événements déclenchés).
- Gestion des Échecs : La gestion des échecs fournit les étapes suivantes lorsqu’une tâche se bloque ou fait l’objet d’une défaillance.
- Gestion des _Ressources : _ Cela détermine quelles tâches informatiques s’exécutent où et combien à la fois.
Sans orchestration, l’ETL devient fragile et nécessite un effort manuel. Grâce à elle, votre infrastructure de données devient plus prévisible et plus fiable.
Pourquoi les entreprises utilisent-elles des pipelines ETL?
De nombreuses entreprises disent qu’elles sont propulsées par les données. Mais le véritable défi est d’obtenir les bonnes données en un seul endroit et dans un état que les entreprises peuvent utiliser. Les pipelines ETL offrent aux équipes un moyen fiable de collecter, de nettoyer et de combiner des données provenant de l’ensemble de l’entreprise afin qu’elles soient utilisables pour l’analyse, la production de rapports, les prévisions, l’IA, les audits, ou des mises à jour des investisseurs.
Voici pourquoi les entreprises investissent dans les pipelines ETL :
Pour créer une vue unifiée de tous les systèmes
Les données sont fragmentées par défaut. Les données de vente peuvent vivre dans votre système CRM. Les transactions transitent par votre plateforme de paiement. L’utilisation du produit est indiquée dans un fichier journal. Chacun de ces systèmes raconte une partie de l’histoire.
Les pipelines ETL extraient les données brutes de ces sources, rapprochent les champs qui se chevauchent (par exemple, les ID client) et chargent une version propre et unifiée dans un entrepôt central. Par exemple, une entreprise SaaS peut utiliser un pipeline ETL pour combiner les utilisation de produits, les tickets de soutien et les données facturation afin de pouvoir surveiller compte état de santé en un seul endroit.
Cette vue consolidée permet une meilleure prise de décision, et c’est souvent le seul moyen de répondre à des questions multisources telles que : « Quelles campagnes marketing ont attiré nos clients les plus précieux? »
Pour améliorer la qualité des données
Les données brutes peuvent être désordonnées. Différents systèmes utilisent des formats différents, appliquent des étiquettes incohérentes ou contiennent des doublons et des lacunes.
Les pipelines ETL établissent une norme minimale de qualité. Ils nettoient les enregistrements sales, normalisent les catégories et les formats et appliquent les règles de l’entreprise avant d’envoyer les données à des logiciels utilisés par des analystes ou des dirigeants. Cela peut signifier moins de correctifs ad hoc, moins de questions sur les champs incompatibles et plus de confiance dans ce que disent les données.
Pour automatiser les flux de travail manuels
Sans ETL, les équipes s’appuient souvent sur des exportations, des feuilles de calcul et des scripts qui peuvent se casser lorsque quelqu’un met à jour le nom d’un champ. Cette approche est lente et ne se développe pas.
Les pipelines ETL automatisent ces flux de travail. Ils fonctionnent selon des calendriers ou des événements, déplacent les données de manière reproductible et éliminent la nécessité pour les humains de surveiller l’ensemble du processus.
Pour soutenir le développement et la complexité
Au fur et à mesure que votre entreprise se développe, vos données se développent également. Cela signifie plus de clients, d’événements et de systèmes. La combinaison manuelle de ces données devient intenable.
Les pipelines ETL sont conçus pour se développer. Ils peuvent processus de gros volumes de données, s’exécuter en parallèle et s’adapter à l’émergence de nouvelles sources et de nouveaux cas d’utilisation.
Pour améliorer l’analyse et la prise de décisions
La qualité des tableaux de bord et des modèles d’IA dépend des données qui les alimentent. Si votre pipeline est cassé, votre analyse l’est aussi.
Les pipelines ETL garantissent que les décideurs disposent de données fiables et en temps opportun. Cela inclut :
- Revenus hebdomadaires
- Tendances de Désabonnement des clients
- Rendement des produits dans tous les segments
- Signalement des fraudes en temps réel
Stripe Pipeline de données permet aux entreprises de promouvoir le paiement automatiquement des données financières aux plateformes, sans avoir à construire et à maintenir elles-mêmes le pipeline.
Pour gérer les risques et assurer la conformité
Lorsque des données, en particulier des données sensibles, circulent entre des systèmes, il existe des risques : failles de sécurité, violations de la réglementation et contrôles d’accès incohérents.
Avec les pipelines ETL, les entreprises ont plus de contrôle. Elles peuvent :
- Masquer ou chiffrer les champs sensibles pendant le traitement
- Journaliser les accès et les transformations pour les audits
- Centraliser les données dans des environnements dotés de contrôles de sécurité renforcés
Ces tâches facilitent le respect des règles de protection des données telles que le Règlement général sur la protection des données (RGPD) et Health Insurance Portability and Accountability Act (HIPAA), et plus difficile de perdre des données sensibles.
Quels sont les défis courants avec l’ETL et comment les résoudre?
Les pipelines ETL sont importants, mais ils sont rarement simples. Leur complexité provient des données, des systèmes et de la logique entreprise réels impliqués. Mais vous pouvez résoudre la plupart des problèmes avec la bonne architecture et les bonnes habitudes.
Voici les problèmes les plus courants avec l’ETL et comment les surmonter :
Problèmes de qualité des données
Le pipeline peut fonctionner parfaitement et fournir des résultats de mauvaise qualité si les données sources sont incohérentes ou erronées.
Pourquoi cela se produit
- Conflits de formats ou de codes entre les systèmes (p. ex., « CA » vs. « Californie »).
- Il y a des doublons, des valeurs manquantes ou des entrées mal formées.
- Les champs en aval sont calculés à partir d’erreurs en amont.
Ce qui aide
- Intégrer la validation des données dans votre pipeline (et non comme une dernière étape).
- Définir des seuils et des alertes pour les valeurs aberrantes ou les valeurs nulles inattendues.
- Définir des règles pour ce qui est considéré comme « propre » et les documenter.
- Mettre en quarantaine les mauvaises lignes au lieu de les jeter.
Transformations complexes
Certaines transformations sont faciles. D’autres se compliquent rapidement, en particulier lorsqu’elles fusionnent des sources ou appliquent une logique en plusieurs étapes.
Pourquoi cela se produit
- Les règles métier changent, se superposent ou ne sont pas bien documentées.
- Les jonctions entre systèmes nécessitent une gestion importante des cas limites.
- Les performances diminuent lorsque les transformations ne sont pas affinées.
Ce qui aide
- Décomposer les transformations en étapes modulaires que vous pouvez tester, déboguer et réutiliser.
- Utiliser le contrôle de version pour assurer le suivi des modifications logiques au fil du temps.
- Déplacer les calculs lourds vers des moteurs distribués, ou poussez-les vers votre entrepôt de données, si possible.
- Traiter le code de transformation comme du code de production : le vérifier, le tester et le surveiller.
Goulets d’étranglement en matière de performances et d’évolutivité
Un pipeline qui fonctionne correctement avec 1 million d’enregistrements peut s’arrêter à 10 millions ou commencer à prendre trop de temps pour se terminer.
Pourquoi cela se produit
- Les processus s’exécutent en série alors qu’ils pourraient être exécutés en parallèle.
- Les systèmes atteignent des limites en matière d’entrée/sortie (E/S), d’unité centrale de traitement (CPU) ou de mémoire.
- Le code traite les données ligne par ligne plutôt qu’en masse.
- Les extractions complètes répétées surchargent les systèmes sources.
Ce qui aide
- Concevoir pour un parallélisme qui a du sens pour vous : partition par date, région et ID client.
- Utiliser des chargements incrémentiels au lieu d’actualisations complètes dans la mesure du possible.
- Décharger le transport de charges lourdes vers des systèmes flexibles (par exemple, l’informatique distribuée, les entrepôts à mise à l’échelle automatique).
- Profiler régulièrement votre pipeline et améliorer les étapes les plus lentes.
Trop de systèmes sources et manque de normalisation
Chaque nouvelle source ajoute ses propres difficultés : APIs , les noms de champs se heurtent et certaines sources envoient des données une fois par minute tandis que d’autres le font une fois par semaine.
Pourquoi cela se produit
- De nombreux systèmes d’entreprise n’ont pas été conçus pour l’intégration.
- Les formats sources ne sont pas cohérents (par exemple, les exportations CSV, les API, les bases de données héritées).
- Les équipes extraient les données de différentes manières sans coordination.
Ce qui aide
- Normaliser les méthodes d’extraction lorsque vous le pouvez, à l’aide de connecteurs partagés ou d’outils d’ingestion centralisée.
- Isoler la logique de chaque source (modules ou scripts séparés) pour faciliter la maintenance.
- Normaliser le nommage des champs et les métadonnées dès le début du pipeline.
- Utiliser la capture des données modifiées (CDC) dans la mesure du possible pour synchroniser uniquement les mises à jour.
Risques de sécurité et de conformité
Le déplacement de données sensibles, en particulier les renseignements sur les clients ou les finances, comporte des risques. Votre pipeline doit tenir compte de chiffrement, les règles de confidentialité et les pistes d’audit.
Pourquoi cela se produit
- Les systèmes extraient inutilement des champs sensibles.
- Le stockage temporaire n’est pas sécurisé.
- Il n’y a pas de journaux indiquant qui a accédé à quoi et quand.
Ce qui aide
- Masquer ou chiffrer les données sensibles pendant la transformation.
- Limiter l’accès aux zones de transit et appliquer des contrôles établis en fonction des rôles.
- Utiliser des protocoles sûrs pour l’extraction et le transfert.
- Tenir à jour les journaux d’audit et soutenir la suppression ou la suppression sur requête.
Dette d’entretien et dérive de pipeline
Les pipelines nécessitent une attention continue à mesure que les schémas sources et les définitions d’entreprise changent et que les tâches échouent silencieusement.
Pourquoi cela se produit
- Les pipelines manquent d’observabilité, de sorte que les problèmes passent inaperçus.
- Personne n’est responsable du pipeline au jour le jour.
- La logique est codée en dur et non documentée.
Ce qui aide
- Traiter les pipelines comme des infrastructures vivantes : versionnés, surveillés et testables.
- Ajouter des journaux, des métriques et des vérifications de l’état.
- Utiliser un logiciel d’orchestration pour assurer le suivi des dépendances et des relances.
- Créer des procédures opérationnelles pour les échecs courants : ne vous appuyez pas sur la mémoire.
Les pratiques exemplaires peuvent atténuer ces défis et éviter qu’ils ne deviennent des urgences récurrentes. De plus, ils vous aideront à créer des pipelines transparents, faciles à gérer et suffisamment résilients pour évoluer avec votre entreprise.
Comment concevoir un pipeline ETL évolutif?
Le véritable test d’un pipeline ETL est de savoir s’il peut fonctionner correctement lorsque vos données augmentent d’un facteur 10, votre modèle économique, ou 3 nouveaux systèmes sont mis en ligne. Un pipeline flexible peut absorber ce changement sans se briser, ralentir ou devenir trop complexe.
Voici comment intégrer l’évolutivité dans votre pipeline :
Commencez avec la croissance à l’esprit
L’évolutivité consiste à être prêt à en faire plus :
- Sources
- Volume
- Équipes qui ont besoin d’un accès
- Frais généraux réglementaires
Réfléchissez à ce qui pourrait tomber en premier si ce pipeline doit soutenir 10 fois plus de données ou remplir 5 nouveaux tableaux de bord. Construisez avec une capacité suffisante pour ne pas être obligé d’effectuer une reconstruction coûteuse dans six mois.
Utilisez une architecture permettant de se développer
Certains pipelines sont voués à l’échec dès le départ parce qu’ils reposent sur des systèmes ou des processus qui ne se développent pas horizontalement. Pour éviter cela, il faut :
- Choisissez des moteurs de traitement capables d’exécuter des tâches en parallèle sur plusieurs machines
- Utilisez des bases de données ou des entrepôts capables de séparer le stockage et l’informatique, et se développer chacun d’entre eux indépendamment.
- Effectuez des chargements par lots ou des écritures partitionnées plutôt que des opérations ligne par ligne
Si une partie de votre pipeline atteint le maximum d’une machine, c’est votre goulot d’étranglement.
Conception pour le parallélisme
Le parallélisme permet de minimiser le temps d’exécution et d’augmenter la capacité. Les pipelines en série peuvent sembler sûrs, mais ils sont lents. Si vous traitez un fichier, un client ou une région à la fois, votre débit est limité, quelle que soit la puissance de votre infrastructure. Au lieu de cela, vous devriez :
- Partitionner les données par unités logiques (par exemple, date, région, ID client)
- Exécuter simultanément les étapes d’extraction, de transformation et de chargement lorsque les dépendances vous le permettent
- Rendre chaque étape sans état afin que plusieurs instances puissent s’exécuter en parallèle
S’appuyer sur l’élasticité du cloud
Le Cloud facilite le développement de l’ETL tout en évitant le surprovisionnement. Vous pouvez :
- Développer le traitement de donnée automatiquement lors des pics de demande
- Utiliser les services de stockage d’objets pour le transfert sans vous soucier de la capacité
- Laisser les services ETL gérés prendre en charge le gros du travail d’allocation des ressources
Corrigez les défauts mineurs avant qu’ils ne deviennent urgents
Dans un contexte de développement, de petites décisions peuvent avoir un grand impact. Pensez à inclure ce qui suit :
- Utilisation de formats de fichiers en colonnes (par exemple, Parquet) pour la mise en page afin d’accélérer les lectures et les écritures
- Compression de fichiers volumineux pour réduire le temps d’E/S
- Écrire des requêtes SQL efficaces, et éviter les transformations inutiles
- Profiler vos tâches pour trouver rapidement les goulets d’étranglement
Maintenez la modularité du pipeline
Les pipelines modulaires sont plus faciles à développer, à tester et à dépanner. Ils se développent tant sur le plan organisationnel que technique. Lorsque vous devez ajouter une nouvelle source de données ou modifier une règle de transformation, vous ne voulez pas démêler un monolithe de 2 000 lignes. Au lieu de cela, vous devriez :
- Diviser votre pipeline en étapes logiques (par exemple, ingestion, traitement, chargement)
- Encapsuler les transformations afin qu’elles puissent être mises à jour ou réutilisées indépendamment
- Documenter clairement les entrées, les sorties et les dépendances
Construire pour la visibilité
Au fur et à mesure que le pipeline se développe, il est de plus en plus nécessaire de comprendre ce qui se passe à l’intérieur. Vous ne pouvez pas réparer ou développer ce que vous ne pouvez pas voir. Assurez-vous de :
- Surveiller les temps d’exécution des tâches, le nombre de lignes, les taux d’erreur et l’actualisation
- Définir des alertes pour les pannes et les seuils
- Suivre la traçabilité des données afin que les équipes sachent d’où proviennent les données et comment elles ont changé
- Enregistrer les événements à chaque étape avec suffisamment de contexte pour déboguer rapidement les problèmes.
Une bonne visibilité vous permet de se développer en toute confiance.
Le contenu de cet article est fourni uniquement à des fins informatives et pédagogiques. Il ne saurait constituer un conseil juridique ou fiscal. Stripe ne garantit pas l'exactitude, l'exhaustivité, la pertinence, ni l'actualité des informations contenues dans cet article. Nous vous conseillons de consulter un avocat compétent ou un comptable agréé dans le ou les territoires concernés pour obtenir des conseils adaptés à votre situation particulière.