Dans ce sujet, je vais vous faire une introduction des ETL, leur fonctionnement global et leur utilité. Tout d’abord, ETL veut dire « Extracting, Transformation Loading ».

Cette technologie est surtout utilisée pour la création et l’alimentation de bases de données décisionnelles. En effet, pour concevoir une telle base de données, nous devons récupérer des données de différentes sources (bases SQL Serveur, Oracle, fichiers CSV, fichiers Excel, fichiers texte, …) se trouvant sur différents lieux (succursale commercial, direction, ..). Tout faire à la main se révèlerait très contraignant et très long, surtout s’il s’ait de plusieurs milliers de fichiers contenants chacun des milliards de lignes.

L’ETL va nous permettre d’automatiser tout ceci. Par contre, il en existe de nombreux en fonction de votre base de donnée, si vous en avez développé un, … Personnellement, ayant réalisé une maquette de base décisionnelle sous SQL Server 2005, j’ai donc testé l’ETL de Microsoft, il s’agit de SSIS et il faut avouer qu’avec les extensions Visual studio, son utilisation se révèle extrêmement simplifiée.

En quelques clics on peut définir nos sources de données, l’ordre d’exécution, quelles étapes on effectue en cas de succès ou d’échec. Vraiment un bon ETL.

Revenons donc à nos moutons. L’ETL va donc récupérer les données que vous voulez, les convertir au format souhaité (pour les rendre conforme à votre base) et les insérer dans la table. Vous pouvez ajouter des étapes supplémentaires comme la suppression des doublons, le regroupement de différentes sources pour les injecter dans une seule base cible, sélectionner seulement certains champs, … En bref, vous pouvez quasiment tout faire.

Pour vous illustrer un peu mieux, voici un petit schéma tout con permettant de bien comprendre que l’ETL peut récupérer de n’importe quelle source (ou presque) les données que vous voulez pour les envoyer vers votre base cible.

Enfin, j’espère que cette petite mise en bouche vous aura donné envie de tester ces petits ETL. Il en existe plus d’une dizaine pour MySQL mais chacun est spécialisé pour un certain nombre de données donc essayez de bien vous renseigner. Sinon avec SQL Server (sauf version express) vous avez automatiquement l’ETL SSIS de disponible.

Je vais peut être vous faire un exemple d’utilisation dans les semaines à venir. L’importation de données à partir d’un fichier texte et Excel sur une base de données.