将Neo4j ImpermanentGraphDatabase用于包含大量数据的真实场景

时间:2017-05-22 09:18:35

标签: graph neo4j in-memory-database

我使用Neo4j根据存储在关系数据库中的数据对复杂图形进行计算,这些计算必须经常进行,因此自然解决方案是使用Neo4j动态创建无常的neo4j图。

我继续在互联网上找到类似下面的参考文献(Neo4j: is it a in-memory graph database?):

  

Neo4j有一个名为的精简变体   ImpermanentGraphDatabase。这个用于测试   只要。例如。当你开发一个图形启用应用程序你的单位   测试可能会使用它。不建议使用   ImpermanentGraphDatabase用于具有大量的真实场景   数据

我正在完成上述操作,使用ImpermanentGraphDatabase来实现具有数千个节点的真实场景,我可以在其中进行即时计算。 每次我需要动态计算时创建一个嵌入式数据库是不可行的,那么Neo4j为这种情况提供了什么解决方案呢?如果您将Neo4j ImpermanentGraphDatabase用于包含大量数据的真实场景,究竟会发生什么?

1 个答案:

答案 0 :(得分:0)

文中有一句“不”字。

同样在(免费)书籍“图形数据库”(download)中,仅建议非永久性服务器模式用于测试,而不是用于生产环境。如果要在本地使用图形(无群集),可以使用嵌入模式。请记住,图dbs总是有两个部分:存储和遍历引擎。但我认为,您正在寻找一个(密码)可查询的数据结构?值得一看TinkerPop / Gremlin(link)。

出于您的目的,它取决于要改变的部分。你的数据结构?计算公式?或只是价值观?如果图形是静态的,则只需更新数据(而不是图形数据库)。如果您的图表是动态的,您可以优化算法并使用不同的数据结构。图表并不总是最佳选择,树木,列表或字典也不是。