Question

J'écris une application Ruby qui stocke des données de type ascendance. C'est à dire. Arbre généalogique.

Pour le reste de l'application que je utilise MongoDB pour le stockage car il se prête à une structure hiérarchique, mais l'ascendance données ne correspond pas tout à fait ce modèle, même si elle est hiérarchique dans un sens. Je suis curieux de savoir si quelqu'un a une suggestion si j'échangeront dans une couche de base de données plus appropriée pour gérer ces?

i.e.. A est apparié avec B (bidirectionnelle) et les parents C et D. B a des parents E et F. A et B ont les enfants G, H, I, G est couplé avec H, et ainsi de suite.

Il est donc pas tout à fait récursive depuis un nœud a 2 nœuds parents. Par conséquent, l'intégration n'a pas de sens dans MongoDB puisque les deux parents intégrer en double le même arbre. Il est plus proche d'un graphe social seulement plus rigide (il n'y a que deux types de relations). Je pense ensembles Redis serait très bien, mais avant je vais compliquer la pile avec la persistance Polyglot, j'espérais que je pourrais obtenir des commentaires des autres qui peuvent avoir conçu des structures similaires. L'autre préoccupation que j'ai avec Redis stocke tous ces arbres en mémoire peut-être pas une bonne idée, mais si je ne faisais que stocker les relations dans Redis avec les données d'objet dans les documents MongoDB il serait probablement ok.

Était-ce utile?

La solution

Peut-être que vous devriez essayer une base de données de graphique car il semble beaucoup plus proche du domaine. Et il y a un peu là-bas, vous pouvez essayer : //nosql.mypopescu.com/post/498705278/quick-review-of-existing-graph-databases

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top