ETL et ELT
Une exploration détaillée de deux approches de traitement des données
Pour bien choisir entre les modèles ETL et ELT lors de la création de pipelines de traitement des données, il faut bien comprendre les rouages de chacun.
Bien mises en œuvre, les deux approches peuvent aider votre organisation à améliorer l'efficacité de ses workflows. Elles présentent toutefois des différences importantes qui méritent qu'on s'y attarde.
Cet article explore dans le détail les points communs et divergences entre ces deux approches de traitement des données, pour vous aider à choisir celle qui convient le mieux à votre activité.
ETL et ELT : vue d'ensemble
ELT et ETL se distinguent essentiellement par l'ordre dans lequel se déroulent les opérations. ETL signifie « extraire, transformer, charger » : les données sont d'abord extraites de leur source, puis converties dans un format utilisable lors d'une étape intermédiaire. Les données utilisables obtenues sont enfin transférées dans un référentiel de stockage où elles pourront servir à des analyses.
Ce modèle est la norme dans le traitement des données depuis plusieurs décennies, tandis que l'ELT, apparu plus récemment, tire parti des capacités des systèmes modernes de stockage.
ELT signifie « extraire, charger, transformer ». Autrement dit, les données sont chargées dès qu'elles sont extraites sans être préalablement transformées. Elles sont ensuite converties dans le format requis directement depuis le référentiel.
L'ELT fonctionne bien avec les architectures data lake modernes, qui accueillent aussi bien des données structurées que non structurées. Les analystes peuvent ainsi puiser dans un éventail plus large de types de données pour produire des insights et des interprétations plus pertinentes.
Malgré tout, le modèle ETL conserve un certain nombre d'avantages. Il est donc tout à fait intéressant de prendre le temps de comprendre en quoi les approches ELT et ETL se ressemblent et divergent.
Poursuivez votre exploration
Quels sont les points communs et les divergences entre ETL et ELT ?
Bien que l'essentiel du débat se concentre sur ce qui sépare ELT et ETL, il est important de garder à l'esprit qu'ils partagent un certain nombre de caractéristiques.
Reconnaître les points communs
Gestion des données : le premier point commun est que ces processus ont tous deux le même objectif, à savoir une gestion efficace des données. L'ELT et l'ETL offrent une approche systématique permettant d'assurer la qualité, la cohérence et la précision de vos données. Leur objectif principal est de permettre à votre organisation de produire des insights exploitables à partir des données.
Du point de vue de leurs processus clés, il faut également souligner que la transformation des données effectuée dans chaque modèle est souvent la même, même si le contexte ou l'ordre de la transformation diffère.
Automatisation : l'un des grands avantages communs à l'ELT et à l'ETL est que les deux processus permettent d'automatiser la tâche d'intégration des données. Ils peuvent intégrer une planification automatique. Quant aux pipelines obtenus, ils sont accessibles via une API ou une interface en ligne de commande (CLI).
Le point fort ? La possibilité de réaliser des gains considérables en termes d'efficacité et de productivité. Cela réduit le temps passé par les équipes à réaliser des tâches répétitives et leur permet de se consacrer à des activités plus stratégiques.
Gouvernance des données : dans le contexte commercial moderne, les entreprises ont besoin d'une stratégie fiable de gouvernance des données. Ce n'est pas seulement une question d'efficacité, il faut également garder en tête les questions plus vastes de réputation de la marque et de conformité légale.
Bien que les différences essentielles entre ETL et ELT se traduisent par des variations mineures dans les approches de gouvernance des données, les deux modèles sont parfaitement capables d'appuyer des politiques robustes dans ce domaine.
Ces similarités ne doivent pas nous surprendre. Elles découlent en effet directement des raisons qui motivent au départ l'utilisation d'un modèle efficace de traitement des données. Les choses deviennent un peu plus complexes lorsqu'on cherche à comprendre les différences entre ETL et ELT.
L'impact des différences sur le traitement des données
Disponibilité : si vous envisagez l'ETL, gardez impérativement à l'esprit que vous devez savoir à l'avance ce que vous comptez faire de vos données. En effet, les données doivent être transformées avant d'être chargées dans le référentiel de destination. Vous devez répondre à des questions comme « De quelles données aurons-nous besoin (et lesquelles laisserons-nous de côté) ? » ou « Comment les analystes vont-ils utiliser ces données ? » pour déterminer comment traiter et formater les données au cours du traitement.
Par comparaison, le modèle ELT vous permet de stocker des données structurées et non structurées sans avoir pris de décision concernant leur transformation, qui a lieu ultérieurement.
Cette nuance a d'importantes conséquences sur la disponibilité des données. Les analystes situés en aval du processus ELT ont accès en permanence à toutes les données brutes qui sont stockées. Cette souplesse n'est pas possible avec l'ETL, un processus nécessairement plus rigide qui limite la quantité de données brutes parvenant à l'étape finale du stockage.
Flexibilité : d'ailleurs, la question de la disponibilité des données n'est qu'un aspect d'une problématique plus globale de flexibilité. La linéarité du processus ETL a plusieurs avantages clés, mais elle le rend nécessairement moins flexible que l'ELT. Une fois que les modalités de transformation des données ont été décidées, il n'est pas réellement possible d'en changer. Du moins, pas sans modifier considérablement d'autres aspects du système entier.
Avec l'ELT, vous pouvez utiliser les données d'une nouvelle manière quand vous le souhaitez. Les données d'origine sont toujours faciles d'accès et peuvent être transformées à l'aide de diverses méthodes, selon le cas d'usage prévu par l'analyste.
Accessibilité : dans certaines situations, il n'est pas nécessaire d'intervenir beaucoup sur les données. Si vous voulez simplement déployer les données non structurées dans leur format d'origine, comme dans le cas de fichiers vidéo par exemple, le modèle ELT permet très simplement d'y accéder et de le manipuler à loisir.
Si vous avez opté pour un modèle ETL plus traditionnel, la supervision des données est généralement la prérogative des spécialistes de votre service informatique. Ils définissent ses politiques et en assurent le support.
Cela peut être utile pour appliquer des normes cohérentes aux données, mais c'est également un obstacle à leur accessibilité pour le reste de vos équipes. Avec les conséquences que l'on peut imaginer sur l'efficacité des workflows.
Évolutivité : la question de l'évolutivité est un autre point de divergence majeur entre ELT et ETL. Par nature, il est très difficile d'augmenter rapidement la capacité du processus ETL. En effet, toutes les données brutes d'origine doivent être transformées avant de choisir celles qui seront effectivement conservées dans leur destination finale. Cet aspect de l'ETL consomme nécessairement une grande quantité de ressources.
À l'inverse, le modèle s'adapte bien plus facilement. Comme toutes les données brutes sont chargées dans le référentiel central dès leur extraction, rien ne vous empêche d'en ajouter autant que vous le souhaitez, sans avoir à les traiter d'aucune façon au préalable.
D'autre part, les systèmes ELT résident généralement dans des plateformes cloud, qui ont l'avantage d'offrir une évolutivité simple et directe.
Vitesse : il peut être tentant de partir du principe que les modèles ELT offrent systématiquement une solution plus adaptée et moderne que l'ETL. Mais les choses ne sont pas aussi simples, et certains aspects du traitement des données sont beaucoup plus nuancés. C'est notamment le cas de la vitesse.
Voici les termes du choix. L'ETL est plus lent au démarrage parce qu'il implique de transformer toutes les données avant de les charger dans le stockage. Mais une fois cette étape terminée, on peut rapidement et simplement passer à l'action : les données sont prêtes pour les analystes.
L'ELT offre des avantages évidents au moment du chargement. Il suffit en effet d'extraire les données et de les déplacer vers le référentiel. Mais ces données sont bien moins organisées que dans le cas de l'ETL. Lorsque vient le moment de les utiliser, il faut plus de temps pour les préparer en fonction de vos besoins.
Maintenance : la question de la maintenance dépend principalement de la localisation des serveurs, sur site ou dans le cloud. Naturellement, si vous possédez votre infrastructure, la charge de la maintenance et les coûts associés seront plus importants.
Les solutions ETL traditionnelles étaient exécutées sur une infrastructure physique en local, car c'était la seule option à l'époque. Cette approche est encore courante aujourd'hui, mais l'avènement des solutions basées dans le cloud a ouvert la porte à une alternative.
Et c'est le cas pour l'ETL autant que pour l'ELT. Certes, le serveur de traitement secondaire utilisé lors de la phase de transformation du processus ETL ajoute une couche de complexité à la maintenance, mais ce n'est réellement un problème que si vous gérez vous-même l'infrastructure. Si vous faites appel à un service cloud, ces aspects sont pris en charge par le fournisseur.
Stockage : on comprend que de nombreuses organisations soient séduites à l'idée de profiter du cloud pour mettre en œuvre le traitement des données. En effet, s'il est tout à fait envisageable d'utiliser vos propres serveurs physiques pour stocker les données, cela le devient beaucoup moins si vous voulez utiliser un processus ELT.
Pourquoi ? Parce que les besoins de stockage seront nécessairement imprévisibles. Les modèles ELT sont indissociables de la pile de données modernes et sont conçus pour utiliser des architectures de type data lake.
Si vous stockez toutes les données brutes dans leurs différents formats d'origine, il vous sera bien plus difficile de prévoir dans le temps vos besoins de stockage. L'ETL demande moins de capacité de stockage : avec ce processus, vous savez clairement quelle partie des données d'origine sera finalement stockée dans le référentiel de destination.
Conformité : les entreprises exercent aujourd'hui dans un environnement réglementaire complexe. Et dans des domaines stratégiques comme la sécurité des données, la conformité est un enjeu majeur.
À cet égard, on peut dire que l'ETL est bien plus à même que l'ELT de vous simplifier la vie. Il est en effet bien plus simple d'appliquer des normes de conformité rigoureuses lorsqu'on transforme toutes les données avant de les stocker.
Les solutions ELT impliquent de stocker les données avant d'avoir l'opportunité d'en éliminer les informations sensibles. Sans une vigilance appropriée, cela peut créer des failles vis-à-vis de réglementations comme l'HIPAA et le RGPD, en particulier si les données sont stockées dans des services cloud dont les serveurs sont situés à l'étranger.
Savoir choisir entre ETL et ELT selon la situation
Vous vous demandez sans doute encore quelle approche choisir entre ETL et ELT. Pour être honnête, il n'est pas possible de dire que l'une est universellement meilleure que l'autre. Le choix dépend de plusieurs facteurs, à commencer par l'infrastructure existante, la vitesse de traitement et les obligations de conformité.
Pour savoir quand utiliser l'ELT ou l'ETL, il faut avant tout prendre en compte vos priorités commerciales. Voici quelques éléments susceptibles d'orienter vos réflexions :
Synchronisation des données : si votre entreprise a besoin de combiner les données de différentes sources au sein d'un format structuré unifié, l'ETL est une excellente option permettant de traiter les données avant de les stocker.
Modernisation des systèmes traditionnels : l'ETL est aussi très intéressant si vous devez migrer les données de systèmes hérités et les adapter de façon cohérente à votre nouveau système.
Conformité : comme mentionné précédemment, le modèle ETL simplifie considérablement la mise en conformité relative à la confidentialité des données. Si votre entreprise exerce dans un domaine qui l'amène à manipuler des données particulièrement sensibles, comme dans le secteur de la santé ou de la finance, l'ETL peut être à privilégier.
Volume des données : en revanche, si votre organisation a besoin de traiter régulièrement de grands volumes de données, des transactions client par exemple, l'ELT sera sans doute mieux adapté du fait de sa flexibilité.
Vitesse d'accès : de la même façon, si votre modèle commercial s'appuie sur le traitement de données générées et exploitées en temps réel, l'ELT peut, là encore, s'avérer idéal, n'impliquant aucun délai superflu dans l'accès aux données.
Ces quelques cas d'usage de l'ETL et de l'ELT illustrent leur potentiel de façon simplifiée. Mais nous espérons qu'ils seront des points de départ utiles. Sur la Databricks Platform, vous pouvez aussi bien implémenter l'ELT que l'ETL. Vous pouvez même mettre en place des options hybrides si vous avez besoin d'une approche personnalisée.
Utiliser les outils d'ETL et d'ELT avec Databricks
Pour utiliser une solution ETL, le produit Delta Live Tables de Databricks offre de nombreux avantages par rapport aux systèmes ETL exécutés sur des data warehouses traditionnels.
Conçu pour prendre en charge l'ETL en streaming à faible latence, il fournit de précieuses fonctionnalités d'orchestration automatisée des flux de données, de contrôle qualité, de traitement des erreurs et de contrôle de version. Ses options par défaut sont bien pensées, mais vos spécialistes Spark pourront le configurer sans difficulté.
À titre d'alternative, l'outil d'orchestration Databricks Workflows est un service managé entièrement intégré à la Databricks Data Intelligence Platform. Cette solution d'une grande flexibilité convient aussi bien à la création de pipelines ETL qu'ELT.
Elle vous met réellement aux commandes et vous permet de créer des workflows personnalisés en quelques clics, tout en apportant une observabilité inégalée sur les tâches en cours. Vous bénéficiez également d'outils de supervision haut de gamme, dont des notifications d'échec instantanées qui donnent la possibilité de résoudre les anomalies avant qu'elles ne deviennent des problèmes.
Tout cela repose sur l'innovation de la Databricks Platform, qui a transformé le concept de data engineering. Bâtie sur une architecture lakehouse réunissant les avantages des data lakes et des data warehouses, elle représente un moyen économique d'éliminer définitivement les silos. Elle aide aussi votre entreprise à exploiter ses données pour délivrer la qualité de service exceptionnelle que vos clients méritent.