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

Approche théorique du décisionnel Discussion :

Récupérer de manière différentielle les données de production


Sujet :

Approche théorique du décisionnel

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 60
    Points : 42
    Points
    42
    Par défaut Récupérer de manière différentielle les données de production
    Bonjour à tous ,

    je viens encore une fois solliciter votre expertise et vos conseils.

    Je m'explique : je dispose de plusieurs base de données en production et je disposes de plusieurs réplicats de ces bases en local. Et à chaque import des données de production , je les récupère toutes y compris celles qui n'ont pas été modifiées depuis le dernier import. Cela pose donc un problème de temps de traitement ( bases lourdes) et d'espace disque.

    Ce que je veux c'est donc savoir si il existe un moyen d'injecter dans mes bases locales ,juste les données qui ont été ajoutées ou modifiés depuis le dernier import.

    J'ai regardé dans le forum et je n'ai pas pu trouver de discussion similaire.
    J'ai pensé à l'utilisation d'un ETL mais je vous avouerai que je ne suis pas encore avancé dans ce domaine pour m'en sortir toute seule. J'ai donc besoin de vos retours d'expérience.
    Merci d'avance pour votre aide

  2. #2
    Expert confirmé
    Avatar de doc malkovich
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Juillet 2008
    Messages
    1 884
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 884
    Points : 4 285
    Points
    4 285
    Billets dans le blog
    1
    Par défaut
    Au niveau base de données tu as des réplications incrémentales. Tu as des outils internes ou des logiciels spécialisés comme GoldenGate, Sybase Replication Server ...
    Au niveau ETL tu as le CDC (Changement Data Capture) qui comme son nom l'indique permet de ne traiter que le delta. Tu as des composants spécifiques pour ça. Ou alors tu gères ça toi-même avec des colonnes qui vont bien ou des triggers.
    N'oubliez pas de cliquer sur lorsque votre problème est réglé !

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 60
    Points : 42
    Points
    42
    Par défaut
    Thank you doc !
    Penses tu que mysql intègre les réplications incrémentales, en cherchant sur internet j'ai vu que seul sql server et oracle permettent de récupérer les différentiels des données.

    De plus, j'ai différentes bases de production utilisant surement des SGBD différents, est ce que cela ne deviendrai pas fastidieux de le gérer moi même avec des triggers . En vision cible nous prévoyons environ un milliers de bases de production . Pour chaque base, il faudra donc réaliser des triggers différents. Cela deviendra donc très vite laborieux.
    Merci encore , n'hésites surtout pas si tu as d'autres idées

  4. #4
    Expert confirmé
    Avatar de doc malkovich
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Juillet 2008
    Messages
    1 884
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 884
    Points : 4 285
    Points
    4 285
    Billets dans le blog
    1
    Par défaut
    Je ne connais pas mysql, donc je ne peux pas te dire, mais à mon avis non
    Tu peux poser la question dans le forum dédié sur dvp.

    Hum, la meilleure solution dans ton cas serait goldengate. Il gère les réplications de plusieurs bases de données de type différent. Idéal si tu as ODI ( c'est de l'oracle ).

    Sinon en effet il faut faire les triggers à la main ... mais une fois que tu en as fait un pour un type de base de données et une table donnée il suffit de le copier pour les autres tables. Le plus fastidieux c'est surtout de faire un trigger qui fonctionne bien
    N'oubliez pas de cliquer sur lorsque votre problème est réglé !

  5. #5
    Membre éprouvé Avatar de Jester
    Inscrit en
    Septembre 2003
    Messages
    813
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 813
    Points : 1 058
    Points
    1 058
    Par défaut
    il est aussi possible faut créer un clone synchrone (à éviter) ou asynchrone en place du dump restore que vous semblez avoir actuellement.

    Pour mysql, pour les tables innodb, il y a un journal de log donc obtenir le diff est possible, par exemple avec golden gate.

    Mais ce n'est pas donné.

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 60
    Points : 42
    Points
    42
    Par défaut
    Citation Envoyé par doc malkovich Voir le message
    Le plus fastidieux c'est surtout de faire un trigger qui fonctionne bien
    ça c'est vrai.
    J'ai regardé un peu la piste de goldengate qui est fournit par oracle , mais le coût de la license doit être élévé. Je suis dans une petite structure et c'est pas forcément évident de faire passer ce genre de produit.

    La piste des log de Jester , à l'air pas mal , penses tu qu'on puisse associer ça avec talend ou pentaho pour la récupérer la différence. j'ai vu que la version d'entreprise permettait de récupérer le différentiel

  7. #7
    Expert confirmé
    Avatar de doc malkovich
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Juillet 2008
    Messages
    1 884
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 884
    Points : 4 285
    Points
    4 285
    Billets dans le blog
    1
    Par défaut
    Les logs sont généralement dans un format propriétaire difficile à comprendre pour le commun des mortels
    Un outil comme goldengate sait les traduire mais en effet ce n'est pas gratuit (mais pas très cher non plus de l'oracle).

    Il y a comme je disais des composants CDC dans la plupart des ETL, généralement sur le principe des triggers. Pour Talend je ne sais pas comment ça marche, je te conseille de poser la question dans le forum dédié ...

    @Jester :
    Citation Envoyé par Jester Voir le message
    il est aussi possible faut créer un clone synchrone (à éviter) ou asynchrone en place du dump restore que vous semblez avoir actuellement.
    Ce n'est pas pareil que les réplications incrémentales (enfin dans un jargon plus simple ) ?
    N'oubliez pas de cliquer sur lorsque votre problème est réglé !

  8. #8
    Membre éprouvé Avatar de Jester
    Inscrit en
    Septembre 2003
    Messages
    813
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 813
    Points : 1 058
    Points
    1 058
    Par défaut
    Heu si, mais ta réponse était juste avant golden gate donc j'ai mal survolé la chose.

    Avoir un clone asynchrone de Mysql est moins cher qu'utiliser goldengate mais en effet c'est pareil (enfin ça permet de fusionner des BD de type différent et c'est plus cher).

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 60
    Points : 42
    Points
    42
    Par défaut Merci
    Bjr à tous,
    Doc et Jester merci pour ces éléments . Je vais chercher encore plus en profondeur notamment la mise en place de clone asynchrone ou encore l'utilisation de l'outil CDC de talend.

    Merci beaucoup si vous avez d'autres suggestions n'hésitez surtout pas . Pour le moment je vais classer cette discussion en résolu car vous m'avez déjà fourni de bonnes pistes.

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 60
    Points : 42
    Points
    42
    Par défaut
    Bonjour et meilleurs vœux, je reviens encore une fois avec une question .
    D'après ce que j'ai compris il y' a deux manières de faire une réplication différentielle des données; soit en utilisant les triggers soit en utilisant les logs de la base de données. Ce que je veux donc savoir :
    Parmi ces deux procédés, quel est le plus intrusif et pourquoi?
    Quel est celui qui , à volumes égaux, chargera plus les infrastructures réseaux?
    Quel serait selon vous le choix le plus judicieux entre un ETL intégrant la fonction CDC et un outil comme goldenGate+ ETL gratuit.
    Merci pour vos réponses

  11. #11
    Expert confirmé
    Avatar de doc malkovich
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Juillet 2008
    Messages
    1 884
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 884
    Points : 4 285
    Points
    4 285
    Billets dans le blog
    1
    Par défaut
    Hello,
    L'utilisation des triggers est plus intrusive, car elle se fait directement en base. L'utilisation de ressources est aussi plus importante, due au fonctionnement interne des triggers.
    L'utilisation des logs est la méthode la plus recommandée en terme d'infra, les logs sont analysées via un process à part puis compressées et envoyées sur un autre serveur (exemple de goldengate).
    Mais attention, pour goldengate les logs sont dans un format spécifique, elles ne sont pas interprétables directement via un ETL. Il faut répliquer d'abord, et mettre des triggers en cible pour récupérer les mouvements
    N'oubliez pas de cliquer sur lorsque votre problème est réglé !

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 60
    Points : 42
    Points
    42
    Par défaut
    Merci doc ,pour cette réponse . Quand tu dis:
    Citation Envoyé par doc malkovich Voir le message
    pour goldengate les logs sont dans un format spécifique, elles ne sont pas interprétables directement via un ETL. Il faut répliquer d'abord, et mettre des triggers en cible pour récupérer les mouvements
    Comment ces logs ce transforment -ils en données ensuite (question un peu bête ). Est ce que c'est goldengate qui s'occupe de la transfromation via des triggers ou bien on doit faire des triggers sur l'ETL. C'est un peu complexe pour moi , donc ça veut dire qu'on revient encore à ma problématique de faire les triggers( qui fonctionnent ) à la main.

  13. #13
    Expert confirmé
    Avatar de doc malkovich
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Juillet 2008
    Messages
    1 884
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 884
    Points : 4 285
    Points
    4 285
    Billets dans le blog
    1
    Par défaut
    En fait goldengate réplique les données d'une base A à une base B.
    Mais il ne crée pas de fichiers au format csv ni ne tope les lignes insérées ou mises à jour. Du coup il faut quand même mettre en place des triggers sur la base B pour identifier les données qui ont bougé.
    Et en effet ça semble revenir au même que d'avoir des triggers sur la base A et d'exporter les données ensuite mais ce mécanisme est faiblement intrusif, donc moins coûteux en ressources sur la base A et idéal sur une base de production sensible.
    N'oubliez pas de cliquer sur lorsque votre problème est réglé !

  14. #14
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 60
    Points : 42
    Points
    42
    Par défaut
    Merci doc pour ta précieuse aide .
    On a finalement décidé d'abandonner la piste goldengate car trop cher pour une source et une cible c'est minimum 6900( licence NUP) et nous en aurons plus d'une centaine .
    Là je part donc à la recherche d'un autre moyen de faire ça.
    Merci encore et à plus

  15. #15
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 60
    Points : 42
    Points
    42
    Par défaut
    Re-bonjour à tous,
    Juste pour vous faire un petit retour concernant mon problème et comment je l'ai résolu ( enfin presque). On avait abandonné la piste de goldenGate pour se tourner vers un autre outil permettant de faire la même chose mais qui est open source. Il s'agit de tungsten replicator. C'est une application java qui récupère aussi les données via les logs binaires et qui les appliquent au Slave . Avec ça on peut mettre en place une réplication multi-master sans problèmes en ayant quand même un minimum de connaissances en linux. Ici l'adresse de l'endroit où le projet est hébergé http://code.google.com/p/tungsten-replicator/
    Voila , j'espère que cela aidera quelqu'un qui aura le même problème que moi.
    Bonne journée

  16. #16
    Expert confirmé
    Avatar de doc malkovich
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Juillet 2008
    Messages
    1 884
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 884
    Points : 4 285
    Points
    4 285
    Billets dans le blog
    1
    Par défaut
    Intéressant, je ne savais pas qu'il y avait un projet similaire en opensource.
    Merci de ce retour

    Et ça marche bien ?
    N'oubliez pas de cliquer sur lorsque votre problème est réglé !

  17. #17
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 60
    Points : 42
    Points
    42
    Par défaut
    oui ça marche pas mal , mais pour la configuration il faut vraiment aller en profondeur , il suffit pas de simple clics pour que ça marche. En ce moment le prototype est encore en test pour voir si il tient la charge donc je vous ferai peut être un retour quand le projet sera définitivement bouclé.
    Bonne journée

  18. #18
    Expert confirmé
    Avatar de doc malkovich
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Juillet 2008
    Messages
    1 884
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 884
    Points : 4 285
    Points
    4 285
    Billets dans le blog
    1
    Par défaut
    merci
    Par contre à ce que j'ai vu rapidement il ne prend en source que du mysql c'est ça ?
    N'oubliez pas de cliquer sur lorsque votre problème est réglé !

  19. #19
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 60
    Points : 42
    Points
    42
    Par défaut
    Il ne gère que Mysql et PostgrSql , mais si je ne m'abuse je pense qu'en ce moment il sont en train de tester oracle mais je ne suis pas très sûre.

  20. #20
    Membre habitué
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Février 2004
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Février 2004
    Messages : 131
    Points : 187
    Points
    187
    Par défaut
    il existe effectivement des solutions techniques pour gérer le différentiel (méchanismes de CDC) mais tu peux très bien gérer ce différentiel via un ETL afin de ne pas avoir à mettre en place ces méchanismes au niveau SGBD (Certaines entreprises ne peuvent envisager par exemple de mettre en place le CDC sur les bases oracle car trop contraignant en administration et en ressource).

    La pluspart des ETL proposent des méchanisme permettant de gérer l'historisation, tout dépend de l'outil choisi.

    Cette orientation (plus fonctionnelle que technique) est également à envisager. Mais encore une fois tout dépend de ton environnement technique!

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 3
    Dernier message: 30/06/2015, 10h46
  2. [SP-2007] Récupérer de manière dynamique des données
    Par royama dans le forum SharePoint
    Réponses: 1
    Dernier message: 13/05/2015, 15h10
  3. [HF19] Hyperfile C/S récupérer les données de production
    Par cladoo dans le forum HyperFileSQL
    Réponses: 1
    Dernier message: 04/07/2014, 15h49
  4. Exploiter les données en production
    Par Ludo_14 dans le forum Débuter
    Réponses: 0
    Dernier message: 28/02/2013, 17h30
  5. Réponses: 0
    Dernier message: 02/11/2012, 16h33

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