Publicité
Publicité

Contenu connexe

Similaire à Retour d'expérience sur Pentaho Data Integration - ce que PDI nous a apporté(20)

Dernier(20)

Publicité

Retour d'expérience sur Pentaho Data Integration - ce que PDI nous a apporté

  1. REX sur Pentaho Data Integration - ce que PDI nous a apporté 29 Mai 2013
  2. PRÉSENTATION DE SMILE
  3.  Une expertise multi technologies  CMS  GED Portail  Décisionnel E-commerce ERPSystème NOTRE OFFRE – LA MATURITÉ OPEN SOURCE
  4. CONTEXTE LE CLIENT • Pur player du web – Site de petites annonces • 22 Millions d’annonces actives • 500 000 nouvelles annonces par jour • 8ème site le plus visité en France
  5. CONTEXTE LE PROJET (1/2) • Développement et alimentation d’un entrepôt de donnée – Sources multiples • Site, Site-mobile, applications • CRM • Référentiel produit • Fichiers de logs (Site, Transaction, …) – SGBD standard utilisé • PostgreSQL • Evolution vers les technologies Big Data à l’étude • Mise en place d’une solution BI complète – Solution retenue : Pentaho BI Suite
  6. CONTEXTE LE PROJET (2/2) • Le client dispose d’1 système d’aide à la prise de décision qui lui permet – le pilotage de l’activité – l’analyse des directions métiers. CRM Site Logs Sources de données ETL DW Restitutions ODS TransformationsImport Tableaux de bord Rapports à la demande Analyses OLAP
  7. CONTEXTE LES PRINCIPAUX CHALLENGES • Premier projet BI réalisé par le client – Phase de spécification complexe – De nombreuses sources • Forte volumétrie (log du site, transactions) • Fichiers complexes • De nombreux indicateurs à calculer • Problématique de déboulonnage / qualité de donnée importantes – Fenêtre de tire réduite – Choix du SGBD imposé par le client : PostgreSQL
  8. LA SOLUTION L’ETL - PENTAHO DATA INTEGRATION • Présentation de PDI – Projet Open Source existant : Kettle, aujourd’hui intégré à la suite Pentaho – Licence Apache 2.0 – Dernière version : 4.4.1 datant du 29/11/2012 – E.T.L. (Extract Transform Load) – Lit et écrit dans n’importe quelle source de données • Principales bases de données (Open Source ou propriétaire) • Fichiers Excel, CSV, XML • AS400 … – Intégration à la plateforme WEB • Contrôle à distance des jobs (traitements) • Suivi des performances • Gestion des alertes – Nombreuses fonctions de load/balancing, partitionnement, cluster
  9. IMPLEMENTATION GESTION DE LA FORTE VOLUMETRIE (1/2) • Quelques chiffres – 500 000 nouvelles annonces chaque jour – 22 000 000 d’annonces actives (vivantes) – 350 000 000 de lignes / 100Go dans le fichier de log principal – 3 500 000 visiteur unique / jour • Suivi du cycle de vie des annonces – Modèle de données adapté à la production • pas aux requêtes analytiques • Indexes non-adaptés : ajout d’un indexe peu représenter plusieurs jours de calculs – Problématique dès lors qu’il faut effectuer des requêtes sur la table des « actions »
  10. IMPLEMENTATION GESTION DE LA FORTE VOLUMETRIE (2/2) • PDI à la rescousse – Les jointures sur plusieurs tables de millions de lignes non performantes – Déport des calculs dans l’ETL • Exploitation de la puissance de la machine de calcul de l’ETL • Remplacement jointures SQL par des composants « Merge Join » de PDI – Découpage en plusieurs requêtes – Gain obtenu : 45 minutes -> 5 minutes (90% plus rapide dans l’ETL) – En grande partie lié à la puissance du serveur
  11. IMPLEMENTATION GESTION DE LA FORTE VOLUMETRIE (2/2)
  12. IMPLEMENTATION EXPLOITATION DES FICHIERS DE LOG (1/4) • Plusieurs fichiers / jour – Volumétrie totale de plus de 100 Go / jour – Besoin de parallélisation • PDI permet la lecture de fichiers en plusieurs morceaux – Utilisation du composant « CSV Input » avec le paramètre nombre de copie = X20 – Optimisé pour les machines actuelles multi-cœurs (ici 32 cœurs) – Gain obtenu x20 • PDI permet le partitionnement – Utilisation du partionnement sur 5 instances du composant « Group By » – Gain obtenu x5
  13. IMPLEMENTATION EXPLOITATION DES FICHIERS DE LOG (2/4) – Besoin de parallélisassions (suite) • PDI permet d’exécuter N-traitements en parallèle au sein d’1 même job
  14. IMPLEMENTATION EXPLOITATION DES FICHIERS DE LOG (3/4) • Fichiers complexes – Besoin : exploiter le logs des serveur de transaction • Structure – Transaction sur plusieurs lignes – Transaction avec statuts différents – Transactions se chevauchent (Il est impératif de trier les transactions avec traitement) • Très forte volumétrie – Pré-traitement (tri du fichier et filtre sur les transactions valides)
  15. IMPLEMENTATION EXPLOITATION DES FICHIERS DE LOG (4/4) • Fichiers complexes – Besoin : exploiter le logs des serveur de transaction (suite) • Composants spécifiques « Analytic query » pour « naviguer » dans le fichier et parcourir la transaction • Résultat : 100Go traité en 45 minutes
  16. IMPLEMENTATION EXECUTION SUR SERVEUR DISTANT • Avec de telles volumétrie … – Difficile de travailler sur une machine locale – Là encore, PDI propose des solutions pour utiliser un serveur plus puissant • Exécution distance • Cluster – Et tout ceci depuis l’interface de développement
  17. IMPLEMENTATION EXECUTION SUR SERVEUR DISTANT • Avec de telles volumétrie … – Difficile de travailler sur une machine locale – Là encore, PDI propose des solutions pour utiliser un serveur plus puissant • Exécution distance • Cluster – Et tout ceci depuis l’interface de développement
  18. BILAN PDI – PUISSANT ET FLEXIBLE • Travail collaboratif – Projet de 6 mois – Jusqu’à 5 développeurs en // – Prise en main facile • Outil très adapté au traitement de fortes volumétries – Composants simples pour paralléliser les traitements – Gain de temps non-négligeables vs jointures SQL • Très flexible – Exploitation efficace de fichiers complexes – Evolution vers l’utilisation de technologies Big Data type Hadoop ou NoSQL
  19. Pour aller plus loin : www.smile.fr Merci de votre attention @GroupeSmile_BI on Twitter
Publicité