Gremlin 小精灵服务器中TinkerGraph的容量是多少?

Gremlin 小精灵服务器中TinkerGraph的容量是多少?,gremlin,tinkerpop3,gremlin-server,tinkergraph,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 在会话期间,我创建了许多顶点和边。目前,

我已经为修补程序图运行了一个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
一个图可以处理多少边、顶点和大小

TinkerGraph只受您给它的内存限制。您可以通过增加
-Xmx
JVM设置来控制该内存。如果您的图形托管在Gremlin Server中,并且您没有更改其
-Xmx
设置,那么您开始看到一些性能问题也就不足为奇了,因为Gremlin Server的默认初始值非常低,为
512m
-如图所示

在关闭服务器并将内容写入文件时,是否有任何方法可以避免数据丢失

数据丢失可能与您的内存问题有关。很难说。值得注意的是,TinkerGraph在关闭时进行的磁盘刷新可能会遇到问题,图形越大,意味着图形越大,将整个内容写入磁盘所需的时间越长,在写入过程中出错的可能性就越大(即断电)

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

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

无论您选择哪种图形,请确保为Gremlin服务器分配适当数量的
-Xmx
,以便它能够正确地执行其工作