Data Vault – Un aperçu

Photo de Markus Spiske sur Unsplash

Data Vault est une méthodologie innovante de modélisation des données pour les plateformes d’entrepôt de données à grande échelle. Inventé par Dan Linstedt, Data Vault est conçu pour fournir un entrepôt de données d’entreprise tout en remédiant aux inconvénients des techniques de modélisation normalisée (3e forme normale) et dimensionnelle. Il combine le dépôt centralisé de données brutes de l’approche Inmon avec les avantages de la construction incrémentale de Kimball.

Cet article résume les inconvénients de l’approche 3NF et de la conception dimensionnelle et énumère les avantages et les inconvénients de l’approche Data Vault. Enfin, il comprend des liens vers des lectures de fond utiles et vise à répondre à la question suivante :

Dois-je utiliser Data Vault sur mon projet d’entrepôt de données ?

Quel problème Data Vault essaie-t-il de résoudre ?

Avant de résumer les défis que Data Vault essaie de relever, il est utile de considérer l’approche alternative de modélisation des données et les architectures de données correspondantes. Le diagramme ci-dessous montre une architecture de données d’entreprise potentielle.

Enterprise Data Warehouse

Enterprise Data Warehouse

Avec l’approche EDW, les données sont chargées dans une zone d’atterrissage transitoire, après quoi une série de processus ETL sont utilisés pour charger les données dans un entrepôt de données d’entreprise de 3ème forme normale. Les données sont ensuite extraites dans des marts de données dimensionnels pour l’analyse et le reporting.

Les inconvénients les plus importants de cette approche comprennent :

  1. Time to Market : L’entrepôt de données d’entreprise doit d’abord intégrer les données de chacun des systèmes sources dans un référentiel de données central avant d’être disponible pour le reporting, ce qui ajoute du temps et des efforts au projet.
  2. Complexité et compétence : Un entrepôt de données peut avoir besoin d’intégrer des données provenant d’une centaine de sources, et la conception d’un modèle de données à l’échelle de l’entreprise pour soutenir un environnement commercial complexe est un défi important qui nécessite des experts en modélisation de données hautement qualifiés.
  3. Manque de flexibilité : Un modèle de troisième forme normale tend à modéliser les relations de données existantes, ce qui peut produire une solution relativement inflexible qui nécessite un remaniement important lorsque des sources supplémentaires sont ajoutées. Pire encore, les experts en modélisation de données trop zélés tentent souvent de surmonter ce problème en fournissant des modèles génériques trop complexes qui sont presque impossibles à comprendre.

Approche de conception dimensionnelle

Le diagramme ci-dessous illustre une architecture de données potentielle pour une conception classique d’entrepôt de données dimensionnel.

Dimensional Design

L’approche ci-dessus se passe de l’EDW pour fournir rapidement des résultats aux utilisateurs finaux. J’ai utilisé cette technique en 2008 dans une banque d’investissement de niveau 1 basée à Londres pour fournir des évaluations du risque de crédit aux utilisateurs professionnels quelques semaines après le début du projet. Si nous avions attendu de construire un entrepôt de données traditionnel, nous aurions fait faillite avant d’avoir livré quoi que ce soit d’utile.

Au départ, les utilisateurs métier étaient ravis de la rapidité de livraison ; cependant, au fil du temps, nous avons rencontré de nombreux défis qui sont devenus de plus en plus pénibles à gérer. Il s’agissait notamment de :

1. La complexité croissante du code : Le code ETL (Extract, Transform, and Load) devenait si compliqué qu’il n’était plus gérable. Le remplacement de l’outil ETL (Informatica) par des scripts Oracle a aidé, (car nous avons simplifié la solution au fur et à mesure), mais ce n’était pas la racine du problème. Nous essayions de restructurer les données entrantes, de les dédupliquer, de les nettoyer et de les conformer, et d’appliquer des règles commerciales changeantes au fil du temps. Réaliser toutes ces étapes dans une seule base de code était en effet très difficile.

2. Manque de données brutes : Comme la zone d’atterrissage était purement transitoire (supprimée et rechargée à chaque fois), nous n’avions aucun enregistrement historique des données brutes. Il était donc difficile pour les analystes de découvrir de nouvelles relations précieuses entre les données, et l’importance croissante de la science des données, qui a (avant tout) besoin de données brutes, était tout simplement ignorée.

3. Gestion de l’historique : Comme nous n’avions pas d’historique des données brutes et que nous ne chargions que les attributs nécessaires à l’analyse, il est devenu difficile de rétropoler des flux de données supplémentaires.

4. Le lignage était un défi : Comme la logique technique et commerciale était mise en œuvre dans des couches sédimentaires toujours plus importantes de code source, il était presque impossible de suivre le lignage d’un élément de données depuis le rapport jusqu’au système source.

L’entreprise a aimé la vitesse initiale de livraison. Cependantl, au fur et à mesure que le temps passait, il devenait de plus en plus difficile de maintenir le rythme car la solution devenait de plus en plus complexe et les règles métier changeaient au fil du temps.

Architecture Data Vault

Le diagramme ci-dessous montre une architecture de données potentielle utilisée par la méthodologie Data Vault.

Architecture Data Vault

A première vue, elle ressemble beaucoup à l’architecture de l’entrepôt de données d’entreprise ci-dessus, mais elle présente quelques différences et similitudes importantes, notamment :

  • Chargement des données : Lorsque les données sont chargées de la zone d’atterrissage dans la chambre forte de données brutes, le processus consiste purement à restructurer le format (plutôt que le contenu) des données. Les données sources ne sont ni nettoyées ni modifiées, et pourraient être entièrement reconstruites sans problème.
  • Séparation des responsabilités : La chambre forte brute détient les données brutes non modifiées, et le seul traitement est entièrement technique, pour restructurer physiquement les données. Les règles métier fournissent des tables et des lignes supplémentaires pour étendre la chambre forte brute avec une chambre forte métier. Cela signifie que les règles métier sont à la fois dérivées des données brutes et stockées séparément de celles-ci. Cette séparation des responsabilités facilite la gestion des modifications des règles métier au fil du temps et réduit la complexité globale du système.
  • Règles métier : Les résultats des règles métier, y compris la déduplication, les résultats conformes et même les calculs, sont stockés de manière centralisée dans le Business Vault. Cela permet d’éviter les calculs en double et les incohérences potentielles lorsque les résultats sont calculés pour deux ou plusieurs data marts.
  • Data Marts : Contrairement à la méthode Kimball dans laquelle les résultats calculés sont stockés dans les tables Fact et Dimension dans les Data Marts, en utilisant l’approche Data Vault, les Data Marts sont souvent éphémères, et sont peuvent être implémentés comme des vues directement sur le Business et le Raw Vault. Cela signifie qu’ils sont à la fois plus faciles à modifier au fil du temps et évite le risque de résultats incohérents. Si les vues ne fournissent pas le niveau de performance nécessaire, alors l’option existe pour stocker les résultats dans une table.

Les avantages de Data Vault

Data Vault aborde les difficultés inhérentes à la fois à l’entrepôt de données d’entreprise de 3e forme normale et à l’approche de conception dimensionnelle en combinant les meilleurs aspects des deux dans une seule approche hybride. Les avantages comprennent :

1. Livraison incrémentale : Bien qu’il soit judicieux de construire tout entrepôt de données dans le contexte d’un modèle d’entreprise global, Data Vault prend en charge une livraison entièrement incrémentielle. Tout comme l’approche de conception dimensionnelle de Kimball, vous pouvez commencer petit et ajouter des sources supplémentaires de manière incrémentielle au fil du temps.

2. Flexibilité : Contrairement à l’approche de modélisation de la 3e forme normale, qui peut être inflexible, Data Vault ne nécessite aucun remaniement lors de l’ajout de sources supplémentaires. Comme Data Vault stocke séparément les données brutes et les données dérivées de l’entreprise, il prend en charge les modifications des règles de gestion avec facilité.

3. Complexité réduite : Comme Data Vault est construit selon une approche en deux étapes, il sépare la restructuration technique des données de l’application des règles métier, ce qui permet d’isoler ces étapes potentiellement complexes. De même, le nettoyage des données est considéré comme une règle métier et peut être géré indépendamment de l’effort initial de chargement des données.

4. Données brutes incluses : L’enregistrement des données brutes dans Data Vault signifie qu’il est possible de repeupler la zone de présentation avec des attributs historiques qui n’ont pas été mis à disposition initialement. Si les Data Marts sont implémentés en tant que vues, cela peut être aussi simple que d’ajouter une colonne supplémentaire à une vue existante.

5. Supporte élégamment le changement dans le temps : Similaire à la dimension qui évolue lentement dans l’approche Kimball, Data Vault supporte élégamment les changements dans le temps. Cependant, contrairement à la conception dimensionnelle pure, Data Vault sépare les données brutes et les données dérivées de l’entreprise et prend en charge les changements résultant à la fois du système source et des règles métier.

6. Lignage et audit : Comme Data Vault inclut des métadonnées identifiant les systèmes sources, il facilite la prise en charge du lignage des données. Contrairement à l’approche de la conception dimensionnelle dans laquelle les données sont nettoyées avant le chargement, les modifications de Data Vault sont toujours incrémentales et les résultats ne sont jamais perdus, ce qui fournit une piste d’audit automatique.

7. Chargements parallèles haute performance : Avec l’introduction des clés de hachage dans Data Vault 2.0, les dépendances de chargement de données sont éliminées, ce qui signifie que le chargement de données en quasi temps réel est possible en plus des chargements parallèles de téraoctets à pétaoctets de données.

8. Possible d’automatiser : Alors que la modélisation des relations entre entités et la conception dimensionnelle nécessitent du temps et de l’expérience pour acquérir des compétences, Data Vault a tendance à être plus facile à automatiser, et il existe plusieurs outils (énumérés ci-dessous) pour aider à fournir la solution.

Les inconvénients de Data Vault

Data Vault n’est pas la solution unique parfaite pour chaque entrepôt de données, et il a quelques inconvénients qui doivent être pris en compte. Il s’agit notamment de :

1. La courbe d’apprentissage : De la même manière précisément que la 3e forme normale, la modélisation des relations entre entités et la conception dimensionnelle sont des compétences spécifiques qui prennent du temps à maîtriser, il existe une courbe d’apprentissage avec Data Vault. Se lancer dans un projet de transformation d’un entrepôt de données comporte des risques importants, et l’ajout de Data Vault peut augmenter ces risques, surtout si l’équipe n’a pas l’expérience de Data Vault. Assurez-vous d’avoir des conseils et un soutien d’experts en plus de la formation des personnes clés.

2. Beaucoup de Joins : Une conception de Data Vault mal conçue produira un nombre massif de tables dérivées du système source, mais même une solution bien conçue multiplie le nombre de tables sources par un facteur de 2 ou 3. Le nombre de tables et, par conséquent, de jointures, peut sembler difficile à gérer et entraîner des conditions de jointure complexes. Cela peut toutefois être abordé avec l’utilisation correcte des tables de pont dans le Business Vault, et comme pour toute solution, c’est un compromis entre la complexité apparente et la flexibilité.

Où utiliser Data Vault ?

Data Vault nécessite une certaine rigueur pour fournir une bonne conception et s’en tenir aux principes de Data Vault 2.0. Comme l’entrepôt de données d’entreprise, il est conçu pour intégrer des données provenant de plusieurs sources de données et peut, par conséquent, être surdimensionné dans certaines situations.

En résumé, si vous avez un besoin d’analyse de petite à moyenne envergure, avec une petite (moins de 10) équipe d’architectes, de concepteurs et d’ingénieurs fournissant une solution avec des données provenant de quelques systèmes, alors Data Vault peut être inapproprié pour vos besoins.

Si, cependant, vous avez un grand projet avec 30 systèmes sources ou plus conduisant à un énorme défi d’intégration de données et que vous êtes prêt à assumer les compétences et la rigueur d’une nouvelle méthodologie, alors Data Vault peut potentiellement ajouter une valeur massive au projet.

Autres ressources et outils

Les ressources suivantes peuvent aider à évaluer et à comprendre la méthode Data Vault :

  • Kent Graziano (certifié Data Vault Master) a un résumé de Data Vault qui mérite d’être lu.
  • La Genesee Academy (formation) fournit une bonne introduction aux grands principes de Data Vault.
  • Le cabinet de conseil britannique Data Vault fournit un résumé informatif de la foire aux questions qui aborde un grand nombre de préoccupations immédiates.
  • Dan Linstedt a un nombre énorme d’articles approfondis sur les détails autour de Data Vault.
  • Building a Scalable Data Warehouse with Data Vault 2.0 – est le livre de référence de Dan Linstedt.
  • The Elephant in the Fridge – est une introduction accessible à Data Vault.

Bien que ceux-ci ne doivent en aucun cas être considérés comme une recommandation, voici une liste restreinte des outils qui peuvent aider à automatiser la livraison de Data Vault.

  • dbtvault
  • Wherescape
  • VaultSpeed
  • Data Vault Builder
  • Joyn – Un cadre d’automatisation open source léger

Conclusion

Alors que les projets d’entrepôts de données sur site sont déplacés vers le cloud, un nombre croissant d’entreprises repensent l’architecture de l’entrepôt de données. Le passage de multiples silos de données indépendants sur site à une solution moderne basée sur le cloud est une occasion unique d’intégrer les données de l’ensemble de l’entreprise dans un référentiel unique et cohérent.

Si c’est le défi auquel vous êtes confronté, alors Data Vault pourrait bien vous aider à fournir la solution.

Si vous avez trouvé cet article utile, vous serez peut-être intéressé par mon site de blog personnel (absolument aucune publicité), à l’adresse www.Analytics.Today.

Disclaimer : Les opinions exprimées dans mes articles sont les miennes et ne refléteront pas nécessairement celles de mon employeur (passé ou présent) ou même de tout client avec lequel j’ai travaillé.

Leave a Reply