对祖先类型数据库的建议:MongoDB,Redis等?

时间:2010-11-22 03:09:22

标签: ruby mongodb hierarchy redis polyglot

我正在编写一个存储祖先类型数据的ruby应用程序。即家谱。

对于应用程序的其余部分,我使用MongoDB进行存储,因为它适用于层次结构,但是祖先数据并不完全适合该模型,即使它在某种意义上是分层的。我很好奇是否有人建议我是否应该交换一个更合适的数据库层来处理这些?

即。 A与B配对(双向),父母C和D. B有父母E和F. A和B有子女G,H,I。G与H配对,依此类推。

因此,由于一个节点有2个父节点,所以它不是递归的。因此嵌入在MongoDB中没有意义,因为父母都会将同一个树嵌入到一起。它更接近社交图,只是更加严格(只有两种类型的关系)。我认为Redis集合可以很好地工作,但在我使用Polyglot持久化使堆栈复杂化之前,我希望我能从其他可能设计了类似结构的人那里获得一些反馈。我对Redis的另一个顾虑是将所有这些树存储在内存中可能不是一个好主意,尽管如果我只是将Redis中的关系存储在MongoDB文档中的对象数据中,那么它可能就没问题了。

1 个答案:

答案 0 :(得分:2)

也许您应该尝试图形数据库,因为它听起来更接近域。还有很多你可以尝试http://nosql.mypopescu.com/post/498705278/quick-review-of-existing-graph-databases