Que sont les données hiérarchiques ?

Les données hiérarchiques sont une structure de données dans laquelle les éléments sont liés les uns aux autres par des relations parent-enfant dans une structure arborescente globale. Imaginez les données comme un arbre généalogique, avec des grands-parents, des parents, des enfants et des petits-enfants formant une hiérarchie de données connectées. Généralement, cette structure est utilisée pour présenter un organigramme, un projet avec des tâches ou une taxonomie de termes linguistiques.

Exemple de données hiérarchiques

Dans les données hiérarchiques, chacun de ces nœuds « enfants » n'a qu'un seul « parent », mais chaque parent peut avoir plusieurs enfants. Le premier nœud, au sommet de la hiérarchie, est appelé nœud racine. Lorsque des informations doivent être récupérées, l'arbre entier est parcouru en partant du nœud racine vers le bas. Comme l'ensemble de l'arbre doit être parcouru à chaque fois qu'un utilisateur effectue une recherche, le système est lent et peu flexible. Les bases de données modernes ont évolué pour inclure l'utilisation de hiérarchies multiples sur les mêmes données pour permettre une recherche plus rapide et plus facile.

Cependant, les données hiérarchiques sont encore très largement utilisées aujourd'hui. Les informations sur le personnel constituent une utilisation courante d'une structure de données hiérarchique. Dans une structure d'organigramme, vous avez le nœud racine PDG au sommet et une structure du personnel en dessous.

Développé par IBM dans les années 1960, le modèle de données hiérarchique est l'un des premiers types de modèles. Cependant, il a rapidement été remplacé par un modèle de données relationnel afin de surmonter certains des problèmes structurels importants inhérents à ce modèle.

Pourquoi la structure des données est-elle importante ?

La structure des données d'une entreprise est d'une importance vitale. Pour qu'une entreprise puisse saisir des informations, les traiter, les récupérer et les conserver, le choix du type de structure des données est absolument vital. Imaginez sur votre ordinateur, s'il n'y avait pas de structure de dossiers ou de conventions de dénomination. La capacité de trouver ou d'utiliser quoi que ce soit serait gravement compromise.

Au contraire, dans une entreprise, vous trouverez des dossiers classés selon des noms de services logiques. Dans ces services, les dossiers peuvent être classés par trimestre financier ou selon une autre méthode logique applicable à l'entreprise. Ensuite, à l'intérieur de ces dossiers, les fichiers individuels sont nommés de manière descriptive, souvent avec des dates ou des versions enregistrées dans un format spécifique. Tous ces éléments sont stockés en ordre alphabétique. Cela signifie que lorsqu'un employé a besoin d'accéder à un certain fichier, il lui est incroyablement facile de l'explorer et de trouver ce dont il a besoin. De la même manière, une bonne structure de données permet de mettre en place des pratiques commerciales efficaces, rapides et performantes.

Une énorme limitation de la data science en général est que, bien que le monde soit fluide et en 3D, les ordinateurs le perçoivent comme plat et immuable. Alors que les gens savent qu'il existe 200 races de chiens et 200 variétés de serpents, un ordinateur sait simplement qu'il y a 400 éléments. Une structure de données est essentielle pour regrouper, accéder, traiter et voir les données d'une manière interprétable par les ordinateurs.

Découvrez une solution unique pour gouverner, gérer et consommer toutes les shared data assets
Découvrez une solution unique pour gouverner, gérer et consommer toutes les shared data assets
Évitez les silos grâce à une approche tout-en-un de la gestion des ressources de données dans toute l'entreprise.

Quand une organisation doit-elle utiliser des données hiérarchiques ?

Actuellement, des organisations telles que les banques et les télécommunications utilisent des données hiérarchiques dans leurs applications. Cela s'explique par le fait qu'elles exigent des performances rapides et très précises. Le registre de Windows sur la plupart des ordinateurs est également un exemple de structure de données hiérarchique. Les projets de fabrication complexes utilisent aussi souvent des modèles de données hiérarchiques en raison des grands volumes de données.

Les données hiérarchiques sont mieux utilisées lorsque :

  • Les données peuvent être stockées sous la forme d'« arbre » avec une structure claire de parents et d'enfants.
  • Il est nécessaire de saisir la structure de la hiérarchie.
  • Les exigences en matière de volume de données sont élevées.
  • Les systèmes existants sont trop complexes pour migrer vers un modèle relationnel ou de réseau.

Alternatives aux données hiérarchiques

Données relationnelles

Il s'agit du modèle de données le plus courant, lorsque les données sont regroupées en relations. Une collection de variables est regroupée en catégories : vrai, faux ou nul. Ensuite, les éléments de données sont regroupés avec d'autres éléments qui partagent des variables et des attributs. Les groupes sont reliés entre eux par des relations. Ce groupe d'éléments est similaire à ce groupe. Contrairement aux données hiérarchiques qui sont confinées par leur nature un à plusieurs, il peut y avoir des relations plusieurs à plusieurs dans les données relationnelles. Les bases de données relationnelles utilisent le langage de requête structuré (SQL), le langage de requête standard.

Le modèle relationnel est excellent pour maintenir la cohérence des données entre les instances. Par exemple, si un client retire de l'argent d'un distributeur automatique, ce changement sera reflété dans le solde sur l'application téléphonique. Il est donc idéal pour garantir l'exactitude de plusieurs instances de données dans toute une série de systèmes.

Par rapport à une structure hiérarchique, au lieu de stocker les données dans une structure arborescente, elle les stocke dans des tableaux.

Modèle de réseau

Le modèle de réseau, comme le modèle de données relationnel, a été créé pour résoudre les défauts inhérents aux modèles de bases de données hiérarchiques. Dans un modèle de données en réseau, un enfant peut être lié à plusieurs parents, bien qu'ils soient appelés propriétaires et membres.

Ce modèle prend en charge toute une série de relations et est beaucoup plus fluide que les modèles hiérarchiques. Cependant, il est beaucoup plus compliqué, ce qui le rend difficile à gérer et à maintenir. Il n'est toujours pas aussi souple que les modèles de données relationnels, et toutes les relations ne peuvent pas être modélisées avec précision et liées aux propriétaires et aux membres.

Avantages des structures de données hiérarchiques

Les données sont facilement accessibles

Les liens entre les nœuds de données étant très bien définis, la recherche et l'extraction des données sont faciles. Comme le parent et les enfants sont stockés étroitement ensemble, la navigation et la récupération des données sont également rapides.

Intégrité référentielle

L'intégrité des données est toujours maintenue car toutes les modifications apportées à la table parent sont automatiquement modifiées dans la table enfant.

Structure simple

La structure de la relation parent-enfant, inversée, est immédiatement et facilement comprise. Elle est conceptuellement simple, dispose d'une chaîne hiérarchique claire au sein de la base de données et, par conséquent, offre des performances élevées. En raison de la simplicité de sa structure, elle favorise également le partage des données.

Bonne sécurité

La sécurité de la base de données est assurée et appliquée par le système de gestion de la base de données. Elle est tellement sécurisée que certains développeurs de langage de requête structuré affirment qu'il faut être un magicien pour en extraire les données.

eBook sur l'infrastructure de données unifiées
Rapport O'Reilly : Construire une infrastructure de données unifiée
Seul un tiers des entreprises se sont transformées en organisations axées sur les données. Quelle est la solution ? Découvrez-la dans cet eBook.

Les défis des structures de données hiérarchiques

Rigidité

Le modèle est inflexible et rigide, et l'ajout d'un nœud ou d'une relation peut perturber l'ensemble de la structure. Si une table parent et une table enfant ne sont pas liées, il est difficile d'ajouter une nouvelle entrée dans la table enfant, car des données supplémentaires doivent d'abord être saisies dans la table parent. De même, il est difficile de déplacer un enfant d'un niveau à l'autre.

Ne convient qu'aux relations de type « un à plusieurs »

Lorsqu'un parent a de nombreux enfants, ces relations sont faciles à montrer. En revanche, lorsqu'il existe des relations de type « plusieurs à plusieurs », elles sont plus difficiles à exprimer. Tout ce qui est plus complexe que les relations parent-enfant n'est pas pris en charge dans les données hiérarchiques. Les enfants ne peuvent pas être liés à d'autres parents, et il n'est pas possible de relier des enfants de différents parents.

Suppressions

Si un parent est supprimé, tous les enfants (et au-delà) sont automatiquement supprimés également. Imaginez que dans votre ordinateur de bureau, si vous supprimez un dossier, vous supprimez tous les fichiers qu'il contient. Cela ressemble à la façon dont une base de données hiérarchique fonctionne pour les suppressions.

Absence de normes

Il n'existe pas de langage spécifique de définition ou de manipulation des données. En général, le système s'appuie sur la rigidité pour faire respecter les normes, ce qui ne fonctionne pas toujours.

Complexe à mettre en œuvre

La mise en œuvre des systèmes de données hiérarchiques nécessite une compréhension des caractéristiques de stockage des données et une connaissance de la structure organisationnelle. Cela en fait un système compliqué et difficile à mettre en œuvre par rapport à d'autres systèmes.

L'avenir des modèles de données hiérarchiques

Bien qu'il existe encore aujourd'hui des modèles hiérarchiques par nature, ils sont en train de tomber en désuétude. Il serait inhabituel de mettre en œuvre un modèle de données hiérarchique dans un nouveau système. Leur rigidité, leur difficulté de mise en œuvre et leurs énormes restrictions les rendent peu économiques et encombrants à mettre en œuvre.

S'ils peuvent être efficaces en termes d'accès aux données, leur nature restrictive les rend moins aptes à faire face aux défis posés par l'écrasante variété des types et des volumes de données.

Bien qu'il s'afisse de l'un des premiers modèles de données, il était impossible de prévoir que la rapidité de la technologie le rendrait obsolète, mais c'est ce qui est en train de se passer. L'avenir est à la flexibilité, cette caractéristique même que les données hiérarchiques ne peuvent offrir. Les réseaux et les écosystèmes remplacent rapidement les hiérarchies par une méthode plus organique de stockage et d'accès aux données.