Pregunta

Estoy escribiendo una aplicación Ruby que almacena los datos del tipo de ascendencia. Es decir. Árbol genealógico.

Para el resto de la aplicación que estoy usando MongoDB para el almacenamiento, ya que se presta a una estructura jerárquica, sin embargo ascendencia datos no encaja en ese modelo, a pesar de que es jerárquica en un sentido. Tengo curiosidad por si alguien tiene una sugerencia sobre si debería estar intercambiando en una capa de base de datos más apropiado para manejar estos?

es decir. A se empareja con B (bidireccional) y tiene padres C y D. b tiene padres E y F. A y B tienen los niños G, H, I. G se empareja con H, y así sucesivamente.

Así que no es muy recursivo ya que un nodo tiene 2 nodos padre. Por lo tanto la incorporación no tiene sentido en MongoDB ya que ambos padres sería incrustar el mismo árbol por duplicado. Está más cerca de un gráfico social sólo es más rígido (sólo hay 2 tipos de relaciones). Estoy pensando conjuntos Redis funcionarían muy bien, pero antes de ir complicando la pila con Políglota persistencia, que estaba esperando poder obtener alguna información de otros que pueden haber diseñado estructuras similares. La otra preocupación que tengo con Redis es el almacenamiento de todos estos árboles en memoria podría no ser una buena idea, aunque si sólo estaba almacenando las relaciones en Redis con los datos del objeto en MongoDB documentos probablemente sería aceptable.

¿Fue útil?

Solución

Tal vez usted debe probar una base de datos gráfica como suena mucho más cerca del dominio. Y hay bastantes por ahí que podría probar http : //nosql.mypopescu.com/post/498705278/quick-review-of-existing-graph-databases

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top