ETL : les raisons d’un succès
Les ETL (Extract-Transform-Load) ont le vent en poupe. Pour ceux d’entre vous qui ne savent pas de quoi il s’agit, sachez que les ETL ont pour rôle de charger les données des bases de données relationnelles associées aux applications métier pour alimenter les entrepôts de données (DataWare House) afin de fournir aux décideurs l’information dont ils ont besoin pour piloter de magnifiques tableaux de bord. Je simplifie. Les principaux ETL utilisés aujourd’hui sont :
- Talend, un logiciel Open Source écrit en Java, qui, avec Talend Data Integration, propose aux entreprises une version payante répondant à des besoins plus « professionnels » ;
- Microsoft SQL Server Integration Services.
Les raisons d’un succès
Si les DSI poussent aujourd’hui à l’utilisation de ce type de produits, c’est avant tout parce qu’ils ne veulent plus entendre des procédures stockées faites « maison » difficiles à maintenir, du fait que bien de peu d’informaticiens ont encore la maîtrise du SQL. L’abandon de l’offre de formations longues – ou ce qu’il en reste – en matière de bases de données aura eu raison d’une technologie pourtant beaucoup plus efficace. Je vous incite si vous n’en êtes pas convaincu à prendre le temps de tester les instructions FORALL et BULK INSERT utilisables dans le moteur Oracle 11g au sein de vos procédures stockées.
Serveur lié, DBLINK et DATALINK
Que ce soit sur SQL Server, Oracle ou PostgreSQL, la solution alternative à l’ETL passe par la mise en place d’un serveur lié, d’un DBLINK ou encore d’un DATALINK. Si SQL Server prend assez simplement en charge ODBC, c’est un peu plus compliqué pour leurs homologues. Chez Oracle, cela passe par la configuration du composant Oracle Database Gateway for ODBC pour pouvoir ensuite créer un DBLINK ! Pour PostgreSQL, il faut recourir à la mise en place d’une extension du type Foreign Data Wrappers. La version 9.6 du moteur de bases de données Open Source PostgreSQL prend en charge désormais les jointures, les tris, les UPDATE et DELETE sur des bases distantes. Les trois moteurs disposent de l’instruction MERGE (UPSERT pour PostgreSQL).
Vous l’aurez compris, l’autre alternative aux ETL et à leur lenteur relative, c’est de refaire de la procédure stockée, du SQL, du PL/SQL, du Transact-SQL. Cela vous évitera de débourser 100 000 euros pour l’achat d’un ETL comme Informatica, comme a pu le faire une grande assurance française, dont je formais l’un de ses salariés au PL/SQL. A la fois, que représentent 100 000 euros lorsque vous êtes amené à verser au minimum plus de 60 000 euros – charges patronales incluses – par an à un DBA chargé de maintenir des procédures stockées, lorsque vous faites plus de 17 milliards de chiffre d’affaires ?
Le vieux monde s’en va. ;+)