我正在写一个红宝石应用程序,其存储祖先类型的数据。即家谱。

有关我使用MongoDB的存储,因为它适合于层次结构的应用程序的其余部分,但祖先的数据并不完全适合这种模式,即使它是在一定意义上是分层的。我很好奇,如果任何人有我是否应该以更适当的数据库层交换处理这些建议?

即。 A被配对B(双向),具有父母C和D B具有父母E和F A和B有孩子G,H,I G被配对H,等等。

因此,由于一个节点具有2的父节点不是相当递归的。因此嵌入无厘头MongoDB中,因为双方父母将嵌入同一棵树一式两份。这是更接近社交图只有更刚性的(这里只有2类型的关系)。我想Redis的组会工作得很好,但在此之前我去多语种持久栈复杂,我希望我可以从别人谁可能设计类似的结构得到一些反馈。其他关注我有Redis的是所有存储在内存中,这些树可能不是一个好主意,但如果我只是用存储在MongoDB中的文档对象数据在Redis的关系,很可能会确定。

有帮助吗?

解决方案

也许你应该尝试一个图形数据库,因为它听起来更接近域。还有相当多的在那里你可以尝试 HTTP ://nosql.mypopescu.com/post/498705278/quick-review-of-existing-graph-databases

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top