首页 文章

如何在Java中存储树结构?

提问于
浏览
10

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

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

这样做的最佳方法是什么? CouchDB的? Neo4j的? ...?

2 回答

  • 7

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

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

    • 邻接列表模型

    • 嵌套集模型

  • 4

    这是关于Neo4j的great article . 一般来说,看起来neo4j是你最好的选择,因为文档数据库仍然相对平坦并且可能导致一些awkward setup(尽管仍然可行) .

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

    至于"best way"是什么,我认为这取决于您的实施和要求 . 我认为你应该对图形数据库,文档数据库,object database和关系数据库(或不是)编写一个简单的测试,看看哪个适合你试图解决的问题 .

相关问题