26 janvier 2022 2061 mots, 9 min. de lecture Dernière mise à jour : 15 mars 2022

ETL : comparaison, critères de choix, conseils [guide 2022]

Par Pierre-Nicolas Schwab Docteur en marketing, directeur de IntoTheMinds
ETL : Extract – Transform – Load. Ces 3 mots résument à eux seuls les fonctionnalités que les solutions logicielles qui appartiennent à cette famille doivent remplir. Un outil ETL est donc un logiciel, local ou sur le cloud, qui […]

ETL : Extract – Transform – Load. Ces 3 mots résument à eux seuls les fonctionnalités que les solutions logicielles qui appartiennent à cette famille doivent remplir. Un outil ETL est donc un logiciel, local ou sur le cloud, qui permet de faciliter la data preparation. Cette dernière s’attache à réaliser 3 types d’opérations sur des données : (1) les extraire à partir de fichiers de différentes natures ; (2) les transformer et les enrichir pour les préparer à être exploitées ; (3) les recharger dans un autre système afin qu’elles puissent être valorisées.

Ces opérations sont facilitées par l’interface graphique des solutions ETL. Ces dernières sont basées sur des « boîtes » qu’il suffit d’assembler pour parvenir au résultat désiré. C’est donc une solution « No Code » qui peut être mise dans (presque) toutes les mains.

Dans cet article je vous explique tout ce qu’il faut savoir sur les ETL et vous donne mon avis personnel pour vous aider dans votre choix. Cet article n’a donc pas de vocation commerciale (je ne vends pas d’ETL) mais présente uniquement un point de vue objectif.


Sommaire


ETL : quelle est leur origine ?

L’histoire des ETL commence dans les années 80. A cette époque on voit apparaître des solutions logicielles spécifiques pour gérer des flux entre des bases de données « simples ». Dans les années 90, un virage est pris pour les adapter aux datawarehouses (DWH).

Dans les années 2000 le marché se structure et voit une segmentation des ETL en 2 catégories se développe :

  • Les ELT : certains ETL deviennent des ELT et se concentrent uniquement sur les tâches de « E » et  « L » (Extract and Load) en laissant faire le « T » au moteur de la base de données.
    Exemples : Talend, Matillion, etc.
  • Les ETL complets : on y ajouta plus de fonctionnalités de « T » : data cleaning, jointures légèrement plus complexes. Certains de ces outils existent toujours en 2022. Citons par exemple IBM data stage, Ab Initio.

Vers 2010 on constate une évolution des ETL pour gérer une situation où il n’y a pas de moteur de database « derrière ». C’est l’ère du « data lake ». Les ELT deviennent dès lors un peu dépassés.
Le « data lake » est un nouveau concept qui est optimisé pour les business/data analystes et les data scientists qui ont des « besoins data » plus évolués.

Grâce au data lake, les « ETL complets » deviennent ce que j’appelle des « ETL+ ». De nouvelles fonctionnalités leur sont ajoutées qui vont leur permettre de faire des choses bien plus complexes : text mining, data mining (machine learning), AI, big data, etc.  C’est dans cette catégorie que l’on retrouve les outils ETL qui constituent d’après moi le haut du panier : anatella et alteryx.


Les ETL du marché

Il y a bien trop d’ETL sur le marché pour les citer tous. Dans les prochains paragraphes j’en mentionnerai 3 qui constituent mon quotidien : Anatella, Alteryx et Tableau. J’aurais pu rajouter Talend, la solution sans doute la plus connue du marché, mais je la pratique trop peu et je n’en suis pas un grand fan (notamment à cause des problèmes de performance dont j’ai parlé ici).

Précisons aussi que des sociétés comme G2 publient des benchmarks des solutions ETL du marché. Les cartes de positionnement, à l’image de celle ci-dessous, sont bien utiles pour évaluer les différentes solutions sur le marché.

Benchmark ETL

Une carte de positionnement proposée par la société G2 sur son site. Ces cartes sont pratiques car elles permettent de positionner clairement différentes solutions en fonction de critères déterminés. (source : site web G2)


Fonctionnalité n°1 : l’extraction (Extract)

La première fonctionnalité des ETL est d’extraire les données de là où elles se trouvent. Le terme « extraire » est ici peut-être réducteur car il s’agit ici en faire de la capacité d’ouvrir un fichier et de mettre à disposition les données qu’il contient afin de pouvoir les exploiter dans les processus suivants.

L’émergence des solutions SaaS et la démocratisation du stockage dans le Cloud ont contribué à rendre l’extraction de données un challenge en soit. Il n’y a jamais eu autant de sources et de formats de données différents. Certains formats propriétaires sont tellement spécialisés qu’ils ne sont proposés que par une poignée d’ETL. Ce qui est également amusant, c’est la capacité de lire des fichiers « concurrents ». Anatella a par exemple une « boîte » qui permet de lire les fichiers Alteryx (.yxdb).

Ne parlons même pas des fichiers non structurées (pdf, word) qui sont une vraie gageure et qui requièrent des transformations pour être exploitées (voir paragraphe suivant).

ETL Nombre de « boîtes » pour la gestion des données en entrée Remarques
Alteryx 2020.1.5.25447 4
Tableau Prep 57 La liste de formats gérés par Tableau Prep est vraiment impressionnante.
Anatella 2.38 37 Anatella gère également les formats non structurés en entrée ce qui peut parfois être très utile.

 


Fonctionnalité n°2 : la transformation (Transform)

Les fonctionnalités de type « Transform » sont, selon moi, celles qui donnent le plus de valeur ajoutée à un ETL. Vous avez beau avoir la meilleure solution du monde pour extraire des données, si vous ne pouvez pas en faire ce que vous souhaitez derrière ça ne sert à rien. Sur ce plan, certains ETL se distinguent nettement par le nombre de fonctions (les fameuses « boîtes ») qui sont mises à disposition.

Dans le tableau ci-dessous je donne un aperçu du nombre de boîtes disponibles pour « transformer » les données. Pour donner un aperçu le plus correct possible j’ai comptabilisé les « boîtes » dont les fonctionnalités tombaient dans une des catégories suivantes : nettoyage (cleaning »), jointure, formatage de données

ETL Nombre de transformations disponibles Remarques
Alteryx 2020.1.5.25447 33 Les boîtes comptabilisées appartiennent aux catégories « préparation », « jointure », « transformer » du menu principal. Pour certaines boîtes du menu « préparation » on peut débattre de leur nature « transformative » mais pour faire simple je les ai toutes prises en compte.
Tableau Prep 5 Tableau Prep est vraiment très basique au niveau des transformations. On sent ici qu’il s’agit d’un outil de data preparation dont l’unique vocation est de servir les visualisations sous Tableau. Si des calculs doivent être faits et des variables transformées, on se servira plutôt dès lors des champs de calcul dans Tableau. Il ne s’agira donc plus de No Code.
Anatella 2.38 50 Sans doute la solution la plus riche au niveau de la palette de fonctionnalités pour les transformations.

 


Certaines fonctionnalités de transformation peuvent faire la différence entre 2 ETL

En ce qui me concerne, j’estime que la différence entre 2 ETL se fait au niveau des capacités de transformation des données. Les programmeurs me diront que ce n’est pas important mais je ne suis pas du tout de cet avis. Un ETL est un outil Low Code (ou No Code) et se doit donc de faciliter le travail du personnel non technique. Le nombre de fonctionnalités disponibles en natif est donc un critère important à mes yeux.

Je vous invite par exemple à lire cet article que j’avais consacré au fuzzy matching. En fonction de l’outil que vous allez utiliser, le fuzzy matching va être plus ou moins compliqué à mettre en place. Or, ceux qui ont déjà réconcilié des bases de données savent à quel point les problèmes de qualité sont consommateurs de temps. Disposer d’une fonction de fuzzy matching native (au surplus lorsque différents algorithmes sont disponibles), est vraiment un plus.


Fonctionnalité n°3 : le chargement (Load)

Des 3 lettres dans « ETL », le « L » est celle qui me semble présenter le moins de criticité. En effet, la préparation des données grâce aux outils ETL n’est souvent que le point de départ d’autres processus (modélisation prédictive, data mining, data visualisation) qui sont effectuées dans des solutions spécialisées. Ces dernières disposent toujours de connecteurs en entrée. L’important me semble donc, au niveau de l’ETL, d’avoir suffisamment de possibilités d’export vers des formats standards d’échange.

Lorsque le processus de préparation / transformation des données tourne en continu, la situation est un peu différente. Dans ce cas de figure il peut être intéressant d’avoir des possibilités d’export vers des formats propriétaires. Cela permet d’éviter des soucis lors de l’import des données dans une solution tierce. Par exemple, Anatella propose un export dans le format propriétaire de Tableau (.hyper) qui permet d’économiser du temps lors de la lecture des données.

ETL Nombre de formats de sortie disponibles Remarques
Alteryx 2020.1.5.25447 5
Tableau Prep 3 Les formats de sortie sont très limités. En fait Tableau Prep est conçu comme un outil de préparation des données pour les visualisations sous Tableau.
Anatella 2.38 27 Là encore on dispose d’une multitude de formats de sortie, même vers des formats très exotiques ou peu usités. Si l’un d’entre eux est important pour vous, cela pourrait être un argument de poids dans votre décision.

 


Fonctionnalités supplémentaires

Comme expliqué dans la partie « Historique », les ETL ont évolué au fil du temps pour inclure certaines fonctionnalités qui sortaient du cadre spécifique du schéma Extract – Transform – Load. Ainsi en est-il des fonctionnalités d’analyse ou de visualisation. Les « ETL+ » qui les proposent méritent qu’on s’y attarde.

En effet, loin d’être des gadgets, ces fonctions supplémentaires proposées à l’intérieur de l’outil ETL sont des accélérateurs. Elles permettent de court-circuiter le processus d’analyse en anticipant certaines étapes au sein du processus de préparation des données.

Je pense qu’il faut bien définir ses besoins en amont pour apprécier l’intérêt de telles fonctionnalités. Certaines peuvent en effet avoir un caractère anecdotique et ne vous serviront à rien. Attention donc de ne pas tomber dans le piège du marketing et d’acheter des fonctionnalités sans intérêt.

A titre d’exemple, voici quelques-unes des fonctionnalités supplémentaires que j’apprécie le plus dans la solution Anatella :

  • NLP : cette fonctionnalité a été développée pour moi à l’origine (dans le cadre de mon travail de recherche sur la viralité sur Linkedin)
  • Détection de langue : super pratique lorsque vous travaillez sur des données non structurées
  • Visualisations avec R : Anatella embarque du code R qui permet de faire rapidement des visualisations simples. Ces dernières peuvent être utilisées pour avoir une première idée des données mais aussi pour réaliser des contrôles qualité. Je m’en sers pour vérifier qu’aucune donnée ne s’est perdue dans le processus de data preparation.

Quel outil ETL choisir ?

Il faut donc choisir l’ETL qui convient le mieux à vos besoins spécifiques. C’est une évidence. Chaque solution ETL a ses propres spécificités et les comparaisons que j’ai réalisées ci-dessus ne sont qu’une clé de lecture parmi d’autres.

Au-delà de l’étendue des fonctionnalités, il faut aussi s’interroger sur la rapidité des processus de data preparation. J’avais réalisé un benchmark de 4 outils ici et les différences de temps de traitement étaient considérables.

Au final, je pense qu’il y a 2 critères objectifs essentiels à prendre en compte :

  • les fonctionnalités
  • la rapidité

A cela s’ajoutent des aspects plus subjectifs comme par exemple la roadmap produit de la société éditrice et l’orientation client de cette dernière. De ce point de vue ma préférence va clairement à Anatella. La société qui est derrière est ultra réactive et n’hésite pas à développer des solutions spécifiques pour vos besoins. Je doute que des boîtes comme Talend ou Alteryx fassent de même.



Publié dans Data et IT.

Donnez votre avis

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *