Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > ETL
ETL Le Forum d'entraide ETL (Extract Transform Load) et Datawarehouse : DataStage, SunOpsis, Data Integrator, Informatica, OWB, Data Manager, Talend Open Studio,...
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 15/04/2007, 11h28   #1
Membre chevronné
 
Inscription : janvier 2006
Messages : 446
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 446
Points : 638
Points : 638
Par défaut Différence entre ETL et processus de réplication

Bonjour tout le monde,

Est-ce qu'un ETL ne permet pas de faire la même chose que de la réplication ?
J'ai lu sur ce poste qu'un ETL est intéressant si la structure des bases de données est importante.

Citation:
L'ETL va être puissant si :
  • La structure des tables est importante
  • tu veux réaliser un chargement de masse (bulk)
  • tu veux appliquer des transformations sur les champs
Quelles sont les différences entre ce que permet un ETL et ce que permet la réplication ?

Je devrais aller éplucher les manuels expliquant les processus de réplication existants, mais si vous pouvez m'aider un peu, ça m'aiderait beaucoup

Ce que je retiens des ETL:
  • extraits les données de bases de données
  • les transformes comme on le souhaite
  • les charges dans des bases de données
Donc on pourrait planifier une tâche qui fera de la réplication avec ça...

Ce que je retiens de la réplication:
  • la réplication unidirectionnelle nourrit des bases de données "esclaves" avec les données d'une base de données "maître"
  • la réplication bidirectionnelle synchronise des bases de données en comparants leurs données suivant un critère (on n'écrase plus les données de bases esclaves, les esclaves "ont leur mot à dire", le maître doit tenir comptes des modifications apportées aux bases de données "esclaves").
Merci d'avance,

Philip.
goomazio est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/04/2007, 15h41   #2
Membre éclairé
 
Inscription : avril 2007
Messages : 195
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 195
Points : 320
Points : 320
Par défaut Tu as donné toi-même la différence



A priori, je pense que tu as toi même indiqué qu'elle est la différence entre réplication et ETL.
C'est vrai qu'apparemment la réplication remplit deux des trois critères des ETL (l'extraction et le chargement de données) mais un bon outil d'ETL va en général plus loin qu'une simple réplication à ce niveau (possibilité de récupérer les données de sources de données "exotiques" telles que des webservices, des fichiers plats...; agrégation des données de plusieurs sources dans une même table...)
D'autre part, tes possibilités en modification sont extrèmement limitées avec un outil de réplication alors qu'elles sont véritablement plus puissantes avec un ETL. Je pense que Cédric (co2) se fera un plaisir de te donner des exemples, s'il passe sur le post, pour illustrer mes propos.
Cordialement,

***************************

Christopher Andre
Technical Support Engineer, EMEA

JasperSoft Corporation
candre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/04/2007, 16h54   #3
Membre chevronné
 
Inscription : janvier 2006
Messages : 446
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 446
Points : 638
Points : 638
Je serais très content d'avoir quelques exemples. Ca pourrait m'aider à savoir où me documenter.

Citation:
Envoyé par candre
possibilité de récupérer les données de sources de données "exotiques" telles que des webservices, des fichiers plats...; agrégation des données de plusieurs sources dans une même table...
Les ETL et la réplication sont des sujets très voisin alors ?


J'essaye de développer une application de réplication unidirectionnelle qui permet de définir dynamiquement les bases de données à synchroniser. Pour ce faire je me renseigne sur les possibilités de gérer des transferts de données entre des sources de données de structures différentes car les bases de données à synchroniser pourront avoir des structures différentes.

Citation:
Envoyé par candre
agrégation des données de plusieurs sources dans une même table
Est-ce que c'est une fonction importante des ETL ou est-ce un exemple parmi toutes les possibilités ?

Est-il possible de tout faire avec un ETL ?
Mon problème c'est que je ne sais pas où s'arrêtent les possibilités... Je suppose qu'un bon ETL propose beaucoup de possibilités différentes pour arriver à gérer des transferts de données entre des sources de données de structures différentes.

Je me pose des questions sur comment le ETL arrive à faire cela
  • est-ce que la fonction Load dépend de la fonction Extract ?
  • est-ce que la fonction Transform est seule à gérer la "différence de structure" ?
Merci beaucoup pour ta réponse.
goomazio est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/04/2007, 23h45   #4
co2
Membre émérite
 
Avatar de co2
 
Inscription : mai 2002
Messages : 182
Détails du profil
Informations forums :
Inscription : mai 2002
Messages : 182
Points : 823
Points : 823
Envoyer un message via Skype™ à co2
Citation:
Envoyé par goomazio
Je pense que Cédric (co2) se fera un plaisir de te donner des exemples, s'il passe sur le post, pour illustrer mes propos.
Je passe par là justement



Citation:
Envoyé par goomazio
Les ETL et la réplication sont des sujets très voisin alors ?
Disons que la réplication peut être assurée par un ETL. Cependant, un ETL te permet de faire beaucoup plus de chose !

Citation:
Envoyé par goomazio
J'essaye de développer une application de réplication unidirectionnelle qui permet de définir dynamiquement les bases de données à synchroniser. Pour ce faire je me renseigne sur les possibilités de gérer des transferts de données entre des sources de données de structures différentes car les bases de données à synchroniser pourront avoir des structures différentes.

Est-ce que c'est une fonction importante des ETL ou est-ce un exemple parmi toutes les possibilités ?
C'est une des fonctions des ETL. Dans le cas de la réplication tu as rarement enormément de transformation à effectuer.

Citation:
Envoyé par goomazio
Est-il possible de tout faire avec un ETL ?
Oui tout est possible en informatique

Citation:
Envoyé par goomazio
Mon problème c'est que je ne sais pas où s'arrêtent les possibilités... Je suppose qu'un bon ETL propose beaucoup de possibilités différentes pour arriver à gérer des transferts de données entre des sources de données de structures différentes.

Je me pose des questions sur comment le ETL arrive à faire cela
  • est-ce que la fonction Load dépend de la fonction Extract ?
  • Surtout pas, il faut que tu puisses changer l'entrée sans changer les cibles ou vice-versa

    Citation:
    Envoyé par goomazio
  • est-ce que la fonction Transform est seule à gérer la "différence de structure" ?
Citation:
Envoyé par goomazio
Merci beaucoup pour ta réponse.
Il y a plein de fonctions "Transform" dans un ETL. Tu peux faire du mapping graphique (tu drag&Drop des champs de tes entrées vers tes sorties), du mapping en script (tu écrits en code tes transformations), des fonctions de qualités de données (dédoublenage par exemple), des fonctions de tris, d'agrégation... Bien sur cette liste n'est pas exhaustive, pour exemple, Talend possède plus de 80 composants (composants d'entrée, de sortie ou de transformation).

Cordialement,

Cédric Carbone
Talend CTO
www.talend.com
co2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/04/2007, 09h59   #5
Membre chevronné
 
Inscription : janvier 2006
Messages : 446
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 446
Points : 638
Points : 638
Citation:
Envoyé par co2
C'est une des fonctions des ETL. Dans le cas de la réplication tu as rarement enormément de transformation à effectuer.
Citation:
Envoyé par co2
Tu peux faire du mapping graphique (tu drag&Drop des champs de tes entrées vers tes sorties), du mapping en script...
J'avais pensé à deux choses pour permettre de gérer plusieurs structures différentes:
  • pouvoir lier une table d'équivalence entre valeurs pour chaque couple Colonne maître - Colonne esclave. C'est sûrement quelque chose qui ressemble au mapping. Exemple : on a un attribut sexe de type caractère (m ou f) dans une table esclave, si dans une table maître cet attribut est de type numérique (1 ou 2), on peut lier à ce couple d'attributs (maître - esclave) une table d'équivalence qui dira m = 1 et f = 2.
  • pouvoir appliquer une fonction à une valeur. Exemple : imaginons d'un côté un attribut date de naissance et de l'autre un attribut âge, on peut appliquer une fonction à l'attribut date de naissance pour avoir la valeur sous forme d'âge. Cet exemple n'est sûrement pas fréquent mais ça illustre bien ce que je veux dire. Je ne désire par permettre de faire des scripts ( ), juste d'utiliser des fonctions toutes faites dans l'application. Avec une boucle SELON on choisirait la fonction à appliquer...
Et puis bien sur, pour pouvoir avoir des noms de tables et d'attributs différents, je groupe les tables qui sont "équivalentes" (à comparer ensemble).
Ces tables groupe servent aussi à gérer le cas :
Citation:
agrégation des données de plusieurs sources dans une même table
il suffit de créer plusieurs groupes.

Que pensez-vous de ces possibilités ?


Citation:
Envoyé par co2
Surtout pas, il faut que tu puisses changer l'entrée sans changer les cibles ou vice-versa
Pour ce faire, est-ce qu'il y a un format standard de données par le quel on passe lors du "Transform" ? Pour ma réplication je pense que je devrais me contenter des deux idées citées plus haut.

Merci beaucoup pour les infos.

PS : c'est moi où on ne parle jamais de réplication pour expliquer ce que fait un logiciel ETL ? Je ne dis pas que c'est nécessaire mais ce sont des sujets tellement voisins ... (quoi que les ETL sont des monstres de la réplication vu les exemples ici)
goomazio est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/04/2007, 10h42   #6
co2
Membre émérite
 
Avatar de co2
 
Inscription : mai 2002
Messages : 182
Détails du profil
Informations forums :
Inscription : mai 2002
Messages : 182
Points : 823
Points : 823
Envoyer un message via Skype™ à co2
Citation:
Envoyé par goomazio
PS : c'est moi où on ne parle jamais de réplication pour expliquer ce que fait un logiciel ETL ? Je ne dis pas que c'est nécessaire mais ce sont des sujets tellement voisins ... (quoi que les ETL sont des monstres de la réplication vu les exemples ici)
Les ETL peuvent faire de l'intégration anlytique (datawarehousing) ou de l'intégration opérationnelle telle que la replication, de la synchronisation, du netoyage de données, permettre une vue unique sur tes données (qui seront physiquement dans plusieurs bases de données)...

Je te conseille vivement de jouer un peu avec des ETL afin de comprendre la puissance de ces bebetes

Tu peux avoir un overview très rapide de quelques fonctions d'un ETL à http://www.talend.com/tos/tutorials/menu.php (tuto flash), http://www.talend.com/products-data-...pen-studio.php (descriptif du produit Talend) ou http://www.talend.com/products-data-.../whats-new.php (les nouveautés de la version 2.0).

Bon test!
Cédric
co2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/04/2007, 11h17   #7
Membre chevronné
 
Inscription : janvier 2006
Messages : 446
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 446
Points : 638
Points : 638
Citation:
Envoyé par co2
Bon test!
Cédric
D'accord je comprends, des bebetes hein J'irai apprendre à les dompter.
Merci beaucoup.
goomazio est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h40.


 
 
 
 
Partenaires

Hébergement Web