lundi 17 février 2014

Conseil 59: Le profilage de données (ou data profiling)

Le profilage de données est une petite partie de l'entrepôt de données. Je suppose que la plupart d'entre nous pensent que c'est une tâche qui se fait après que les traitements ETL aient été construit. De ce point de vue, le profilage des données correspond à la recherche des petites anomalies présentes dans les données et qui pourraient être corrigées avant la production réelle de celles-ci. Trouver ces anomalies aiderait l'équipe décisionnelle à anticiper quelques surprises en production.

Durant l'année passée, j'ai longuement réfléchit aux processus ETL d'administration nécessaires pour construire un entrepôt de données. Peut être la plus grande révélation de ce travail fut de découvrir combien le profilage des données est sous estimé dans la majorité des projets décisionnels.

Qu'est ce que le profilage de données?


Le profilage des données est l'analyse systématique du contenu d'une source de données, toutes les étapes du comptage des octets, de la vérification des cardinalités, au diagnostic le plus réfléchi pour savoir si les données peuvent répondre aux objectifs de haut niveau de l'entrepôt de données.

Les responsables du profilage des données réalisent cette analyse via une série de tests, commençant par chaque champ et se terminant avec des suites entières de tables réparties dans des bases de données étendues. Les différents champs sont vérifiés pour voir si leur contenu correspond à leur définition initiale et aux spécifications du métier. Il est particulièrement intéressant de voir combien de lignes ont des valeurs nulles, ou un contenu qui ne répond pas à sa définition.

Par exemple, pour le champ "Numéro de téléphone" des valeurs alphanumériques représentent clairement un problème. Les meilleurs outils de profilage de données comptent, tris, et affichent les valeurs qui violent la définition initiale ou la spécification.

Le profilage des données analyse ensuite les relations découvertes entre les champs d'une même table. Ceux qui définissent la clé primaire peuvent être contrôlés, ainsi que les relations 1-à plusieurs utilisées dans les hiérarchies. Vérifier quel devrait être la clé d'une table est particulièrement utile parce que les violations de clés (valeurs dupliquées dans un champ clé) sont des erreurs graves, et reflètent une règle de gestion qui n'a pas été incorporée lors de la conception ETL.

Les relations entre les tables sont aussi vérifiées en contrôlant les liens entre les clés primaires et les clés étrangères pour détecter les clés étrangères orphelines.

Enfin, le profilage des données peut être programmé sur mesure pour vérifier les règles métiers complexes propres à une entreprise, comme, par exemple, la validation de toutes les conditions préalables à l'approbation d'un financement.

J'espère que durant la description faite ci-dessus, vous avez compris que le profilage des données intervient vraiment au tout début d'un projet, là où il pourrait avoir un effet important sur ​​la conception et le planning. En fait, j'en suis venu à la conclusion que le profilage des données devrait être l'étape obligatoire qui suit immédiatement la collecte des besoins dans chaque projet d'entrepôt de données. Voici les résultats du profilage des données que j'ai obtenu au cours d'un récent projet:

  • Une décision simple du style "Go / No go" sur l'ensemble du projet. Le profilage des données peut révéler que les données dont dépend le projet ne contiennent pas l'information nécessaire pour prendre les décisions espérées. Bien que cela soit décourageant, c'est un résultat très précieux.
  • Les problèmes de qualité des données qui viennent de la source de données doivent être corrigés avant que le projet puisse commencer. Bien que cela soit moins dramatique que l'annulation du projet, le succès de l'entrepôt de données dépend énormément de ces corrections.
  • Les problèmes de qualité des données qui peuvent être corrigées dans l'ETL après que les données aient été extraites de la source de données. Comprendre ces erreurs influence la conception de la logique de transformation des processus ETL et les mécanismes de gestion des exceptions. Ces problèmes impactent également le temps nécessaire pour résoudre ces problèmes manuellement chaque jour.
  • Les règles métier non anticipées, les structures hiérarchiques, les relations entre clés primaires et clés étrangères.

Comprendre les données à un niveau détaillé soulève des questions qui enrichissent la conception des processus ETL. Enfin un grand avantage du profilage des données - qui devrait peut-être être rester implicite - est que cela permet à l'équipe décisionnelle de donner l'impression de savoir ce qu'ils font. En anticipant correctement les problèmes de qualité de données d'un projet, l'équipe évite les surprises embarrassantes liées à la découverte de gros problèmes en fin d'un projet.

Source originale: www.kimballgroup.com
Article original "Kimball Design Tip #59: Surprising value of data profiling", publié le 14 septembre 2004.

Aucun commentaire:

Enregistrer un commentaire