L’ETL pour Extract Transform Load, est une technologie de type « middleware ». Elle permet de collecter des données en provenance de sources multiples. Pour ensuite les convertir dans un format adapté à une Data Warehouse et les y transférer. Ces logiciels existent depuis bien longtemps. Mais ils ont beaucoup évolué pour répondre aux nouveaux besoins liés à l’essor du Cloud, des SaaS (logiciels en tant que service) et du Big Data. Aujourd’hui, les ETL doivent permettre l’extraction en temps réel, l’enrichissement de données et la prise en charge de milliards de conversions.
Un concept déjà ancien
Les premiers logiciels Extract transform load ont été développés au milieu des années 1970. A cette époque, les entreprises commençaient à utiliser plusieurs sources de données. Ou encore à gérer différentes bases pour stocker différentes sortes de données business. Très tôt, le besoin s’est fait sentir d’agréger ces données. Au tournant des années 1980 – 1990, un type d’outil particulier s’est imposé comme solution de référence pour recevoir toutes ces données transformées et faire office de référentiel data : le Data Warehouse.
Cette base de données permet aux entreprises d’avoir accès aux informations en provenance de tous les systèmes (ordinateurs, feuilles de calcul, mails, etc.). Hier réservés aux grandes entreprises, les outils ETL se sont largement démocratisés. Au début des années 1990, tous les géants (IBM, Oracle, etc.) du secteur ont déjà développé leur solution. Il faut dire que l’ETL est fortement lié au concept de business intelligence qui se développe. Aujourd’hui, transformation digitale oblige, on préfère parler de la continuous intelligence.
Au début des années 2000 des outils populaires comme SAP développent des modules d’ETL. Mais le volume de données générées dans le monde est encore faible par rapport à ce qu’il est devenu. De plus, à l’époque la data n’était pas encore devenue le nouvel or noir.
Après 2015, des start-up innovantes montent à l’assaut de ce marché particulièrement fragmenté. Parmi la vingtaine de solutions existantes, une douzaine captent le plus de clients. A l’heure actuelle on commence à assister à un début de concentration, comme le français Talend qui a acheté Stitch.
Extract transform load, un grand nombre d’acteurs
Tous les ETL permettent d’extraire les données à partir de toutes les sources et de les charger dans des Data Warehouse diverses. Mais il existe tout de même deux grandes catégories.
La première catégorie regroupe les Extract transform load spécialisés dans la synchronisation des données. Leur but est de faire circuler la donnée le plus rapidement possible, d’organiser les canaux qui relient les sources de données à la base de référence. Les interfaces utilisateurs visent la simplicité. Il s’agit des solutions comme Blendo ou encore Fivetran
Les outils de la seconde catégorie ne se contentent pas de synchroniser les données, mais permettent, en plus, de les transformer et de les enrichir. Ils gèrent un plus grand nombre de sources de données, proposent des APIs, des log files…Cela va sans dire, ce sont des solutions souvent plus chères comme Alooma, DataVirtuality.
En opposition à ces ETL logées dans le Cloud, il existe des solutions à installer telles que : Informatica PowerCenter, Cognos decisionStream, SSIS, DataStage, Talend, Genio…
Enfin, il existe des ETL open source, ils constituent une alternative moins onéreuse que les solutions listées ci-dessus. Leur développement est associé à celui des solutions de Business Intelligence open source (OSBI) telles que Pentaho, SpagoBI ou Jasper Intelligence. L’utilisation de ces solutions est en revanche plus complexe et la connectivité est souvent moins développée, il faudra donc coder des connecteurs spécifiques soi-même, ces solutions sont nomment Apache AirFlow, Apache Kafka, Cloudera et Talend ETL. De plus, il existe également des intégrateurs de solutions ETL, tel que Software AG ou Nifi en Open Source.
Un système challengé par l’ELT
Depuis peu, les entreprises s’intéressent au concept « ELT ». Dans un process ELT, on extrait les données à partir des sources de données de l’entreprise, mais on les charge dans la base sans les transformer. Les données seront transformées après avoir été chargées.
Toutes les données atterrissent dans la base, sans aucun traitement. Mais le volume étant plus important on a donc besoin de plus de ressources serveurs. L’avantage est que l’on ne laisse rien de côté et on crée des agrégats plus pertinents. Avec l’ELT, les flux de données sont beaucoup plus rapides, mais ces dernières nécessitent un travail plus long avant d’être exploitables.
Il y a des cas où cela fait tout à fait sens de privilégier un process ELT. Lorsque l’on veut faire de la Data Science, du Machine Learning ou encore identifier des schémas cachés. Il ainsi est préférable d’utiliser cette technologie pour ne passer à côté d’aucune donnée. On ne perd rien, l’entreprise a accès à toutes les datas brutes historiques. Par contre, il est plus difficile de se conformer aux réglementations relatives à la protection des données personnelles (RGPD). Aussi, la sécurité et la maintenance des données sont des sujets complexes dans l’ELT… Pour ces raisons, dans la plupart des cas, l’ETL est plus pertinent.
Les sujets qui m’intéressent le plus sont Data, Organisation et Temps Réel !
N’hésitez pas à me faire un retour sur cet article ou à me contacter sur LinkedIn pour partager nos actualités!
Andrea