Projet Bi - 3 - Alimentation des données

9 020 vues

Publié le

Introduction à la Business intelligence
A quoi ça sert ?
Outils et Projets de Business intelligence

Publié dans : Technologie
  • Soyez le premier à commenter

Projet Bi - 3 - Alimentation des données

  1. 1. Alimentation du DataWarehouse
  2. 2. Sommaire <ul><li>Introduction </li></ul><ul><li>Les outils ETL </li></ul><ul><li>Les étapes </li></ul>
  3. 3. Introduction les projets de Business Intelligence <ul><li>Le processus général </li></ul>Développement Définition des besoins Définition de l’architecture technique Choix des outils Définition des indicateurs Modélisation dimensionnelle Définition des rapports / tableaux de bord Installation et paramétrage des outils Conception du modèle physique Création des « univers » Développement des rapports / tableaux de bord Déploiement Formation développement des alimentations
  4. 4. Introduction
  5. 5. Introduction <ul><li>Le processus d'alimentation des données du datawarehouse représente une part majeure des efforts de développement et nécessite une attention tout au long du cycle de vie du système </li></ul><ul><li>Il est le garant de la qualité des données et doit superviser la gestion des rejets </li></ul><ul><li>Il doit être pris très au sérieux le plus tôt possible </li></ul><ul><li>Dans la pratique, il est souvent délaissé dans les phases de démarrage au détriment des aspect de restitution des données </li></ul><ul><li>Il représente jusqu'à 40 % du budget total du projet </li></ul>
  6. 6. Introduction <ul><li>Le processus doit s'exécuter périodiquement, il doit donc être </li></ul><ul><ul><li>Optimisé Le temps du processus correspond au temps d’indisponibilité de l’entrepôt Les temps de réponse du datawarehouse dépendent principalement de la qualité des agrégats qui sont gérés par le processus </li></ul></ul><ul><ul><li>Automatisé Il est nécessaire d’industrialiser le processus au maximum </li></ul></ul>
  7. 7. Introduction <ul><li>Utilisation d'un outil ETL (Extraction – Transformation - Load) </li></ul><ul><ul><li>Non obligatoire mais recommandé car : </li></ul></ul><ul><ul><ul><li>Centralisation des scripts d'alimentation </li></ul></ul></ul><ul><ul><ul><li>Utilisation d'un outil / langage unique et maîtrisé </li></ul></ul></ul><ul><ul><ul><li>Suivi centralisé des exécutions </li></ul></ul></ul><ul><ul><ul><li>Disponibilité de connecteurs => maîtrise des coûts d'évolution </li></ul></ul></ul><ul><ul><li>Outils spécialisés vs Outils généralistes </li></ul></ul><ul><ul><li>Outils orientés BD vs Outils avec langage propre (standard ou propriétaire) </li></ul></ul><ul><ul><li>Dans la pratique, laisser le maximum de traitements à la base de données </li></ul></ul><ul><ul><ul><li>Avantage : performances (quelquefois obligatoire) </li></ul></ul></ul><ul><ul><ul><li>Inconvénient : spécifique à la base de données </li></ul></ul></ul>
  8. 8. Les outils ETL
  9. 9. Les outils ETL <ul><li>La problématique est aussi ancienne que les Systèmes d’Information </li></ul><ul><li>Depuis toujours : le transfert de fichiers </li></ul>ETL = Extraction / Transfer (Transformation) / Load <ul><ul><li>Pas sécurisé </li></ul></ul><ul><ul><li>Pas normalisé </li></ul></ul><ul><ul><li>Cher à maintenir (les programmes d’extraction se sont multipliés de manière anarchique) </li></ul></ul>Extraction Transfert Chargement
  10. 10. Les outils ETL <ul><li>Solution orientée Bases de données : la réplication </li></ul><ul><ul><li>Sécurisé </li></ul></ul><ul><ul><li>Trop orienté Données </li></ul></ul>Mise à jour Utilisation
  11. 11. Les outils ETL <ul><li>Outils ETL : services à valeur ajoutée </li></ul><ul><ul><li>Transformations </li></ul></ul><Champ1>;<Champ2>;<Champ3>;<Champ4> <Champ1>; <Champ3> <Champ2> + <Champ4> <ul><ul><li>Centralisation du code de transformation </li></ul></ul><ul><ul><li>Éditeur de formats </li></ul></ul><ul><ul><li>Équipe d’administration des données et des flux </li></ul></ul>
  12. 12. Les outils ETL <ul><li>Outils ETL : services à valeur ajoutée </li></ul><ul><ul><li>Connecteurs et passerelles </li></ul></ul><ul><ul><li>Maintenus par les éditeurs </li></ul></ul><ul><ul><li>Maîtrise des coûts d’évolution </li></ul></ul>SAP Oracle Apps Oracle DB2 Websphere Web services
  13. 13. Les outils ETL <ul><li>Autres services </li></ul><ul><ul><li>Administration et suivi </li></ul></ul><ul><ul><ul><li>Des messages, des flux </li></ul></ul></ul><ul><ul><ul><li>Des processus </li></ul></ul></ul><ul><ul><li>Sécurité </li></ul></ul><ul><ul><ul><li>Autorisations d’accès, habilitations, intégrité des données </li></ul></ul></ul><ul><ul><li>Montée en charge </li></ul></ul><ul><ul><ul><li>Répartition de la charge sur plusieurs processeurs, plusieurs serveurs </li></ul></ul></ul>
  14. 14. Les outils ETL <ul><li>Résumé des fonctionnalités </li></ul><ul><ul><li>Accès fichiers, Bases de données </li></ul></ul><ul><ul><li>Transformations </li></ul></ul><ul><ul><li>Connecteurs (accès natifs, ODBC, Web services, ...) </li></ul></ul><ul><ul><li>Administration et suivi (processus, flux, déclencheurs) </li></ul></ul><ul><ul><li>Sécurité </li></ul></ul><ul><ul><li>Montée en charge </li></ul></ul>
  15. 15. Les outils ETL TCP / IP Connecteurs ETL Référentiel Suivi des flux Administration référentiel Surveillance des processus Moteur exécution Outil de développement
  16. 16. Les outils ETL <ul><li>Les acteurs du marché </li></ul><ul><ul><li>Acteurs historiques </li></ul></ul><ul><ul><ul><li>Sunopsis : racheté par Oracle </li></ul></ul></ul><ul><ul><ul><li>Datastage : racheté par IBM </li></ul></ul></ul><ul><ul><ul><li>Microsoft SQL Server Integration Services, intégré dans l'offre SQL Server </li></ul></ul></ul><ul><ul><ul><li>Cognos Data Integrator (racheté par IBM) </li></ul></ul></ul><ul><ul><ul><li>DataExchanger </li></ul></ul></ul><ul><ul><li>Nouveaux venus (monde « open source ») </li></ul></ul><ul><ul><ul><li>Talend </li></ul></ul></ul><ul><ul><ul><li>Pentaho </li></ul></ul></ul>
  17. 17. Les étapes de l'alimentation
  18. 18. Les étapes <ul><li>Extraction des données source </li></ul><ul><li>Contrôle des données source </li></ul><ul><li>Alimentation des tables de la staging area </li></ul><ul><li>Alimentation des tables agrégées </li></ul>
  19. 19. Extraction des données source <ul><li>Analyse des tables / fichiers source, des formats de données </li></ul><ul><li>Identification des données nécessaires </li></ul><ul><ul><li>Données de type référentiel => Dimensions </li></ul></ul><ul><ul><li>Données de type mesures => Faits </li></ul></ul><ul><li>Filtrer les données pour n'extraire que les données nécessaires Ex : données ajoutées ou modifiées depuis la dernière extraction </li></ul><ul><li>Appliquer des transformations de formats (dates, montants, codes) </li></ul>
  20. 20. Contrôle des données source <ul><li>Contrôle du référentiel </li></ul><ul><ul><li>Unicité du référentiel </li></ul></ul><ul><ul><li>Transcodification des différentes sources </li></ul></ul><ul><ul><li>Ex : N° de client, Matricules employés, Adresses clients </li></ul></ul><ul><li>Contrôle des données </li></ul><ul><ul><li>Contrôle des dates (ex : > 2000) </li></ul></ul><ul><ul><li>Contrôle des montants (par rapport à une fourchette acceptable) </li></ul></ul><ul><li>Écriture des erreurs dans une table dédiée </li></ul><ul><ul><li>=> à l'issue de l'alimentation, envoi des erreurs par mail à l'administrateur des données </li></ul></ul>
  21. 21. Alimentation de la staging area <ul><li>Format des tables proche des tables sources </li></ul><ul><ul><li>Mise à jour des données existantes </li></ul></ul><ul><ul><li>Création des nouvelles lignes </li></ul></ul><ul><ul><li>Suppression des lignes Ou modification de leur statut pour conserver l'historique </li></ul></ul><ul><ul><li>Fusion de données provenant de sources différentes dans la même table (on conserve l'identification de la source) </li></ul></ul><ul><li>Peu de complexité </li></ul>
  22. 22. Alimentation des tables agrégées <ul><li>Mise au format « étoile » : dimensions / faits </li></ul><ul><ul><li>Dimensions (référentiel) </li></ul></ul><ul><ul><ul><li>Dénormalisation Ville – Département – Région – Pays => Ville </li></ul></ul></ul><ul><ul><li>Faits </li></ul></ul><ul><ul><ul><li>Calcul des agrégations </li></ul></ul></ul><ul><ul><ul><li>Utilisation de vues, voire de procédures stockées ou de vues stockées (snapshots) pour améliorer les performances </li></ul></ul></ul><ul><ul><ul><li>=> délégation des traitements à la base de données </li></ul></ul></ul><ul><li>Identifier les temps de traitement pour organiser l'exécution des flux d'alimentation </li></ul>
  23. 23. Organisation des flux <ul><li>Organiser les flux en fonction </li></ul><ul><ul><li>des domaines concernés, </li></ul></ul><ul><ul><li>des fréquences d'alimentation </li></ul></ul><ul><ul><li>Isoler les alimentations de référentiel (dimensions) et les alimentations de faits </li></ul></ul><ul><ul><li>appeler les flux de référentiel correspondant à chaque alimentation de faits </li></ul></ul><ul><li>Découper au maximum les flux pour les rendre réutilisables </li></ul>
  24. 24. Des questions ? Des questions ? http://www.6it.fr [email_address] 06.24.91.02.03 04.84.25.17.94

×