J’utilise régulièrement 4 solutions de data preparation : Alteryx, Tableau Prep , Talend et Anatella. Le benchmark de G2 en recense pas moins de 40. Dans cet article je vous explique pourquoi le benchmark G2 n’est pas forcément pertinent, et quels critères utiliser pour comparer les solutions ETL (Extract – Transform – Load) les plus adaptées à vos besoins.
Sommaire
- Qu’est-ce qu’un ETL ?
- Les critères du benchmark G2
- Les critères de choix d’un ETL les plus importants à mes yeux
- Conclusion
crédits : Shutterstock
Introduction : qu’est-ce qu’un ETL ?
Si vous lisez cet article, la probabilité est grande que vous sachiez ce qu’est un ETL. Je vais donc me contenter d’un rappel succinct. Un ETL (ou Extract – Transform – Load en anglais), est une solution de data preparation. Avec ce type de logiciel vous pouvez
- importer des données (Extract) à partir de différents environnements
- les travailler (Transform) en vue de les rendre plus qualitatives, pour les enrichir, etc …
- et les envoyer (Load) vers un nouvel environnement après que vous les avez préparé
L’ETL n’est pas en soi un outil réservé aux spécialistes. La plupart des ETL fonctionnent sur le principe du No-CODE, en utilisant des « boîtes » qui correspondent à une fonctionnalité particulière et en les reliant entre elles pour constituer un « pipeline ». C’est très simple et très puissant.
Je vous donne quelques exemples de ces pipelines ci-dessus dans 4 solutions : Talend, Anatella, Alteryx, Tableau Prep. Comme vous pouvez le constater, toutes se ressemblent.
Ma définition d’un ETL comprend donc la dimension « transformation des données ».
crédits : Shutterstock
Les critères du benchmark G2
Venons-en maintenant au benchmark ETL proposé par G2. Pour ceux qui ne connaîtraient pas G2, il s’agit d’une marketplace qui recueille des avis d’utilisateurs professionnels sur tous les types de software possibles et imaginables. Je trouve que leur slogan a beaucoup de sens :
Why is it easier to get unbiased information about a $100 hotel room than a $100,000 piece of software?
Et en effet, je pense qu’il est absolument crucial d’avoir de l’information de qualité, si possible objective, en matière d’achat de logiciels. Trop souvent l’acheteur est démuni face au choix pléthorique de solutions pour un même besoin.
G2 a donc bien évidemment une catégorie réservée aux ETL (118 au moment d’écrire cet article) et une autre réservée aux solutions de « data preparation » (environ 40). Le benchmark comporte 2 axes :
- présence sur le marché (« market presence »)
- satisfaction
La carte est divisée en 4 quadrants qui ne seront pas sans vous rappeler les benchmark qui sont proposés par Gartner (les fameux « magic quadrants« ) :
- Leaders
- Contenders
- Niche
- High performers
Franchement j’aime bien le principe de G2 mais je me demande si cette carte sert vraiment à quelque chose.
D’abord il y a un problème de terminologie. Les 118 outils qui sont listés dans la catégorie ETL sont plutôt des « EL ». Ils permettent juste de passer d’un format de fichier à un autre. Les « vrais » ETL qui permettent de transformer les données sont dans la catégorie « data preparation ». Je trouve que cela apporte pas mal de confusion.
Ensuite, la segmentation qui est proposée n’a pas beaucoup de sens pour l’utilisateur de l’ETL. Une carte devrait être un outil décisionnel. Elle devrait permettre d’identifier immédiatement la(les) solutions(s) les plus adaptées à son usage. Or ici c’est une vue « marketing » qui est proposée qui n’a pas de réelle utilité pour celui qui cherche une solution technique à un problème particulier.
La question est de donc de savoir quelles sont les fonctionnalités d’un ETL qui sont différenciantes. C’est ce que j’aborde dans la prochaine section.
crédits : Shutterstock
ETL : Les critères de choix les plus importants
Avant toute chose je tiens à signaler que je ne prétends pas détenir la vérité absolue. Comme je le disais en introduction, il y a 118 outils listés dans le benchmark ETL de G2. Personne ne les connaît donc tous et une comparaison est donc forcément subjective.
Dans les paragraphes qui suivent je vais donc développer les aspects d’un ETL qui comptent pour moi et que je considère comme différenciants.
Critère n°1 : traitements de données disponibles dans l’ETL
Sérieusement, c’est LE critère numéro 1 que je prendrais en considération si je devais acheter un ETL demain. Plus vous avec de fonctionnalités de traitement (cleaning, transformation, …) disponibles, moins vous allez galérer pour préparer vos données. Parce que si les fonctionnalités dont vous avez besoin ne sont pas dispos en natif, vous allez devoir les programmer vous-même. Et en ce qui me concerne, je préfère utiliser du No-Code plutôt que de me casser la tête à programmer. Un exemple concret de fonctionnalité hyper utile c’est celle qui concerne le fuzzy matching. J’ai comparé différents algorithmes de fuzzy matching ainsi que les approches dans différents ETL et certains sont clairement meilleurs que d’autres. Avoir de telles fonctionnalités « en natif » est clairement un gros avantage.
Critère n°2 : vitesse
Je pense que l’importance de la vitesse de traitement est totalement sous-estimée. Pourtant, comme je l’ai montré dans cet article, les différences peuvent être importantes même sur des opérations triviales comme un tri. Quand on manipule des fichiers de grande taille, un mauvais ETL peut donc vite se révéler être un frein. Pour moi la vitesse est primordiale car je manipule et réconcilie souvent des fichiers de grandes taille et … parce que j’ai horreur d’attendre.
Critère n°3 : nombre de connecteurs en entrée et sortie
De plus en plus de connecteurs sont embarqués en natif dans les ETL afin de servir les besoins les plus divers. Je porte une attention particulière aux connecteurs en sortie car dans la plupart des cas je réinjecte les données dans une solution de data visualisation. Pour Tableau l’export en fichier .hyper est particulièrement utile et pour cette raison j’apprécie particulièrement Anatella pour les traitements complexes, et Tableau Prep pour les traitements plus légers.
Critère n°4 : fonctionnalités de visualisation
Il peut paraître tout à fait incongru de vouloir faire de la data visualisation dans un ETL mais c’est vraiment pratique. Quand vous faites du data mining, pouvoir visualiser les données est essentiel. Et si vous devez à chaque fois exporter votre dataset et ouvrir Tableau ou Power BI, bonne chance. Dans le pipeline ci-dessous, créé avec Anatella) vous voyez que j’ai une boîte qui permet d’appeler un graphique dans R. C’est très pratique car cela me permet d’avoir en direct une idée des résultats auxquels je peux m’attendre.
Conclusion
Au final, je pense que le choix d’un ETL doit reposer sur des bases objectives, dictées par les besoins des utilisateurs finaux. Chaque contexte métier est différent et les besoins aussi.
Je conseillerais donc de procéder comme suit :
- définir les fonctionnalités qui permettront aux utilisateurs d’être plus efficaces
- choisir une série d’outils et les tester en monde « laboratoire » pendant une période suffisamment longue
- noter chaque solution selon ses critères
- choisir
Cette approche me paraît beaucoup plus saine que de se fier à un benchmark généraliste.
N’hésitez pas à commenter et à indiquer vos critères de choix ! Merci.
Publié dans Data et IT.