Conseils pour faire de l'ETL sur des données contacts

Conseils pour faire de l'ETL sur des données contacts - SQL/NoSQL - Programmation

Marsh Posté le 27-08-2010 à 06:28:54    

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.
 

Reply

Marsh Posté le 27-08-2010 à 06:28:54   

Reply

Marsh Posté le 27-08-2010 à 11:37:35    

Cela va couter plus cher que ce que cela va rapporter.
 
Il serait possible de faire tout cela en PHP. Cela couterait moins cher, serait plus léger, et serait plus facile à faire évoluer.
 
En général, les ETL sont des usines à gaz vendus par de bons commerciaux à des responsables des achats corrompus ou ne connaissant presque rien à l'informatique.
 
Ce n'est que mon avis personnel.

Message cité 1 fois
Message édité par olivthill le 27-08-2010 à 11:38:36
Reply

Marsh Posté le 27-08-2010 à 18:20:45    

Les ETL open source ne sont-ils pas valables pour ça ?
 
En terme d'interface, je me disais que du client riche serait surement plus adapté à de la manip sur des données qu'un client HTML...
 
Cependant, pour quoi ne pas envisager d'intégrer les fonctions d'ETL dans notre site HTML.
 
Je vais quand même continuer à gratter sur les ETL open source (Talend, et autres)
 
Merci pour ta réponse

Reply

Marsh Posté le 28-08-2010 à 10:04:38    

olivthill a écrit :


 
En général, les ETL sont des usines à gaz vendus par de bons commerciaux à des responsables des achats corrompus ou ne connaissant presque rien à l'informatique.
 


 
Les ETL peuvent avoir leur utilités ... Encore faut-il connaitre un peu plus l'informatique que toi et les implémenter dans un bon contexte

Reply

Marsh Posté le 28-08-2010 à 16:31:31    

Je n'avais pas cette prétention !!!
 
Je souhaite juste faire un petit tour d'horizon afin d'y voire plus clair et affiner notre projet avant de nous rapprocher d'un pro...
 
Comme je l'ai dit, je vis sur un île où les spécialistes de l'ETL ne se trouvent pas sous un coquillage...
Du coup, il faut un peu de préparation.
 
Merci pour ton retour.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed