Domanda

Sto scrivendo un'applicazione rubino che memorizza i dati di tipo ascendenza. Cioè Albero genealogico.

Per il resto dell'applicazione sto usando MongoDB per l'archiviazione in quanto si presta ad una struttura gerarchica, tuttavia ascendenza dati non abbastanza in forma quel modello, anche se è gerarchica in un certo senso. Sono curioso di sapere se qualcuno ha un suggerimento se dovrei scambiando in uno strato di base di dati più appropriato per gestire questi?

vale a dire. A è in coppia con B (bidirezionale) e ha genitori C e D. B ha i genitori E ed F. A e B hanno figli G, H, I. G è accoppiato con H, e così via.

Quindi non è del tutto ricorsiva in quanto un nodo ha 2 nodi padre. Pertanto embedding non ha senso in MongoDB dal momento che entrambi i genitori sarebbe incorporare lo stesso albero in duplice copia. E 'più vicino ad un grafico sociale solo più rigido (ci sono solo 2 tipi di relazioni). Sto pensando set Redis avrebbe funzionato molto bene, ma prima di andare a complicare la pila con la persistenza Poliglotta, mi è stato sperando di poter ottenere un feedback dagli altri che possono essere progettate strutture simili. L'altra preoccupazione che ho con Redis memorizza tutti questi alberi in memoria potrebbe non essere una grande idea, anche se mi è stato solo la memorizzazione dei rapporti in Redis con i dati dell'oggetto in documenti MongoDB probabilmente sarebbe ok.

È stato utile?

Soluzione

Forse dovresti provare un database grafico come sembra molto più vicino al dominio. E ci sono un bel po 'là fuori che si poteva provare http : //nosql.mypopescu.com/post/498705278/quick-review-of-existing-graph-databases

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top