ETL, les questions à se poser par Yazid Grim (Business Intelligen(ce)) Date de

ETL, les questions à se poser par Yazid Grim (Business Intelligen(ce)) Date de publication : Dernière mise à jour : Nous savons tous maintenant ce qu'est un entrepôt de données et comment le modéliser (pour ceux qui ne savent pas, retour à la case départ). Intéressons nous maintenant à comment l'alimenter depuis les données sources. Cet article, sous forme d'une suite de questions, présente une check-list que le lecteur pourra utiliser avant, pendant et après la mise en oeuvre d'un ETL pour l'alimentation d'un entrepôt de données. ETL, les questions à se poser par Yazid Grim (Business Intelligen(ce)) - 2 - Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur. http://grim.developpez.com/articles/concepts/etl/ I - Introduction II - Définitions III - Conception d'un ETL III-A - Comment procéder ? III-B - Comment sont mes sources ? III-C - Comment traiter les données ? III-D - Comment charger les données dans l'entrepôt ? III-E - Et les métas données dans tout ça !? III-F - Et comment contrôler cet ETL ? IV - Outils d'ETL IV-A - Éléments à prendre en compte lors du choix de l'ETL V - Conclusion ETL, les questions à se poser par Yazid Grim (Business Intelligen(ce)) - 3 - Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur. http://grim.developpez.com/articles/concepts/etl/ I - Introduction ETL, acronyme de Extraction, Transformation, Loading, est un système de chargement de données depuis les différentes sources d'information de l'entreprise (hétérogènes) jusqu'à l'entrepôt de données (modèles multidimensionnels). Ce système ne se contente pas de charger les données, il doit les faire passer par un tas de moulinettes pour les dé-normaliser, les nettoyer, les contextualiser, puis de les charger de la façon adéquate. Nous verrons par la suite ce que chaque mot veut dire. Il est important de savoir que la réalisation de l'ETL constitue 70% d'un projet décisionnel en moyenne. Et ce n'est pas pour rien, ce système est complexe et ne doit rien laisser s'échapper, sous peine d'avoir une mauvaise information dans l'entrepôt, donc des données fausses, donc inutilisables. ETL, les questions à se poser par Yazid Grim (Business Intelligen(ce)) - 4 - Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur. http://grim.developpez.com/articles/concepts/etl/ II - Définitions Avant de commencer, visualisez le schéma d'un entrepôt et sa façon de fonctionner (gérer l'historique, dimensions, faits, etc.). Le but du jeu est de faire rentrer toutes les données de l'entreprise dans ce modèle, les données doivent donc être : • Dé-normalisées : dans un DW (Data Warehouse), avoir des doublons n'est pas important, avoir un schéma en troisième forme normale est même déconseillé. Il faut que les données apparaissent là où elles doivent apparaître. • Nettoyées : dans un système de production, les utilisateurs entrent les données. Les risques d'erreurs sont là : entrer la rue au lieu du pays, écrire Canoda au lieu de Canada. Ces erreurs ont des répercutions directes sur les analyses (les commandes avec Canoda comme pays ne feront pas partie des commandes faites au Canada). Il faut pouvoir détecter et corriger ces erreurs. • Contextualisées : imaginez un système de production où les informations sur l'activité du personnel sont enregistrées, et un système de RH ou les informations personnelles, comptables des employés sont stockées. Un entrepôt de données possède une vision universelle, un employé est un employé, et il n'y aura qu'une seule dimension "Employé" avec toutes les informations le concernant. • Chargées en DW : c'est l'étape la plus complexe, il s'agit ici d'ajouter les nouvelles lignes, voir si des lignes ont été modifiées et faire une gestion d'historique, voir si des lignes ont été supprimées et le mentionner dans l'entrepôt, tout en faisant attention de ne pas charger des données en double. ETL, les questions à se poser par Yazid Grim (Business Intelligen(ce)) - 5 - Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur. http://grim.developpez.com/articles/concepts/etl/ III - Conception d'un ETL Si vous cherchez des méthodes de conceptions d'ETL, et bien il n'y en a pas. Chaque entreprise possède ses propres systèmes, sa propre logique de fonctionnement, sa propre culture. Un ETL va essayer de prendre toutes les données de l'entreprise et les mettre dans un DW. Dans ce chapitre, nous essayerons plutôt de voir les questions à se poser pour bien cerner les spécificités de notre ETL. III-A - Comment procéder ? Deux cas sont à prendre en compte, le chargement initial et les chargements incrémentiels. Le chargement initial est effectué au tout premier chargement de l'entrepôt et dans des cas spéciaux comme après la perte des données de l'entrepôt. Dans ce cas, on charge toutes les données de l'entreprise dans l'entrepôt. Le chargement incrémentiel est le fait d'ajouter des données à un entrepôt existant, c'est l'opération qui va se répéter dans le temps (chaque jour par exemple). Il faudra faire attention dans ce cas à ne charger que les informations nouvelles, et ne pas charger deux fois la même information. III-B - Comment sont mes sources ? Avant de faire un ETL, il faut bien étudier les sources de données. En effet, c'est d'après les sources que les stratégies de chargement vont se faire. Il est à noter que le rapatriement des données peut se faire de trois façons différentes : • Push : dans cette méthode, la logique de chargement est dans le système de production, il " pousse " les données vers le Staging quand il en a l'occasion. L'inconvénient est que si le système est occupé, il ne poussera jamais les données. • Pull : au contraire de la méthode précedente, le Pull " tire " les données de la source vers le Staging. L'inconvénient de cette méthode est qu'elle peut surcharger le système s'il est en cours d'utilisation. • Push-Pull : vous le devinez, c'est le mélange des deux méthodes. La source prépare les données à envoyer et prévient le Staging qu'elle est prête. Le Staging va récupérer les données. Si la source est occupée, le Staging fera une autre demande plus tard. Staging est le terme désignant l'endroit où se fait l'ETL. C'est une machine dédiée à ce travail dans la plupart des cas. Considérez le Staging comme une zone tampon entre les sources de données et l'entrepôt. Une fois la bonne stratégie choisie (en fonction de vos spécificités en entreprise), il est temps de se poser les questions fondamentales qui dessineront les caractéristiques de votre système : • Quelle est la disponibilité de mes sources de données ? • Comment y accéder ? • Comment faire des chargements incrémentiels ? • Quel est le temps d'un chargement incrémentiel moyen, ai-je la possibilité de recharger des données dans le cas où mon processus de chargement échoue ? • Quelle politique vais-je utiliser dans le cas d'échec de chargement ? Ces questionnements vous aideront à établir une stratégie de chargement des données sources dans le Staging. ETL, les questions à se poser par Yazid Grim (Business Intelligen(ce)) - 6 - Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur. http://grim.developpez.com/articles/concepts/etl/ III-C - Comment traiter les données ? Maintenant que les données sont dans le Staging, va falloir nettoyer tout ça ! C'est l'opération la plus importante (et la plus casse-tête) du processus. En effet, une erreur dans un champ affecte forcément les analyses (exemple de Canada et Canonda). Voici les questions à se poser à cette étape : • Quels sont les champs les plus sujets à erreurs ? • Ai-je les moyens de corriger les erreurs automatiquement ? • Comment permettre à un utilisateur de corriger les erreurs ? • Quelle politique vais-je utiliser pour le traitement des erreurs (fichier log, table dans BD) ? • Comment montrer à l'utilisateur final que des données n'ont pas été totalement chargées à cause d'erreurs ? III-D - Comment charger les données dans l'entrepôt ? La dernière mission de l'ETL, charger les données dans le DW. Le point critique dans cette étape est qu'il faut avoir, à tout moment, un contrôle total sur les processus. Exemple : pendant un projet de construction d'entrepôt, vous commencez à automatiser les chargements incrémentiels. Mais un jour, la machine plante au beau milieu du chargement, c'est-à-dire qu'une partie des données a été chargée et une autre non (c'est du vécu). Que faire ?? Et bien si vous n'aviez pas prévu cela, pauvre de vous ! Vous uploads/Industriel/etl.pdf

  • 28
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager