10

分层数据结构通常存储在关系数据库中。这种存储灵活但扁平,因此每次查询都必须构建树结构。我想将论坛帖子存储为树结构,但应该可以有效地查询,例如按日期或作者选择帖子。

我想要一个可以从 Java 访问的开源数据库。

最好的方法是什么?沙发数据库?新4j?...?

4

2 回答 2

7

当我第一次遇到这个问题时,我发现了很棒的文章(链接)。

总而言之:在 RDBMS 世界中,有两种主要的树模型存储方法:

  • 邻接表模型
  • 嵌套集模型
于 2010-03-09T12:41:02.447 回答
4

这是一篇关于 Neo4j的精彩文章。一般来说,neo4j 看起来是您的最佳选择,因为文档数据库仍然相对平坦,可能会导致一些尴尬的设置(尽管仍然可行)。

Neo4j 作为一个图形数据库,应该非常适合存储你的树。我从未使用过它,但考虑到您的问题域,它似乎是最好的选择(至少是首先要调查的)。

至于“最佳方式”是什么,我认为这取决于您的实施和要求。我认为您应该针对图形数据库、文档数据库、对象数据库和关系数据库(或不)编写一个简单的测试,看看哪个适合您要解决的问题。

于 2010-03-09T12:53:54.223 回答