NoSQL DB qui prend en charge la hiérarchie

afeygin

NoSQL DB qui prend en charge la hiérarchie


Je suis nouveau dans les bases de données NoSQL, alors veuillez pardonner mon ignorance.

Je recherche un magasin d’objets distribués qui faciliterait la mise en œuvre d’une purge hiérarchique. Ce que je veux dire par là, c’est que, conceptuellement, les objets / documents seraient placés dans une structure de type dossier qui fait partie ou est séparée de leur clé. Lorsqu’un processus distribué termine une certaine tâche ou unité de travail, il peut vouloir purger toutes les données associées à cette unité de travail – qui peuvent se trouver dans un « dossier ».

Une idée est d’avoir une clé basée sur un URI. Par exemple, un objet peut avoir quelque chose comme:

 /System/systemId/Process/processId/Task/taskId/MyParentObj/parentId/MyObj/objId 

Ensuite, lorsque je veux purger toutes les données pour, disons ma tâche, je peux rechercher tous les objets dont les clés commencent par /MySystem/systemId/MyProcess/processId/MyTask/taskId et les supprimer.

Existe-t-il une base de données NoSQL (avec une API cliente .NET) qui prend en charge nativement ce type de structure sans avoir à analyser tous les objets du système?

Nous stockons potentiellement des téraoctets de données temporaires au cours d’un même processus distribué, de sorte que les bases de données uniquement en mémoire ne fonctionneraient pas pour nous.

Nous aimerions également faire quelques interrogations et énumérations de nos objets en fonction de la hiérarchie.

Barranka

Vous devriez peut-être jeter un œil à OrientDB

Réponses


 Markus W Mahlberg

Sans en savoir plus sur vos cas d’utilisation, il est assez difficile de faire une suggestion appropriée ici. Un certain nombre de SGBD correspondent au cas d’utilisation que vous décrivez, mais peuvent être totalement faux pour d’autres cas d’utilisation.

De plus, je dois ajouter que BigData nécessite une connaissance et une expérience approfondies pour configurer correctement le SGBD choisi. Veuillez vous assurer de bien comprendre les ramifications lors de la sélection d’un SGBD.

Comme vous ne précisez pas ce que vous voulez faire d’autre avec la base de données, je ne peux que vous donner un aperçu approximatif de très haut niveau.

En général, vous avez deux options principales, à mon humble avis. Soit vous pouvez utiliser une base de données graphique ou une base de données orientée document . S’il serait sûrement possible de modéliser des données hiérarchiques dans de nombreux autres types de bases de données, il sera incomparablement plus difficile de le faire efficacement.

Il existe une bonne explication des différentes méthodes de modélisation des structures arborescentes avec MongoDB . Je ne sais pas trop si cela peut être appliqué facilement à CouchDB ou à un autre SGBD basé sur des documents.

Je voudrais noter que vous pouvez avoir le meilleur des deux mondes combinés, si vous êtes un peu aventureux: Cayley , une base de données graphique, prend en charge plusieurs backends, dont MongoDB. Vous pouvez accéder aux données du graphique via l’API REST de Cayley ou un client , le meilleur support étant le client Go (Cayley est écrit en Go). De plus, vous auriez une base de données orientée document déployée.

Veuillez noter que Cayley est un peu hacky, pour l’instant. Mais pour les applications simples d’accès aux graphes comme la vôtre, il devrait bien faire le travail.

 

#en, #la, charge, db, hiérarchie, NoSQL, prend, qui

 

wiki

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *