AWS Neptune Gremlin在哈希边缘ID上分页

时间:2019-10-09 22:43:24

标签: gremlin tinkerpop amazon-neptune

我有一个非常大的数据集,接近5亿条边,几乎所有边都需要遍历。我试图通过分页处理IDS来并行化这些遍历。我的策略是尝试按ID(即MD5哈希)进行分页。我尝试了如下查询:

g.E().hasLabel('foo').has(id, TextP.startingWith('AAA')) for page 1 g.E().hasLabel('foo').has(id, TextP.startingWith('AAB'))用于第2页

但是每个查询似乎都在进行完整扫描,而不仅仅是一个子集。您如何建议我进行分页?

1 个答案:

答案 0 :(得分:1)

我建议您对查询运行profile步骤,以查看实际遍历的数量。

对我来说,在startingWith上使用id谓词似乎不是一种优化的解决方案,因为它可能使用哈希索引,而不是范围索引。 我会尝试在其他字符串属性上添加前缀,甚至添加一个随机的[1..n]'re​​plica'属性并使用.has('replica', i)进行过滤以获得最佳性能,尤其是在如此大的图形上。