TinkerGraph在gremlin服务器中的容量是多少?

时间:2018-06-17 08:46:48

标签: gremlin tinkerpop3 gremlin-server tinkergraph

我已经为修补程序图运行了一个gremlin服务器会话。

gremlin.graph=org.apache.tinkerpop.gremlin.tinkergraph.structure.TinkerGraph
gremlin.tinkergraph.vertexIdManager=LONG
gremlin.tinkergraph.graphLocation=data/db.kryo
gremlin.tinkergraph.graphFormat=gryo

在会话期间,我创建了许多顶点和边。目前,当我达到180k顶点和350k边缘时,服务器表现不佳。它无法执行简单的查询,例如:> g.V(999).values('name')

此外,当我关闭服务器时,它没有成功地将内容写入graphLocation=data/db.kryo,如上所述。所以我丢失了迄今为止创建的180k顶点和350k边缘的所有信息。

我想知道TinkerGraph和gremlin服务器的容量:

  • 图表可以处理多少个边,顶点和大小?
  • 有什么方法可以避免在关闭服务器时丢失数据 将内容写入文件?
  • 我应该考虑使用非内存图表吗?例如,neo4j。

1 个答案:

答案 0 :(得分:2)

  

图表可以处理多少个边,顶点和大小?

TinkerGraph仅受您提供给它的内存的限制。您可以通过增加-Xmx JVM设置来控制该内存。如果您的图表托管在Gremlin Server中并且您没有更改其-Xmx设置,那么您开始看到一些性能问题就不足为奇了,因为Gremlin Server默认情况下初始值相当低{{1} } - 显示here

  

在关闭服务器并将内容写入文件时,有没有办法避免数据丢失?

数据丢失可能与您遇到的内存问题有关。很难说。值得注意的是,TinkerGraph关闭时执行的磁盘刷新可能会遇到问题,图表越大,意味着,图表越大,将整个事物写入磁盘所需的时间越长,事情发生的可能性就越大。在写入期间出错(即电源故障)。

  

我应该考虑使用非内存图吗?例如,neo4j。

这取决于你的情况。如果您曾经一次加载不经常更改的图表并且只是进行分析,那么TinkerGraph可能是与任何其他启用TinkerPop的图形相比的最佳解决方案。另一方面,如果您有一个事务工作负载,其中图形不断变化(如后端到某种应用程序),那么您可能需要一个可以在每个事务结束时刷新到磁盘的图形,如Neo4j, JanusGraph等

无论您选择哪种图表,请务必为Gremlin Server分配适当数量的512m,以便它可以正常工作。