【问题标题】:What is the capacity of TinkerGraph in gremlin server?gremlin 服务器中 TinkerGraph 的容量是多少?
【发布时间】:2018-11-26 10:49:17
【问题描述】:

我已经为修补图运行了一个 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。

【问题讨论】:

    标签: gremlin tinkerpop3 gremlin-server tinkergraph


    【解决方案1】:

    一个图可以处理多少条边、顶点和大小?

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

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

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-04-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-30
      • 2011-12-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多