一尘不染

持久图形数据(Java)

java

我有一个利用图(树状)自定义结构的应用程序。这些结构不是真正的树木,但几乎所有事物都连接在一起。数据量也很大(可以存在数百万个节点)。树节点的类型可以不同,以使其更有趣(继承)。我不想更改数据结构以容纳持久性存储。

我想保留这些数据而无需过多的工作。我已经选择了一些解决方案来解决此问题,但找不到任何完全适合我需要的东西。可能的选项:序列化,使用ORM的数据库(Hibernate?),使用JCR的数据库(JackRabbit?)以及其他功能?

性能很重要,因为它是一个基于GUI的“实时”应用程序(无批处理),并且可能有数百万个图节点应在内存和持久数据存储之间进行读写。

是否有人对存储此类数据有经验或想法?


阅读 160

收藏
2020-12-03

共1个答案

一尘不染

由于您的数据使用图形数据结构(基本上是:节点和边/关系),因此图形数据库将是一个很好的匹配。有关某些链接,请参见我在下一代数据库上的答案。我是Neo4j开源图形数据库项目的一部分,请参见此线程进行一些讨论。在像您这样的情况下使用Neo4j的一大优点是,可以轻松跟踪保持/激活对象或激活深度等。您可能不需要更改应用程序中的数据结构,但是当然需要一些额外的代码。《设计指南》提供了一个示例,说明您的代码如何与数据库交互。

2020-12-03