Bonjour,
Je me suis rendu compte que plusieurs personnes écrivent leur propre code pour :
- Migrer des tables d’une base de données à une autre.
- Pour collecter les fichiers csv et charger dans la base de données
- Pour faire des transformations complexes sur des données
- …
Question : est ce qu’il ne serait pas plus efficace d’utiliser un outil ETL (Extract, Transform and Load)?
Combien de temps faut-il pour écrire un programme qui copie les données d’une base MySql et les charge dans une base Oracle ?
10 minutes, pas plus.
10 minutes pour un script, tous les tests compris et tu as un code optimisé.

Dans notre dernière expérience, nous collectons :
- Des données provenant de plus de 150 sources différentes (ftp, sftp, scp, http, oracle db, mysqldb, web services …)
- Plus de 20.000 fichiers collectés par jour
- Transformant et chargeant plus de 500 millions de lignes de données par jour.
Sans oublier de logger toutes les opérations qui sont effectuées sur le system. Pour chaque fichier, nous enregistrons : le nom du fichier, process, nombre de lignes, nb lignes chargés, taille, statut <success, faillure, redundant file, ...>, message d’erreur, ...)

Les ETL proposent une variété de connecteurs. Par exemple, pour TALEND, nous avons :
Connecteur pour :
AS400, Access, DB2, EXASolution, Firebird, Greenplum, Générique, HSQdb, Hive, Informix, Ingres,Interbase,JavaDB,LDAP,MS SQL Server, MaxDB, MySQL, Netezza, OleDb,Oracle, ParAccel, PostgreSQL, PostgresPlus, SQLite, Sas, Sybase, Teradata, VectorWise, Vertica, eXist

Connecteurs pour les applications :
Algresco, Bonita, CentricCRM, HealthCare, Marketo, Microsoft AX, Microsoft CRM, Opren Bravo, SAP, SageX3, Salesforce, SugarCRM, VtigerCRM


POURQUOI UN OUTIL ETL?
- Facile à mettre en ouvre
- Génère un code optimisé pour collecter, transformer et charger les données

Quelques questions relatives au traitement de données
- Comment être sure qu’un meme fichier n’est pas chargé deux fois ?
- Si un fichier contient 20.000 lignes, et que après avoir chargé 15.000 le script rencontre une erreur, annuler la transaction ou conservé le chargement partiel ?
- …

Bonne journée
wcfsmart