Optimisez vos jobs Talend pour la copie de table à table

L’ETL TalendTalend est un logiciel ETL permettant de faire de l'Extract, de la Transformation et du chargement (Load) de données. permet de paramétrer facilement la copie d’une table vers une autre ayant la même structure.

Christophe DUPONT
Mis à jour le 7 Mai 2025

L’ETL TalendTalend est un logiciel ETL permettant de faire de l'Extract, de la Transformation et du chargement (Load) de données. permet de paramétrer facilement la copie d’une table vers une autre ayant la même structure.

Nous parlerons dans cet article de la copie vers une table vide, où le job ne fera que des INSERT (et pas d’INSERT OR UPDATE, plus consommateur).

Une des bonnes pratiques invite à déclarer dans les jobs une première connexion vers la base source et une seconde vers la base cible, les composants étant ensuite paramètres pour utiliser ces connexions. Cela permet d’ouvrir une unique session vers chacune des bases, évitant ainsi d’ouvrir plusieurs sessions pour un même client. 

talend-11.jpg

Illustration d’un job Talend : Les connexions sont déclarées au début du job. 

talend-2.jpg

Les composants sont configurés pour utiliser ces connexions.

Néanmoins, si cette solution facilite la maintenance de l’application, elle peut poser des problèmes de performance. En effet lorsqu’un composant d’insertion utilise ce type de connexion, Talend lui interdit l’utilisation de buffer. En conséquence de quoi les performances s’écroulent.

La solution consiste alors à ne pas utiliser une connexion commune mais de la paramétrer sur chacun des composants de type output, comme le montre le paramétrage d’un composant tOracleOutput ci-dessous: 

Talend3.jpg

De plus si vous souhaitez encore accellérer le traitement, il est recommandé; d’utiliser un curseur sur la table source, comme on peut le voir sur l’image suivante: 

Talend31.jpg

Ainsi en utilisant cette méthode, les insertions sont beaucoup plus rapide, avec un rapport allant jusqu’à; 100 (4000 lignes/seconde contre 40l/s) par rapport à l’utilisation d’une connexion partagée (test réalisée; avec Talend 5.2.1 sur une table de 40 000 enregistrements, base de données Oracle 11g)

Pour aller plus loin

Optimiser ses requêtes SQL : bonnes pratiques pour les développeurs web

Comment optimiser ses requêtes SQL lorsqu’on est développeur d’applications web ? S’il y a bien une chose qui reste constante dans le développement informatique, c’est que toutes les applications manipulant des données structurées utilisent le SQL. Cette couche est indispensable dès que vous avez besoin de stocker et d’accéder à des données. Ainsi, peu importe le langage ou le framework que vous choisissez pour votre projet, SQL sera toujours présent. Lors des audits de performance que nous effectuons, les principales problématiques que nous rencontrons proviennent d’une mauvaise utilisation des bases de données par les applications. Il est donc crucial de bien maîtriser les principes d’optimisation SQL pour garantir des performances pérennes. Aujourd’hui, nous allons explorer ces différentes optimisations SQL, en particulier dans le cadre du développement d’applications web.

Small right arrow

Symfony UX : Révolutionnez facilement votre front-end !

Fatigué de jongler entre Node.js, Webpack et un front-end JavaScript lourd pendant que vous développez en PHP ? Symfony UX est la solution qui rapproche votre back-end Symfony de votre front-end moderne, sans sacrifier votre productivité ni votre confort avec Twig. Dans cet article, nous allons explorer Symfony UX étape par étape, avec des exemples concrets et directement applicables dans vos projets.

Small right arrow

Angular 18, nouveautés et améliorations

L'équipe du projet Angular vient d'annoncer sa toute nouvelle version majeure : Angular 18 ! Quelles sont les nouveautés apportées par cette nouvelle version d'Angular ? Est-ce une nouvelle révolution pour le framework ? C'est ce qu'on va voir dans cet article !

Small right arrow