Dans cet article


Offres d'emploi

Tags

Optimisez vos jobs Talend pour la copie de table à table

L'ETL Talend 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étrés 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.

 
Talend1

Illustration d'un job Talend :

Les connexions sont déclarées au début du job.

Talend2

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

 

 

 

 

 

 

 

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:

 
Talend3

 

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é avec Talend 5.2.1 sur une table de 40 000 enregistrements, base de données Oracle 11g).

L'équipe AXOPEN

Voir aussi les articles suivants

Migration d’une application avec l’ETL Talend

Migration d’une application avec l’ETL Talend

Le 16/05/2013 par Christophe Dupont

Cet article fait part de la solution TalenD, de ses tenants et aboutissants lors d’une démarche de Migration. L’obsolescence d’un certain nombre de produits et d’applications maintenant trop anciens ou ne répondant plus aux besoins actuels, conduit le plus souvent les entreprises à changer d’environnement. De ce fait, lors de de la migration vers ce nouveau système, ou encore du passage vers une nouvelle version d’une application dans son ensemble ou d’une base de données, les données doivent être préservées dans leur intégralité.
Lire l'article

Introduction Lorsque l’on installe un environnement Planisware Server en cluster (plusieurs Intranet Servers) connecté à un schéma de base de données Oracle il est utile de vérifier que la base Oracle est bien configurée pour ce type de fonctionnement. En particulier lorsque l’on a un nombre important d’Intranet Server démarrés il faut vérifier que le nombre maximal de sessions autorisées sur la base de données est bien paramétré. Services Planisware et interactions avec la base de données
Lire l'article

UNIX : base de données oracle et droits sur /dev/null

Le 11/02/2013 par Christophe Dupont

Description du problème Le problème rencontré se traduit par une impossibilité à se connecter à une base de données Oracle sur un serveur AIX. Résolution du problème Après investigations les droits sur le fichier /dev/null étaient positionnés à 555 au lieu de 666. Il peut arriver que les droits sur le fichier /dev/null soient modifiés accidentellement, notamment si des liens symboliques pointent vers /dev/null (cf. « UNIX : attention aux liens symboliques vers /dev/null« ).
Lire l'article