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

Alimentation Discussion :

Conseils pour la mise en place d'un process ETL.


Sujet :

Alimentation

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Avril 2008
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 5
    Points : 1
    Points
    1
    Par défaut Conseils pour la mise en place d'un process ETL.
    Bonjour,

    Je travaille dans une société qui intervient dans le marketing direct pour le compte de tiers.
    Nous imprimons des documents personnalisés à partir des données contacts que nous confient nos clients.

    Ces données peuvent être fournies sous la forme d'un seule fichier (table) ou de plusieurs fichiers ayant des structures différentes.
    Dans tous les cas, il faut au final que nous ayons un seul fichier (table) et que ce fichier corresponde aux données reçues nettoyées, arrangées et dédoublonnées.

    Pour résumer notre besoin, je prendrai un exemple.
    Notre client A nous soumet 4 fichiers Excel, l'un d'entre eux comprenant plusieurs tables.
    Jusqu'à maintenant nous procédions comme suit :
    - Concaténation (sous Excel) des tables en une seule, ceci après avoir uniformiser les champs des tables sources.
    - Nettoyage (sous Excel) de la table obtenue (Reformatage des adresses, des champs de civilité, vérification de l'uniformité du nom des villes, des codes postaux... Bref pour arriver à une truc un minimum propre et homogène)
    - Dédoublonnage (toujours sous Excel) via une série d'opérations et de formule allant de la comparaison des n premiers caractères des champs au simple dédoublonnage visuel.

    Aujourd'hui, nous voudrions nous doter d'un outil destiné au traitement de tous les fichiers que nous recevons et orienter cette mise en place sur trois problématiques :
    - Sécuriser les échanges de fichiers avec nos clients.
    - Optimiser les traitements faits sur ces fichiers car Excel présente beaucoup d'inconvénients : Possibilité d'altération des données sources (décalage colonne) et lourdeur des manipulations.
    - Stocker les données sources et finales correspondante dans une base de donnée et sous forme de fichiers (excel, txt,...) stockés dans un dossier ad-hoc sur notre serveur de fichier.

    Pour ce faire nous avons envisagé de coupler une interface HTML, une BDD et un logiciel embarquant les fonctions d'ETL et de data quality nécessaires...
    Cela ressemblerait à ça :

    1-Nos clients auraient accès à un site HTML sur lequel une fois identifié ils pourraient déposer leurs fichiers qui seraient ainsi transférés (par ex par FTP) de façon sécurisée (aujourd'hui nous recevons les fichiers par email !!!)
    2-Lors du dépôt des fichiers, les clients indiqueraient une référence pour ces fichiers.
    3-Une fois les fichiers bien reçus, un email d'accusé de réception serait envoyé au client et un autre à la personne en charge de ces questions chez nous (MME FICHIER)
    4-Dès réception de l'email, MME FICHIER "consulte" les fichiers reçus, valide que ces fichiers correspondent à une opération en cours et les rapproche avec une référence interne.
    5-Cette validation faite par MME FICHIER, celle ci se connectera au même site HTML que le client (avec des options supplémentaires) et une fois identifiée, elle pourra "valider" les fichiers qui seront alors taggés pour être liés à un client et à une opération; puis stockés sur la base tel que reçus, sans modification. L'idée est que les fichiers reçus soient placés dans une liste d'attente et que ce n'est qu'une fois validés par MME FICHIER qu'ils soient intégrés dans le process.
    6-Une fois ces fichiers sources intégrés "bruts" à la BDD en autant de tables, un ODBC pour chaque table source sera envoyés par email à M DATA.
    C'est M DATA qui par suite pourra travailler ces données en y accédant sur la base via ces ODBC (en lecture seule)

    7-C'est ici qu'il reste des "blancs" dans mon histoire...
    Quel logiciel me permettra de :
    ->Me connecter à plusieurs tables simultanément
    ->Les concaténer en les homogénéisant et y rajoutant un champ "origine"
    ->Eventuellement faire un premier export vers la BDD dans une table intermédiaire qui sera la table concaténant les données brutes avant nettoyage.
    -> Faire toutes les opérations de nettoyage, de remise en forme et in fine de dédoublonnage (de façon adaptée à des adresses donc avec des algorithmes adaptés)
    ->Faire un export dans cette BDD en créant un table FINALE.

    8-Une fois la table FINALE créée dans la BDD, un email contenant un ODBC liant à cette table est envoyé à MME INFOGRAPHISTE qui aura ainsi accès aux données nécessaires et surtout propres pour imprimer les documents de notre client.

    ---

    Je souhaiterais donc avoir votre avis sur les deux points suivants :
    - Le logiciel a utiliser (j'ai repérer TALEND mais je ne sais pas dans quelle mesure c'est adapté à notre besoin)
    - Votre avis général sur le process.

    Dernière précision, nous nous orientons vers un hébergement mutualisé de la base et du site HTML (chez OVH donc surement du MySQL)
    ->Cela pose-t-il un problème de sécurité ?
    ->Nous aurons à terme l'équivalent de 1 à 2 Gb de données stockées et cela représentera entre 500 et 1000 tables. Il y aura 1 à 2 utilisateurs maximum qui pourraient se connecter à la base simultanément. Pensez vous que en terme de charge cela pose un problème.

    Merci d'avance pour vos retours très précieux, je comprend à peu près les choses mais je n'ai aucune compétences pour la mise en oeuvre !!!
    De plus nous sommes basés sur une ile assez loin de tout et je n'ai pas forcément accès a des pros de la gestion de ce type données et de problématique.

  2. #2
    Membre confirmé
    Homme Profil pro
    Architecte Décisionnel
    Inscrit en
    Mai 2006
    Messages
    363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Architecte Décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2006
    Messages : 363
    Points : 521
    Points
    521
    Par défaut
    Pour commencer, il y a un gros problème dans ce process :
    un ETL est un programme qui remplis une base d'une structure donnée à partir d'une source ayant elle même une structure fixe, il ne peut pas décider de quelle colonne mettre dans telle ou telle colonne, et ce travail doit être effectué par un développeur (que ce soit une personne de votre entreprise formée à l'utilisation de l'ETL ou un prestataire).
    Le fait d'avoir un format différent par client va vous faire réinventer la roue un nombre incalculable de fois et va faire que vos développeurs vont se retrouver avec des masses inimaginables de travail.

    Il me semble donc nécessaire de vous organiser avec vos clients afin de définir un format d'échange unifié qui convienne à tous vos clients.

    Maintenant pour la suite : l'appli web peut vous permettre, si elle est bien faite, de récupérer directement les fichiers dessus (un petit formulaire d'upload sur un site sécurisé en HTTPS avec un petit batch de vérification de format et un mail de confirmation, c'est faisable en PHP ou autre langage web).

    C'est là que le format de fichier devient important :
    Si le site est fait correctement, on peut faire en sorte de déclencher un traitement ETL avec les bons paramètres afin d'intégrer le fichier en base dès réception de confirmation du client, mais pour cela, il est nécessaire d'avoir un format fixe.

    Ensuite, on ajoute une colonne en base pour stocker la référence du fichier fournie par le client pour chacune des lignes de celui-ci et cela permet de stocker dans une seule et même table tous les fichiers (d'un même client au moins). Il ne reste plus qu'à traiter les données dans votre point 8.

    Sinon, d'un point de vue technique, Talend devrait répondre au besoin sans trop de problèmes.
    Une base MySQL de 2 Go est une base relativement petite par rapport à ce que l'on peut voir dans le monde des bases de données.
    Pour ce qui est de la sécurité, effectivement, il y a un risque, comme tout ce qui se fait en ligne, le tout est de bien spécifier qui peut faire quoi sur votre site et d'avoir un ou des développeurs expérimentés qui ne feront pas n'importe quoi...

    Pour finir, je vous conseillerais tout de même de vous adresser à une entreprise spécialisée pour réaliser ce genre de choses, votre process est relativement complexe et des conseils vous permettraient de l'améliorer et le sécuriser.

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Avril 2008
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Bonjour et merci pour votre retour.

    En me relisant après votre réponse, je m'aperçois ne pas avoir été précis sur l'ETL...
    Contrairement à ce qui peut être compris dans mon premier message, j'envisage l'ETL comme un outil installé en local.
    L'idée est de disposer d'un ODBC pour chaque table "brute", une fois acceptée dans notre système.
    Ainsi, l'opérateur :
    - Lancerait en local son application ETL,
    - Se connecterait aux tables à traiter (via ODBC, les données étant hébergées ailleurs)
    - Une fois les traitements terminée, exporterait vers la base, une table finale.

    Navré de ne pas l'avoir précisé mais effectivement, le fait de ne pas pouvoir disposer de données sources structurées de façon homogène interdit toute "automatisation" du processus d'acquisition des données avant traitements.

    Je note bien votre conseil de nous adresser à des professionnels, ce que j'avais de toute façon prévu de faire.
    Ma démarche actuelle consiste à me mettre en situation de pouvoir présenter un cahier des charges formalisant de la manière la plus précise possible notre besoin, ceci afin de nous voire offrir la réponse la plus adaptée.

    Toute la partie développement et architecture sera confiée à une équipe de développement externe.

    Pour ce qui est du logiciel, je souhaiterais simplement pouvoir faire un tout d'horizon afin de nous faire une idée sur l'ergonomie et le "feeling" sur les solutions existantes.
    Nous avons déjà, indépendamment de la plateforme HTML que nous souhaitons développer, des fichiers qui pourraient être traités et je souhaiterais qu'on commence "se faire les dents" en conditions réelles sur les différents soft existants et susceptible de répondre aux besoins formulés :
    - Concaténer en une seule table plusieurs sources non homogènes.
    - Opérer des traitements sur cette table (nettoyage, remise en forme, dedupe,...)
    - Exporter depuis le soft une table finale dans un format ou un autre (sachant que in fine, la table finale sera injectée dans une base à priori MySQL)

    Je note enfin que Talend vous parait adapté.
    Avez vous d'autres solutions que vous mettriez en avant ?

    En tout cas merci pour votre retour et le temps que vous m'aurez accordé.

    Cordialement.

  4. #4
    Membre confirmé
    Homme Profil pro
    Architecte Décisionnel
    Inscrit en
    Mai 2006
    Messages
    363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Architecte Décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2006
    Messages : 363
    Points : 521
    Points
    521
    Par défaut
    Le fait d'utiliser un ETL en pour faire ce type de chargement est possible et je pense que toutes les solutions ETL du marché répondront au besoin, après c'est une question de coût (licence/support/dev) et de formation.

    Talend a le mérite de ne pas avoir de coût de licence et de proposer un support (payant évidement), mais ce n'est pas le seul outil du marché.

    Il faut bien se rendre compte qu'un ETL n'est pas un outil forcément très facile à utiliser (enfin si, c'est facile à utiliser, mais la logique derrière repose sur une connaissance du SQL et de la logique ensembliste que l'on n'apprend qu'en filière maths ou informatique) et une personne qui ne maitrise pas le métier informatique (mais qui maitrise probablement parfaitement votre métier) ne pourra pas forcément utiliser un ETL, je pense qu'il faut donc que vos questions de chargements de données et nettoyage de données soient du ressort d'une équipe (dont la taille dépendra de la masse de fichiers à traiter) formée à ce type d'outil et à ce type de métier (en jargon commercial informatique, on appelle cela du DQM : Data Quality Management).

    Maintenant, je ne donne que mon avis de développeur ETL employé d'une grosse SS2I européenne, il ne faut pas se baser uniquement sur mon expérience limitée.

  5. #5
    Nouveau Candidat au Club
    Inscrit en
    Avril 2008
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Merci pour votre retour rapide !!!

    Nous opérons sur un marché très limité en terme de taille ce qui fait que au final c'est une seule personne qui s'occupe de ces problématiques chez nous.

    L'avantage, c'est que ce garçon à dans une autre vie été développeur DELPHI et dispose d'un solide background informatique quoique assez limité (de son propre aveu) sur toutes les questions d'ETL et généralement de data integration et data quality.

    L'évolution dont il est question ici, à savoir
    - L'intégration dans notre process de ces deux éléments (DI et DQ)
    - La mise en place d'une interface de collecte des fichiers sources d'un part (Site web)
    - La mise en place d'un serveur de BDD (alors qu'aujourd'hui nous fonctionnons sur des fichiers)
    répond à une attente de sa part et surtout à un besoin partagé pour différentes raisons de fiabilité et de productivité...

    Toute la question est maintenant de savoir si une telle mise en place se justifie en terme de coût pour nous...

    Question sur TALEND, je m'aperçois que leur version OS est plutôt limité pour le nettoyage des données (dedupe)
    OPEN STUDIO me parait très bien pour l'intégration, par contre OPEN PROFILER risque d'être un peu limité car l'objectif premier en DQ chez nous sera le nettoyage de fichiers...

    Connaissez vous un autre soft OS embarquant des fonctions "relativement" puissante pour dédoublonner des fichiers clients ?
    Typiquement nous travaillons sur des tables de 10000 lignes avec env 15-20 champs dont 4 sont pertinents pour le dedupe...

    Encore une fois merci pour votre retour et toutes vos précisions.

    Cordialement

  6. #6
    Membre éprouvé
    Homme Profil pro
    Architecte Décisionnel
    Inscrit en
    Février 2008
    Messages
    866
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte Décisionnel

    Informations forums :
    Inscription : Février 2008
    Messages : 866
    Points : 1 260
    Points
    1 260
    Par défaut
    Citation Envoyé par funwork Voir le message
    L'avantage, c'est que ce garçon à dans une autre vie été développeur DELPHI et dispose d'un solide background informatique quoique assez limité (de son propre aveu) sur toutes les questions d'ETL et généralement de data integration et data quality.
    Si vous faites appel à une société extérieure pour la mise en place de votre système, prévoyez une partie formation ETL.
    Il y a juste un prérequis sur la connaissance SQL. En 2 ou 3 jours, quelqu'un peut être opérationnel sur des traitements ETL simples.

    Citation Envoyé par funwork Voir le message
    Question sur TALEND, je m'aperçois que leur version OS est plutôt limité pour le nettoyage des données (dedupe)
    OPEN STUDIO me parait très bien pour l'intégration, par contre OPEN PROFILER risque d'être un peu limité car l'objectif premier en DQ chez nous sera le nettoyage de fichiers...
    Petite remarque concernant les produits open source de Talend :
    - Le Talend Open Profiler ne sert effectivement qu'à faire du profiling de données.
    - C'est le Talend Open Studio qui vous servira à faire le nettoyage de vos données.

    Citation Envoyé par funwork Voir le message
    Connaissez vous un autre soft OS embarquant des fonctions "relativement" puissante pour dédoublonner des fichiers clients ?
    Typiquement nous travaillons sur des tables de 10000 lignes avec env 15-20 champs dont 4 sont pertinents pour le dedupe...
    Cette volumétrie sera traitée sans problème par Talend.
    Concernant les gros volumes, cela dépend bien sûr de la puissance disponible, mais on considère que cela peut devenir problématique à partir du million de lignes.

    Nicolas

  7. #7
    Nouveau Candidat au Club
    Inscrit en
    Avril 2008
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Bonjour et merci pour votre retour,

    Nous souhaitons dans un premier temps explorer au maximum la piste de l'open source qui nous semble la plus souple étant bien entendu que nous serons accompagnés par une équipe professionnelle quelque soit la solution retenue au final.
    Nous avons donc repéré les offres suivantes :
    - Talend
    - Pentaho
    - Clover

    Laquelle vous semblerait la plus adaptée sachant que nous l'utiliserons presque exclusivement pour :

    - Regrouper des sources différentes (format et structure) dans une seule table
    - Nettoyer la table obtenue (principalement remise en forme -> Remplacer MADAME par MME dans le champs CIV par exemple et dédoublonnement -> Rechercher par des doublons type RUE DE LAPIN et RUE DU LAPIN, tous les doublons usuels qu'on peut avoir sur des adresses
    - Restituer dans un BDD (à priori MySQL) une table propre finale.

    Idéalement, la même application devrait nous permettre de faire tout cela.
    Toutefois, nous ne sommes pas fermés à avoir une application pour chaque tâche si cela est souhaitable pour des questions de performance ou d'efficacité.
    En outre, il y aura un seul opérateur et les volumes traités seront assez limités comme dit plus haut (env 10000 entrées en moyenne)

    Dernier point, auriez vous des consultants ou sociétés de prestations à nous recommander pour nous accompagner dans ce développement (Je m'excuse d'avance si le fait de poser la question ici apparait comme maladroit et dans ce cas, merci de ne pas en tenir compte)

    Quoi qu'il en soit, merci à tous.
    Je suis basé sur une île un peu "loin des questions d'ETL" et je peux vous assurer que pouvoir bénéficier de vos précieux conseils et quelque chose de formidable pour moi !

    Cordialement.

  8. #8
    Membre confirmé
    Homme Profil pro
    Architecte Décisionnel
    Inscrit en
    Mai 2006
    Messages
    363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Architecte Décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2006
    Messages : 363
    Points : 521
    Points
    521
    Par défaut
    D'après votre description, la seule chose qui pourrait poser problème, c'est la recherche de doublons d'adresse ou autre, c'est les recherches d'orthographes approchantes qui seront les plus complexes (mais une boite de prestation ne devrait pas avoir de gros problème à développer ce genre de chose).

    Pour ce qui est de recommander une entreprise, étant sur un espace public, je m'abstiendrais de faire de la publicité.

    Par contre, votre description de votre position géographique semble sous entendre les DOM/TOM, donc à ma connaissance, en dehors des grosses SS2I généralistes qui peuvent avoir des équipes sur place, il faut s'adresser à des acteurs plus locaux et plus petits.

  9. #9
    Nouveau Candidat au Club
    Inscrit en
    Avril 2008
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Tout juste pour les DOM ! Et précisément la Guadeloupe.
    Maintenant je me trompe peut-être en disant qu'il n'y a pas de spécialiste de l'ETL sur place...

    Pour la recommandation, je comprend...

    Merci encore une fois pour votre retour.

    Cordialement.

Discussions similaires

  1. conseil sur la mise en place d une solution BI
    Par pass38 dans le forum Approche théorique du décisionnel
    Réponses: 7
    Dernier message: 23/06/2008, 18h32
  2. Aide pour la mise en place dun réseau
    Par marilou86 dans le forum Réseau
    Réponses: 0
    Dernier message: 17/11/2007, 21h40
  3. Aide pour la mise en place d'un index fulltext
    Par bluecurve dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 13/11/2007, 09h47
  4. Réponses: 4
    Dernier message: 19/09/2007, 09h51
  5. [Conception] Aide pour une mise en place
    Par Olivier636 dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 11/03/2006, 15h39

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