问题标签 [aws-neptune]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
gremlin - AWS Neptune Gremlin 查询给出 MemoryLimitExceededException
我们在 AWS Neptune 中有 370 万个节点和 1120 万个关系。这里我们需要这些节点:Organization
、Member
、和关系
:、Proposal
、、。Vote
Member-[:IN]->Organization
Vote-[:BELONGS_TO]->Proposal
Vote-[:VOTED_BY]->Member
Member-[:IN]->Organization
目标是构建查询,查找组织中的成对成员以及他们投票的提案数量vote.choice
。这是查询:
问题是查询为具有大量成员和投票的组织返回此错误:
可以在 AWS Neptune 上调整内存配置吗?或者应该优化查询以及优化它的方法是什么?
更新:
没有的查询match
:
原始密码查询:
amazon-web-services - 海王星上的 Gremlin 缓慢加入时间
我对 Neptune 中的请求性能有疑问。我有一个这样的图表:
hasId('A_id') (count: 1) -> out('has_group') (count: 12) -> out('has_class').hasLabel('C') (count: 9751) -> out('has_type ').hasLabel('D') (count: 9749) -> out('has_element') (count: 472370) -> hasLabel(Within(11 elements label)) (count: 107233)
我替换了所有的标签来简化,但图表完全是这样的。内部会大大降低查询的性能。更多细节 :
此请求不到 1 秒并返回 472370。
如果我像这样添加最后一个 hasLabel(whithin()) :
时间减少到 18 秒。当我对查询进行分析时,我们可以看到 joinTime 至少占用了 inside 查询执行时间的 90%:
请求似乎很简单,而且数量并不多。内部不是这里的好方法吗?你有一些改进查询的线索吗?
编辑1:
我尝试了@saikiranboga 提供的请求,索引操作的数量更大(除以10)但加入时间仍然很高。我很困惑。
之前的索引操作数:
之后
gremlin - AWS Neptune:在顶点之前删除边的性能更高?
使用 - 海王星引擎:1.0.5.1,Apache Tinkerpop:3.5.2
我的问题是关于顶点移除的性能 - 它与顶点的加载无关。
我们有一个 cron 作业可以清除有限数量(1000)的“过期”顶点。
我们获取并存储要删除的顶点在一个集合中。
然后我们通过 gV([vertices]).sideEffect(drop()).next() 删除这些。
这工作正常。
所有要删除的顶点将有 1 个 inE 和 1 个 outE。
当删除链接的顶点时,这些边显然会自动删除。
我想知道如果我们先抓住并移除边缘,然后移除顶点,海王星(在引擎盖下)是否会更有性能。
只是想知道是否有人(主要使用 Neptune,但它也可能是其他图形数据库的“东西”)已经研究过这个并且有任何确凿的证据。
非常感谢