MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Stockage de la hiérarchie des répertoires dans un magasin de données clé-valeur

La méthode que vous utilisez actuellement s'appelle le modèle de liste de contiguïté.

Un autre modèle pour stocker des données hiérarchiques dans une base de données (relationnelle) est le modèle d'ensemble imbriqué. Son implémentation dans les bases de données SQL est bien connue. Voir également cet article pour l'algorithme modifié de traversée de l'arbre de précommande.

Une méthode très simple :vous pouvez stocker un chemin par objet - avec ceux-ci, il devrait être facile d'interroger les arbres dans les bases de données NOSQL :

{ path: "Color", ... }
{ path: "Color.Red", ... }
{ path: "Color.Red.Apple", ... }
{ path: "Color.Red.Cherry", ... }

Lorsque des nœuds seront supprimés ou renommés, certains chemins doivent être mis à jour. Mais en général, cette méthode semble prometteuse. Il vous suffit de réserver un caractère spécial comme séparateur. La surcharge de l'espace de stockage doit être négligeable.

edit :cette méthode est appelée chemin matérialisé

Enfin, voici une comparaison des différentes méthodes pour les données hiérarchiques dans les bases de données NOSQL.