Datastax中的Gremlin count()查询太慢了

时间:2018-05-15 08:24:31

标签: gremlin datastax-enterprise-graph

我在datastax enterprise中有3个节点,并在这些节点上加载了6500万个顶点和边。当我使用dse studio或gremlin控制台并在我的图表上运行gremlin查询时,查询太慢了。我定义了任何类型的索引并再次测试,但没有效果。 当我运行查询例如" g.v()。count()" cpu使用率和cpu负载平均没有太大的变化,如果我运行cql查询,分布在所有节点和cpu使用和所有节点上的cpu负载平均值是一个重大的变化 在这种情况下,有效gremlin查询的最佳实践或最佳配置是什么?

2 个答案:

答案 0 :(得分:4)

基于

count()的遍历应该通过OLAP与Spark一起执行,用于您正在使用的大小的图形。如果您使用基于标准OLTP的遍历,则此类查询可能需要很长的等待时间。

请注意,此规则适用于必须执行“表扫描”的任何图形计算(即触摸图形中的全部或非常大部分的顶点/边)。此问题并非特定于DSE Graph,并且几乎适用于任何图形数据库。

答案 1 :(得分:0)

经过对不同查询的多次测试后,我得出这样的结论:当你在顶点的属性上定义索引并找到特定的顶点时,gremlin对百万个顶点的计数查询有问题,例如** gV()。 hasLabel('成员')。(' C_ID',' 4242833')**此查询的时间低于1秒,这是可以接受的。问题在于为什么gremlin对百万个顶点的计数查询有问题?