Pour la question, les seuls ETL open source dont j'ai entendu parler sont Kettle Pentaho et Talend. Je ne les ai jamais utilisé mais c'est un point de départ.
Une petite recherche permet d'en trouver d'autres.
Par contre, je ne peux pas vous laisser dire que SSIS est bon !
C'est de loin le pire des ETL que j'ai côtoyé (parmi PowerCenter et OTIC / Genio).
- Client horriblement lent et peu réactif dès qu'on a trente boîtes à l'écran, avec des bugs dans tous les sens (des boîtes invisibles par exemple, qui existent mais avec lesquelles on ne peut plus interagir).
- On a le choix entre écrire du code ensembliste et donc rapide, ou utiliser les boîtes pré-faites et on se retrouve à faire du pseudo ligne à ligne.
- Quid des delete / truncates ? Il faut les écrire à la main.
- Les messages d'erreur quand les jobs plantent sont une plaisanterie.
Si on n'a pas tout anticipé à l'avance, on n'a aucune idée de ce qui plante. Voici le message d'erreur type :
- Les syntaxes update à l'ODBC : Update MaTable set col1 = ?, col2 = ?, col3 = ?, col4 = ?, col5 = ? where col6 = ? and col7 = ?.
Très amusant quand on arrive à quelques dizaines de colonnes. - Trois mille options inutiles dans lesquelles se noient cinq options intéressantes.
- Les connecteurs pour Oracle étaient une plaisanterie avant 2011/2012 et les connecteurs Attunity ! Pour un ETL il fallait l'expliquer au client qu'ils ne devaient pas avoir d'Oracle.
- Typages des données contre intuitifs. Vous êtes déjà perdu avec la dizaine de types de données SQL ? SSIS vous en a pondu trente dont douze rien que pour gérer des nombres.
- SSIS se prononce saucisse en français.
SSIS c'est bien pour écrire des jobs de maintenance DBA, des packages simples d'échange de données ou piloter des procédures stockées.
Ne faites pas de décisionnel avec.