gremlin 服务器中 TinkerGraph 的容量是多少?
What is the capacity of TinkerGraph in gremlin server?
我有 运行 一个用于修补程序图的 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.
How many edges, vertex, and size of a graph can it handle?
TinkerGraph 仅受您分配给它的内存的限制。您可以通过增加 -Xmx
JVM 设置来控制该内存。如果您的图形托管在 Gremlin 服务器中并且您没有更改其 -Xmx
设置,那么您开始在那里看到一些性能问题就不足为奇了,因为默认情况下 Gremlin 服务器的初始值相当低 512m
- 显示 here.
Is there any way to avoid the loss of data while closing server and writing content to a file?
数据丢失可能与您遇到的内存问题有关。这很难说。值得注意的是,TinkerGraph 在关闭时执行的刷新到磁盘可能 运行 问题越大,图越大,这意味着图越大,将整个东西写入磁盘所需的时间就越长,写入期间出现问题的可能性(即电源故障)。
Should I consider using a not in-memory graph? For instance, neo4j.
这取决于你的情况。如果您一次加载一个不经常更改的图表并且只是进行分析,那么与任何其他支持 TinkerPop 的图表相比,TinkerGraph 可能是最好的解决方案。另一方面,如果您有一个图形不断变化的事务性工作负载(例如在某种应用程序的后端),那么您可能需要一个可以在每个事务结束时刷新到磁盘的图形,例如 Neo4j, JanusGraph 等
无论您选择哪种图表,请务必为 Gremlin 服务器分配适当数量的 -Xmx
,以便它能够正常工作。
我有 运行 一个用于修补程序图的 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.
How many edges, vertex, and size of a graph can it handle?
TinkerGraph 仅受您分配给它的内存的限制。您可以通过增加 -Xmx
JVM 设置来控制该内存。如果您的图形托管在 Gremlin 服务器中并且您没有更改其 -Xmx
设置,那么您开始在那里看到一些性能问题就不足为奇了,因为默认情况下 Gremlin 服务器的初始值相当低 512m
- 显示 here.
Is there any way to avoid the loss of data while closing server and writing content to a file?
数据丢失可能与您遇到的内存问题有关。这很难说。值得注意的是,TinkerGraph 在关闭时执行的刷新到磁盘可能 运行 问题越大,图越大,这意味着图越大,将整个东西写入磁盘所需的时间就越长,写入期间出现问题的可能性(即电源故障)。
Should I consider using a not in-memory graph? For instance, neo4j.
这取决于你的情况。如果您一次加载一个不经常更改的图表并且只是进行分析,那么与任何其他支持 TinkerPop 的图表相比,TinkerGraph 可能是最好的解决方案。另一方面,如果您有一个图形不断变化的事务性工作负载(例如在某种应用程序的后端),那么您可能需要一个可以在每个事务结束时刷新到磁盘的图形,例如 Neo4j, JanusGraph 等
无论您选择哪种图表,请务必为 Gremlin 服务器分配适当数量的 -Xmx
,以便它能够正常工作。