分层数据结构通常存储在关系数据库中。这种存储是灵活而平坦的,所以树结构必须与每个查询一起构建。我希望将论坛帖子存储为树状结构,但应该可以高效查询,例如按日期或作者选择帖子。如何在Java中存储树结构?
我想要一个可从Java访问的开源数据库。
这样做的最佳方法是什么? CouchDB的? Neo4j的? ...?
分层数据结构通常存储在关系数据库中。这种存储是灵活而平坦的,所以树结构必须与每个查询一起构建。我希望将论坛帖子存储为树状结构,但应该可以高效查询,例如按日期或作者选择帖子。如何在Java中存储树结构?
我想要一个可从Java访问的开源数据库。
这样做的最佳方法是什么? CouchDB的? Neo4j的? ...?
这里有一个关于Neo4j的一个great article。一般来说,它看起来像neo4j是你的最佳选择,因为文档数据库仍然相对平坦,并可能导致一些awkward setup(尽管如此)。
Neo4j作为一个图形数据库,应该非常适合存储你的树。我从来没有使用它,但考虑到你的问题领域,它似乎是最好的选择(至少首先要调查的那个)。
就“最佳方式”而言,我认为这取决于您的实施和要求。我想你应该针对图形数据库,文档数据库,object database和关系数据库(或不是)编写一个简单的测试,看看哪一个适合您要解决的问题。
ORM怎么样? – 2010-03-09 12:24:58
ORM会使处理更加方便,但底层数据结构仍然保持关系,可能性能不太好。 – deamon 2010-03-09 14:40:02
另请参见:[在关系数据库中存储分层数据的选项是什么?](http://stackoverflow.com/questions/4048151/what-are-the-options-for-storing-hierarchical-data-in-关系数据库) – cbare 2012-12-18 14:14:40