Un ETL peut être :
développé ex nihilo pour un projet directement dans un langage bas niveau (Java, SQL, PL/SQL...) ;
ou s'appuyer sur un outil d'ETL (Talend Open Studio, Pentaho Data Integration, Informatica PowerCenter, ...).
ETL Tool versus Hand Coding (Buy a Tool Suite or Roll Your Own?)
The answer is, “It depends.”
Les avantages offerts par l'outil ETL sont :
De structurer et de rassembler l'ensemble des morceaux de code nécessaire aux transferts et aux transformations des données
D'offrir une représentation graphique des flux et opérations
De faciliter la maintenance et l'évolution de l'ETL
D'intégrer la gestion des métadonnées
D'intégrer la gestion des erreurs
De disposer d'API dédiées (connexion, import/export...) d'accès aux données (CSV, BD, XML...)
...
Les avantages offerts par une approche manuelle sont :
L'homogénéité technologique et la disponibilité interne des compétences : les équipes utilisent les langages qu'elles maîtrisent sans apprentissage et médiation d'un outil tiers.
La flexibilité : tout est possible.
Le traitement des fichiers plats (hors BD) peut être plus simples et plus performant avec des langages proches des systèmes.
...