IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement de jobs Discussion :

Utiliser Talend pour Replication entre Bases Hérétorgènes


Sujet :

Développement de jobs

  1. #1
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 459
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 459
    Points : 24 873
    Points
    24 873
    Par défaut Utiliser Talend pour Replication entre Bases Hétérogènes
    Bonjour,

    1ere Question sur Talend !

    Avant de me lancer sur ce produit, déjà partiellement utilisé par mes collègues, je voudrais savoir si ma problématique est "solutionnable" par Talend

    Contexte :
    - Une Application Delphi (une Exe Windows)
    - 60 Sites (département) avec plus ou moins la dernière version (2.4.030 à 2.4.057, sachant que le dev c'est 2.4.060)
    - 60 Bases MySQL (une par Site)
    - 10 Sites Spéciaux (qui synchronise et fusionne des données des Sites Normaux qui leur sont rattachés)

    L'objectif serait de faire une réplication de ces 60 Bases vers un serveur Web, seules quelques tables seraient concernées (les plus grosses évidemment et les plus critiques )
    Pour le moment, il n'y a pas encore de volonté de fusion des bases à un niveau région voire nationale (même si pour certaines problématiques et certains modules récemment mis en place, cela simplifierait l)

    La volumétrie,
    Sites Normaux
    5 tables à synchroniser, de 100 000 à 2 000 000 d'enreg par Table
    Sites Spéciaux
    de 2 000 000 à 10 000 000 enreg par Table (forcément c'est la fusion de plusieurs Sites Normaux)

    Le but serait d'invoquer Talend (via Delphi) avec tout un ensemble de script, de générer ainsi une série de fichier, envoyés sur le serveur, et du côté web, un autre ensemble de script serait chargé d'importer ces fichiers dans la base centralisée







    NB : J'étudie en parallèle, le log MySQL pour replication, le problème c'est que les bases centralisées auraient une structure différente des Bases sur Site (ne me demandez pas pourquoi, j'ai non plus compris pourquoi, ils ont décidé ça au bureau)
    Hors le log contiendra aussi les ALTER, donc finalement, ce n'est plus applicable sans une base tampon qui serait ensuite recopier dans la Base Centralisée
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    465
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 465
    Points : 287
    Points
    287
    Par défaut
    Bonjour,

    Oui, je pense que Talend pourrait répondre à ton problème.
    Via Talend, tu peux sélectionner les tables à exporter et les répliquer au sein d'un autre entrepôt en changeant le nom des bases, des tables, des champs de destination.

    1-Via ton interface Delphi, tu pourrais lancer des process d'intégration créant des fichiers. Ces process se trouveraient sous forme de batch/bash exécutables via ton appli delphi.
    Aussi, si nécessaire, tu pourrais transmettre la valeur de variables via l'argument -context_param applicable dans le batch.

    2-Du côté de ton serveur, tu pourras également lancer des process qui intègrent le contenu de tes fichiers au sein de la base...

    J'aurais plusieurs questions:
    -ton appli delphi alimente-t-elle une base de données? est-ce à partir de cette base de données que tu dois créer tes fichiers?
    -si ton appli alimente une BDD, tu pourrais mettre en route un script qui fasse une réplication [base du site]<->[base centralisée] sans passer par des fichiers, peut-être

  3. #3
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 459
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 459
    Points : 24 873
    Points
    24 873
    Par défaut
    Merci de ta réponse !

    Cette notion de Batch m'intéresse, j'ai vu que cela générait des programmes Java ou Perl

    L'Appli Delphi repose totalement sur la DB MySQL (en fait c'est une appli de collecte de données), c'est effectivement l'objectif d'exporter des données de cette base pour recouper les informations à un niveau régional\national (en fait, les mêmes entités apparaissent dans plusieurs bases avec identifiant interne différent, quelques identifiants permettent un recoupage, et si il n'y en a pas, d'autres caractères peuvent être utilisés)

    Effectivement, j'ai proposé une réplication MySQL via un Tunnel SSH entre les sites Client et la Base Centralisé, mais la structure pouvant être différent cela pose problème
    Si Talend peut proposer un système où l'on peut extraire les données (Sites en Windows) et envoyer lui même les données (sécurisées évidemment) vers un Serveur Linux (FireWall et tout ce qui va avec) qui serait aussi équipé d'un Talend sans devoir passer par des fichiers, et pouvoir gérer la granularité de chaque emission\reception avec un acquittement, cela m'arrangerait !

    Le Mode non connecté par Fichier pose le problème de la gestion du retour d'importation, actuellement, on a tout plein de façon de faire, soit on transfert les 8 dernières jours d'activité (via filtre sur TIMESTAMP on UPDATE ou des champs DATE géré manuellement, avec un peu de chance, on récupère tout) ou alors on ré-exporte tout et ré-importe tout (ce qui fait tomber nos serveurs la nuit et empêche nos clients d'asie de travailler correctement)


    EDIT : Pour Info, Sujet via Replication Asynchrone MySQL 4.1 (Master) et 5.0 (Slave)
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

Discussions similaires

  1. Comment utiliser l'outil Talend pour administrer une base de données qui gère des fichiers
    Par JonasYounes dans le forum Installation, migration et administration
    Réponses: 1
    Dernier message: 04/08/2014, 21h23
  2. Utiliser Talend pour générer des rapports en BIRT
    Par MarENSI dans le forum Autres outils
    Réponses: 3
    Dernier message: 13/09/2010, 18h11
  3. utilisation ADO pour créer une Base de Donnée vide
    Par laribi71 dans le forum VB 6 et antérieur
    Réponses: 17
    Dernier message: 20/02/2008, 19h13
  4. [PDO] Utiliser l'Objet de PHP pour gérer sa base de données
    Par Viau dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 25/01/2006, 18h16
  5. Réponses: 8
    Dernier message: 23/03/2005, 19h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo