Vous êtes sur la page 1sur 6

Compte Rendu TP Système

Repartie
Synchronisation entre bases de
données avec TALEND

Elaboré par :
Wiem Ben Mlouka
Eya Raouine

GL3 2022/2023
I. Mise en Contexte :
Dans ce TP, on désire synchroniser entre des bases de données (on a choisi comme
exemple 2 seulement). En d’autres termes, lorsqu’on insère dans une base de données
esclave, les nouvelles données s’insèrent automatiquement dans la base de données
maître(centrale).

II. Mise en œuvre :

1. On commence tout d’abord par créer 2 bases de données nommées


talented_db_bo et talented_db_ho contenant chacune une table product.

2. On remplit quelques enregistrements (4 produits) dans la base de données


talented_db_bo.

Gl3 2022/2023
De même pour la base de données talented_db_ho (2 produits) :

NB : Il est à noter que les tables produit contiennent des lignes en commun.

3. On crée un job avec talend nommé talend_db_synchronization :

4. On crée deux connections BO_db et HO_db respectivement aux 2 bases


talented_db_bo et talented_db_ho.

Gl3 2022/2023
5. Dans le job précédemment créé, on ajoute un composant tDBInput pour la base de
données source (talented_bo_db) et un composant tDBInput pour la base de
données cible (talented_ho_db) et on les relie à un composant tMap_1 pour
mapper les données entre les deux sources de données comme le montre la figure
suivante :

6. On configure tMap_1 de façon à mettre en place une jointure a gauche entres les 2
tables en input puis à filtrer la sortie tel qu’uniquement les produits ayant des ids
n’existant pas déjà dans la table product talented_ho_db sont sélectionnés (on ajoute
dans le filtre la ligne suivante row1.id != row2.id avec row1 représente la ligne de la
source de données principale talented_bo_db et row2 de la base de données cible
talented_db_ho

NB : L'objectif de cette procédure est d'éviter l'insertion de produits ayant le même


identifiant dans la base de données centrale, en garantissant qu'ils ne soient ajoutés
qu'une seule fois

Gl3 2022/2023
7. On ajoute un 2ème composant tMap_3 pour charger les données filtrées par le 1er
tMap dans la base de données centrale talented_db_ho à l’aide d’un composant
tDBOutput.

8. On configure le tMap_3 de façon à copier toutes les lignes sélectionnées par


tMap_1 dans la base talented_db_ho .

Gl3 2022/2023
9. Finalement on exécute le job et on remarque que l'insertion des deux produits dans
la table "product" de la base de données "talented_db_ho" à partir de la base de
données talented_db_bo est enregistrée uniquement si ces produits ne figurent
pas déjà .

III. Exécution :
Ci-dessous le lien d’une petite démonstration (en vidéo) de l’exécution de la
synchronisation entre ces deux bases.

https://drive.google.com/file/d/1kwIXZdRr8ZFpH5gDfjmkhsH_s4YYBgQH/view?usp
=share_link

Gl3 2022/2023

Vous aimerez peut-être aussi