Brève introduction à Data Vault et à son automatisation avec WhereScap

March 30, 2026
August 30, 2021
5
min read

DataVault est désormais un terme bien connu dans les environnements liés aux données, mais très peu d'entre eux ont une idée de ce qu'il est réellement et de ses cas d'utilisation. Cet article vous présentera les principaux composants de DataVault et, plus important encore, vous donnera un aperçu des situations dans lesquelles DataVault est utile.

Qu'est-ce que Data Vault

Data Vault est une structure de données et, au-delà de cela, une méthodologie de gestion de projets de données. Dans cet article, nous ne traiterons pas les aspects méthodologiques et nous nous concentrerons sur les caractéristiques de la structure des données. Pour plus d'informations, je recommande le livre « Construire un entrepôt évolutif avec DataValut 2.0 » de D. Linstedt et M. Olschimke.

Pour comprendre pourquoi une structure telle que Data Vault a été inventée, partons des principes à partir desquels elle a été construite.

· Flexibilité : Les processus métier évoluent au fil du temps et les modèles de données doivent être suffisamment flexibles pour intégrer rapidement de nouvelles données. Cela est d'autant plus vrai à l'ère du développement agile, où les entreprises s'attendent à ce que de nouvelles implémentations soient effectuées dans quelques semaines.

Dans DataVault, les données sont stockées dans leur forme brute autant que possible, sans aucune correction pour les adapter à un modèle de données prédéfini. Par conséquent, les règles métier visant à nettoyer les données et à les rendre conformes à la structure appropriée sont appliquées le plus tard possible dans le flux de traitement des données, de sorte que la plupart des règles sont virtualisées, c'est-à-dire appliquées à la volée sans qu'il soit nécessaire de stocker les résultats en mémoire. Cela permet une structure très flexible qui peut facilement s'adapter aux changements et aux évolutions de l'activité sous-jacente et donc de la structure des données.

· Auditabilité : Les données et leur utilisation sont de plus en plus réglementées. C'est pourquoi l'auditabilité est très importante. DataVault a été conçu dans un souci d'auditabilité. Le stockage des données au format brut permet de toujours revenir aux données d'origine. En outre, DataVault nécessite l'ajout de divers champs d'audit aux données, et ces champs permettent de savoir quand les données ont été chargées et à partir de quels systèmes.

· Performances : Face à l'augmentation constante des volumes de données à gérer et à la demande constante d'analyses rapides, la performance est essentielle. DataVault inclut une gamme de techniques visant à améliorer les performances de l'entrepôt de données, notamment une utilisation intensive du hachage. Cela devient également nécessaire car la flexibilité offerte par Data Vault s'accompagne de nombreuses jointures.

Architecture Data Vault

Avant d'entrer dans les détails, parlons de l'architecture d'un entrepôt DataVault : il est composé de 3 couches.

· Charge et étape : La couche de chargement et de transfert ne contient pas de données historisées. Il s'agit d'une étape au cours de laquelle seules les nouvelles données sont chargées ou une copie complète de l'état actuel des sources d'entrée.

· Couche centrale : La couche centrale contient les faits et les dimensions qui sont historisés. Dans le cas de DataVault, les données sont stockées autant que possible sous forme brute dans la couche centrale, ce qui est important pour l'auditabilité.

· Couche de présentation : Cette dernière couche est une couche virtualisée exposant des vues de la couche centrale sous-jacente. Dans DataVault, la couche centrale n'est pas censée être directement exposée aux utilisateurs finaux.

Dans les modèles Kimball's Star plus traditionnels, seules les 2 premières couches sont utilisées. Dans de tels modèles, la couche centrale est directement exposée aux utilisateurs finaux et sert donc de couche de présentation.

L'une des principales différences entre les modèles DataVault et les modèles en étoile est que dans un modèle Kimball, les règles métier sont déjà implémentées dans la couche intermédiaire, tandis que dans un modèle DataVault, les données sont stockées autant que possible sous leur forme brute, et les règles métier sont virtualisées et transmises à la couche de présentation finale.

Hachage

Introduisons également le hachage, qui est largement utilisé dans DataVault. Le hachage est la transformation d'une chaîne de caractères en une chaîne de caractères unique de longueur fixe qui représente la chaîne d'origine.

Par exemple, une clé commerciale significative, le nom d'un restaurant ou l'identifiant d'un employé, peut être transformée en une liste unique aléatoire de caractères utilisée pour indexer les tableaux.

Le hachage est utilisé dans les bases de données pour indexer et récupérer des éléments d'une base de données, car il est plus rapide de trouver l'élément à l'aide de la clé hachée plus courte et standardisée que de le trouver à l'aide de la valeur d'origine.

Principales entités d'un modèle DataVault

Dans cette section, nous décrivons les composants du cœur d'un modèle DataVault. Pour simplifier la compréhension, nous utiliserons l'exemple d'une entreprise de restauration qui gère plusieurs restaurants.

Le cœur d'un modèle DataVault est composé de 3 entités :

· Hubs: Un hub est une liste unique de clés primaires qui représentent des objets métier.

Par exemple, un hub pourrait représenter des restaurants, un autre des plats et un troisième des employés.

Un hub ne contient que les clés métier et les informations d'audit et aucune autre propriété de l'objet métier correspondant. Vous pouvez donc imaginer un hub sous la forme d'une liste d'identifiants de restaurants ou d'employés avec des informations jointes sur la date à laquelle chaque clé est apparue pour la première fois dans l'entrepôt de données et à partir de quel système source. DataVault recommande également d'ajouter un champ « Date de dernière consultation » qui pourrait être utile à des fins d'audit.

Enfin, une clé de hachage est générée pour chaque clé métier à des fins de standardisation et de performance, tout comme les clés de substitution entières dans un modèle de Kimball.

Un hub pour les restaurants ressemblerait au tableau suivant

· LIENS: les liens représentent les relations entre deux hubs ou plus. Par exemple, un lien peut représenter un contrat de travail entre un restaurant et ses employés ou il peut représenter un élément d'un menu, à savoir le fait qu'un plat particulier est servi dans un restaurant spécifique.

Le lien contient donc la clé primaire de tous les hubs qu'il connecte, ainsi que les informations d'audit et la clé de hachage de la combinaison de clés du hub.

Les liens sont au cœur de la flexibilité qu'offre DataVault, car il est facile d'ajouter de nouveaux liens entre des hubs existants, créant ainsi de nouvelles façons d'examiner et de combiner les données sans avoir à apporter de modifications radicales à l'entrepôt de données existant.

Un tableau de liens représentant les contrats, à savoir les liens entre les employés et les restaurants, ressemblerait au tableau suivant

· Satellites : Les satellites sont les entités qui contiennent les propriétés qui décrivent les différentes clés présentes dans les hubs et les liens. Par exemple, un satellite du hub « employés » pourrait stocker l'adresse de l'employé et son numéro de sécurité sociale. Les satellites peuvent également être attachés à des liens, on peut par exemple imaginer un satellite du lien du contrat de travail qui contient les conditions d'un contrat de travail telles que le salaire et les heures de travail convenues.

Les satellites contiennent la clé de hachage des éléments qu'ils décrivent (il s'agit de la clé de hachage précédemment définie dans un hub ou un lien), les champs descriptifs et les informations d'audit.

Dans un modèle DataVault correctement construit, différents satellites doivent être créés pour chaque système source et pour différents taux de changement et niveaux de sécurité. Par exemple, un satellite distinct devrait être créé pour enregistrer l'emplacement d'un restaurant, qui ne change pas très souvent, et le nombre de places assises qui peut changer en fonction de la météo. De même, un satellite distinct devrait être créé pour les informations personnelles nécessitant une sécurité particulière et pour les informations relatives aux horaires de travail qui sont moins sensibles.

Par exemple, un satellite contenant des informations sur les restaurants ressemblerait à ce qui suit

Dans ce cas, la structure définie jusqu'ici correspondrait à la suivante :

Dans le diagramme, chaque ligne représente une jointure possible effectuée sur les clés de hachage qui sont également des clés primaires de chaque table. Bien entendu, il pourrait également y avoir des satellites liés aux contrats et aux employés.

En outre, il pourrait y avoir plusieurs satellites pour chacune des entités contenant des informations relatives à une partie ou à la totalité des clés. Par exemple, les contrats italiens et français peuvent être très différents et contenir donc des colonnes différentes, les heures travaillées dans un cas et les jours travaillés dans l'autre, différentes formes d'avantages, comme le 13e salaire par rapport aux primes, etc. Ces informations peuvent être stockées dans 2 satellites distincts adaptés aux cas spécifiques, puis associées uniquement aux clés concernées. D'autres raisons d'utiliser des satellites distincts seraient pour stocker des informations transitoires qui doivent être régulièrement supprimées par la loi et des données plus permanentes.

Automatisation du coffre-fort de données : WhereScape

DataVault stocke les données sous leur forme brute et la modélisation peut être décrite par un ensemble de règles claires. Ces propriétés font de DataVault un candidat idéal pour l'automatisation. Plusieurs outils disponibles sur le marché permettent de créer un modèle logique, puis de générer le code SQL nécessaire à la création et à la maintenance d'un entrepôt de données DataVault. L'outil que nous avons choisi chez Argusa est Où se trouve Scape.

WhereScape vous permet de définir la conception logique d'un modèle DataVault, à savoir les clés primaires, la manière dont les clés sont liées et les champs qui doivent être affectés à quels satellites. Pour vous donner un exemple, imaginons un modèle simple de 2 tables, représentant les restaurants et les employés décrits précédemment. Nous avons chargé ces tables dans WhereScape. Comme on peut le voir sur l'image, WhereScape a détecté automatiquement la structure des données : noms des colonnes et types de données. Il vous permet également de déduire les clés primaires (touche jaune sur l'image) et les relations entre les tables (touches bleues sur l'image).

Enfin et surtout, pour créer un design DataVault, WhereScape permet de signaler les champs en tant que clés primaires ou en tant que satellites différents.

Un ensemble prédéfini ou des types d'attributs sont donnés aux produits (Fig.2) et d'autres peuvent être ajoutés à volonté.

L'exemple suivant montre la conception DataVault dans laquelle les champs sont marqués.

Plus particulièrement :

· Les clés primaires sont bleues et seront transformées en hubs

· Les clés étrangères sont également bleues et seront utilisées pour la construction de liens

· Deux types de satellites différents sont requis, pour des attributs qui changent rapidement et lentement (ou dans le lexique DataVault : volatilité élevée et faible volatilité)

Bien que ces attributs puissent être signalés manuellement, WhereScape fournit un outil permettant de signaler automatiquement les champs en fonction de règles de dénomination et de profilage.

Une fois les champs marqués, le programme propose un bouton pratique en un clic qui convertit la conception logique en un véritable modèle DataVault.

Dans l'image suivante, vous pouvez voir le résultat. WhereScape a créé 2 hubs (tableaux bleus), 1 lien (tableau rouge) et 3 satellites (tableaux jaunes). Les conventions de dénomination sont respectées partout et des champs d'audit et des clés de hachage ont été automatiquement ajoutés.

Une fois le modèle logique DataVault défini, WhereScape crée le code SQL requis pour exécuter l'entrepôt de données et permet de planifier les tâches pour le charger. Dans cet exemple, il ne nous a fallu que quelques minutes pour convertir le modèle logique en code et charger la base de données. Vous pouvez voir certains des résultats ci-dessous, où les tables sont automatiquement créées avec les clés de hachage et les champs d'audit requis.

Employé du Hub

Les restaurants du Hub

Tableau des liens

Satellite du restaurant

Notre exemple DataVault est maintenant prêt à être livré à ses utilisateurs. En outre, WhereScape peut créer, en un seul clic, une documentation complète du modèle de données sous forme de PDF ou de site Web.

Si vous souhaitez essayer WhereScape ou si vous avez besoin d'un coaching sur la mise en œuvre d'un entrepôt de données, veuillez contacter info@argusa.ch.

Archives
Archives
Archives

DataVault est désormais un terme bien connu dans les environnements liés aux données, mais très peu d'entre eux ont une idée de ce qu'il est réellement et de ses cas d'utilisation. Cet article vous présentera les principaux composants de DataVault et, plus important encore, vous donnera un aperçu des situations dans lesquelles DataVault est utile.

Qu'est-ce que Data Vault

Data Vault est une structure de données et, au-delà de cela, une méthodologie de gestion de projets de données. Dans cet article, nous ne traiterons pas les aspects méthodologiques et nous nous concentrerons sur les caractéristiques de la structure des données. Pour plus d'informations, je recommande le livre « Construire un entrepôt évolutif avec DataValut 2.0 » de D. Linstedt et M. Olschimke.

Pour comprendre pourquoi une structure telle que Data Vault a été inventée, partons des principes à partir desquels elle a été construite.

· Flexibilité : Les processus métier évoluent au fil du temps et les modèles de données doivent être suffisamment flexibles pour intégrer rapidement de nouvelles données. Cela est d'autant plus vrai à l'ère du développement agile, où les entreprises s'attendent à ce que de nouvelles implémentations soient effectuées dans quelques semaines.

Dans DataVault, les données sont stockées dans leur forme brute autant que possible, sans aucune correction pour les adapter à un modèle de données prédéfini. Par conséquent, les règles métier visant à nettoyer les données et à les rendre conformes à la structure appropriée sont appliquées le plus tard possible dans le flux de traitement des données, de sorte que la plupart des règles sont virtualisées, c'est-à-dire appliquées à la volée sans qu'il soit nécessaire de stocker les résultats en mémoire. Cela permet une structure très flexible qui peut facilement s'adapter aux changements et aux évolutions de l'activité sous-jacente et donc de la structure des données.

· Auditabilité : Les données et leur utilisation sont de plus en plus réglementées. C'est pourquoi l'auditabilité est très importante. DataVault a été conçu dans un souci d'auditabilité. Le stockage des données au format brut permet de toujours revenir aux données d'origine. En outre, DataVault nécessite l'ajout de divers champs d'audit aux données, et ces champs permettent de savoir quand les données ont été chargées et à partir de quels systèmes.

· Performances : Face à l'augmentation constante des volumes de données à gérer et à la demande constante d'analyses rapides, la performance est essentielle. DataVault inclut une gamme de techniques visant à améliorer les performances de l'entrepôt de données, notamment une utilisation intensive du hachage. Cela devient également nécessaire car la flexibilité offerte par Data Vault s'accompagne de nombreuses jointures.

Architecture Data Vault

Avant d'entrer dans les détails, parlons de l'architecture d'un entrepôt DataVault : il est composé de 3 couches.

· Charge et étape : La couche de chargement et de transfert ne contient pas de données historisées. Il s'agit d'une étape au cours de laquelle seules les nouvelles données sont chargées ou une copie complète de l'état actuel des sources d'entrée.

· Couche centrale : La couche centrale contient les faits et les dimensions qui sont historisés. Dans le cas de DataVault, les données sont stockées autant que possible sous forme brute dans la couche centrale, ce qui est important pour l'auditabilité.

· Couche de présentation : Cette dernière couche est une couche virtualisée exposant des vues de la couche centrale sous-jacente. Dans DataVault, la couche centrale n'est pas censée être directement exposée aux utilisateurs finaux.

Dans les modèles Kimball's Star plus traditionnels, seules les 2 premières couches sont utilisées. Dans de tels modèles, la couche centrale est directement exposée aux utilisateurs finaux et sert donc de couche de présentation.

L'une des principales différences entre les modèles DataVault et les modèles en étoile est que dans un modèle Kimball, les règles métier sont déjà implémentées dans la couche intermédiaire, tandis que dans un modèle DataVault, les données sont stockées autant que possible sous leur forme brute, et les règles métier sont virtualisées et transmises à la couche de présentation finale.

Hachage

Introduisons également le hachage, qui est largement utilisé dans DataVault. Le hachage est la transformation d'une chaîne de caractères en une chaîne de caractères unique de longueur fixe qui représente la chaîne d'origine.

Par exemple, une clé commerciale significative, le nom d'un restaurant ou l'identifiant d'un employé, peut être transformée en une liste unique aléatoire de caractères utilisée pour indexer les tableaux.

Le hachage est utilisé dans les bases de données pour indexer et récupérer des éléments d'une base de données, car il est plus rapide de trouver l'élément à l'aide de la clé hachée plus courte et standardisée que de le trouver à l'aide de la valeur d'origine.

Principales entités d'un modèle DataVault

Dans cette section, nous décrivons les composants du cœur d'un modèle DataVault. Pour simplifier la compréhension, nous utiliserons l'exemple d'une entreprise de restauration qui gère plusieurs restaurants.

Le cœur d'un modèle DataVault est composé de 3 entités :

· Hubs: Un hub est une liste unique de clés primaires qui représentent des objets métier.

Par exemple, un hub pourrait représenter des restaurants, un autre des plats et un troisième des employés.

Un hub ne contient que les clés métier et les informations d'audit et aucune autre propriété de l'objet métier correspondant. Vous pouvez donc imaginer un hub sous la forme d'une liste d'identifiants de restaurants ou d'employés avec des informations jointes sur la date à laquelle chaque clé est apparue pour la première fois dans l'entrepôt de données et à partir de quel système source. DataVault recommande également d'ajouter un champ « Date de dernière consultation » qui pourrait être utile à des fins d'audit.

Enfin, une clé de hachage est générée pour chaque clé métier à des fins de standardisation et de performance, tout comme les clés de substitution entières dans un modèle de Kimball.

Un hub pour les restaurants ressemblerait au tableau suivant

· LIENS: les liens représentent les relations entre deux hubs ou plus. Par exemple, un lien peut représenter un contrat de travail entre un restaurant et ses employés ou il peut représenter un élément d'un menu, à savoir le fait qu'un plat particulier est servi dans un restaurant spécifique.

Le lien contient donc la clé primaire de tous les hubs qu'il connecte, ainsi que les informations d'audit et la clé de hachage de la combinaison de clés du hub.

Les liens sont au cœur de la flexibilité qu'offre DataVault, car il est facile d'ajouter de nouveaux liens entre des hubs existants, créant ainsi de nouvelles façons d'examiner et de combiner les données sans avoir à apporter de modifications radicales à l'entrepôt de données existant.

Un tableau de liens représentant les contrats, à savoir les liens entre les employés et les restaurants, ressemblerait au tableau suivant

· Satellites : Les satellites sont les entités qui contiennent les propriétés qui décrivent les différentes clés présentes dans les hubs et les liens. Par exemple, un satellite du hub « employés » pourrait stocker l'adresse de l'employé et son numéro de sécurité sociale. Les satellites peuvent également être attachés à des liens, on peut par exemple imaginer un satellite du lien du contrat de travail qui contient les conditions d'un contrat de travail telles que le salaire et les heures de travail convenues.

Les satellites contiennent la clé de hachage des éléments qu'ils décrivent (il s'agit de la clé de hachage précédemment définie dans un hub ou un lien), les champs descriptifs et les informations d'audit.

Dans un modèle DataVault correctement construit, différents satellites doivent être créés pour chaque système source et pour différents taux de changement et niveaux de sécurité. Par exemple, un satellite distinct devrait être créé pour enregistrer l'emplacement d'un restaurant, qui ne change pas très souvent, et le nombre de places assises qui peut changer en fonction de la météo. De même, un satellite distinct devrait être créé pour les informations personnelles nécessitant une sécurité particulière et pour les informations relatives aux horaires de travail qui sont moins sensibles.

Par exemple, un satellite contenant des informations sur les restaurants ressemblerait à ce qui suit

Dans ce cas, la structure définie jusqu'ici correspondrait à la suivante :

Dans le diagramme, chaque ligne représente une jointure possible effectuée sur les clés de hachage qui sont également des clés primaires de chaque table. Bien entendu, il pourrait également y avoir des satellites liés aux contrats et aux employés.

En outre, il pourrait y avoir plusieurs satellites pour chacune des entités contenant des informations relatives à une partie ou à la totalité des clés. Par exemple, les contrats italiens et français peuvent être très différents et contenir donc des colonnes différentes, les heures travaillées dans un cas et les jours travaillés dans l'autre, différentes formes d'avantages, comme le 13e salaire par rapport aux primes, etc. Ces informations peuvent être stockées dans 2 satellites distincts adaptés aux cas spécifiques, puis associées uniquement aux clés concernées. D'autres raisons d'utiliser des satellites distincts seraient pour stocker des informations transitoires qui doivent être régulièrement supprimées par la loi et des données plus permanentes.

Automatisation du coffre-fort de données : WhereScape

DataVault stocke les données sous leur forme brute et la modélisation peut être décrite par un ensemble de règles claires. Ces propriétés font de DataVault un candidat idéal pour l'automatisation. Plusieurs outils disponibles sur le marché permettent de créer un modèle logique, puis de générer le code SQL nécessaire à la création et à la maintenance d'un entrepôt de données DataVault. L'outil que nous avons choisi chez Argusa est Où se trouve Scape.

WhereScape vous permet de définir la conception logique d'un modèle DataVault, à savoir les clés primaires, la manière dont les clés sont liées et les champs qui doivent être affectés à quels satellites. Pour vous donner un exemple, imaginons un modèle simple de 2 tables, représentant les restaurants et les employés décrits précédemment. Nous avons chargé ces tables dans WhereScape. Comme on peut le voir sur l'image, WhereScape a détecté automatiquement la structure des données : noms des colonnes et types de données. Il vous permet également de déduire les clés primaires (touche jaune sur l'image) et les relations entre les tables (touches bleues sur l'image).

Enfin et surtout, pour créer un design DataVault, WhereScape permet de signaler les champs en tant que clés primaires ou en tant que satellites différents.

Un ensemble prédéfini ou des types d'attributs sont donnés aux produits (Fig.2) et d'autres peuvent être ajoutés à volonté.

L'exemple suivant montre la conception DataVault dans laquelle les champs sont marqués.

Plus particulièrement :

· Les clés primaires sont bleues et seront transformées en hubs

· Les clés étrangères sont également bleues et seront utilisées pour la construction de liens

· Deux types de satellites différents sont requis, pour des attributs qui changent rapidement et lentement (ou dans le lexique DataVault : volatilité élevée et faible volatilité)

Bien que ces attributs puissent être signalés manuellement, WhereScape fournit un outil permettant de signaler automatiquement les champs en fonction de règles de dénomination et de profilage.

Une fois les champs marqués, le programme propose un bouton pratique en un clic qui convertit la conception logique en un véritable modèle DataVault.

Dans l'image suivante, vous pouvez voir le résultat. WhereScape a créé 2 hubs (tableaux bleus), 1 lien (tableau rouge) et 3 satellites (tableaux jaunes). Les conventions de dénomination sont respectées partout et des champs d'audit et des clés de hachage ont été automatiquement ajoutés.

Une fois le modèle logique DataVault défini, WhereScape crée le code SQL requis pour exécuter l'entrepôt de données et permet de planifier les tâches pour le charger. Dans cet exemple, il ne nous a fallu que quelques minutes pour convertir le modèle logique en code et charger la base de données. Vous pouvez voir certains des résultats ci-dessous, où les tables sont automatiquement créées avec les clés de hachage et les champs d'audit requis.

Employé du Hub

Les restaurants du Hub

Tableau des liens

Satellite du restaurant

Notre exemple DataVault est maintenant prêt à être livré à ses utilisateurs. En outre, WhereScape peut créer, en un seul clic, une documentation complète du modèle de données sous forme de PDF ou de site Web.

Si vous souhaitez essayer WhereScape ou si vous avez besoin d'un coaching sur la mise en œuvre d'un entrepôt de données, veuillez contacter info@argusa.ch.

By clicking “Accept All Cookies”, you agree to the storing of cookies on your device to enhance site navigation, analyze site usage, and assist in our marketing efforts. View our Privacy Policy for more information.